Implement locals and foldl, which is the direction we should have been folding to not reverse the params/locals anyway
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
|
||||
(let (
|
||||
|
||||
foldl (let (helper (rec-lambda recurse (f z v i) (if (= i (len v)) z
|
||||
(recurse f (f z (idx v i)) v (+ i 1)))))
|
||||
(lambda (f z v) (helper f z v 0)))
|
||||
foldr (let (helper (rec-lambda recurse (f z v i) (if (= i (len v)) z
|
||||
(f (idx v i) (recurse f z v (+ i 1))))))
|
||||
(lambda (f z v) (helper f z v 0)))
|
||||
@@ -18,6 +21,6 @@
|
||||
(recurse (eval [ [vau '_ [(idx (idx dict i) 0)] [ [vau 'inner [] 'inner] ] ] (idx (idx dict i) 1) ] env) dict (+ i 1)))))
|
||||
(lambda (env dict) (helper env dict 0)))
|
||||
)
|
||||
(provide foldr empty_dict put get-value add-dict-to-env)
|
||||
(provide foldl foldr empty_dict put get-value add-dict-to-env)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user