Skip to content

Commit 4c30704

Browse files
committed
Value: iterNValue: fixpoint implementation
1 parent 2ad5a13 commit 4c30704

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/Nix/Value.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -504,11 +504,11 @@ type NValue t f m = Free (NValue' t f m) t
504504
iterNValue
505505
:: forall t f m r
506506
. MonadDataContext f m
507-
=> ((Free (NValue' t f m) t -> r) -> t -> r)
507+
=> ((NValue t f m -> r) -> t -> r)
508508
-> (NValue' t f m r -> r)
509-
-> Free (NValue' t f m) t
509+
-> NValue t f m
510510
-> r
511-
iterNValue k f = iter f . fmap (k (iterNValue k f))
511+
iterNValue k f = fix ((iter f .) . fmap . k) -- already almost iterNValue'
512512

513513
iterNValueByDiscardWith
514514
:: MonadDataContext f m

0 commit comments

Comments
 (0)