diff options
author | Eduardo Julian | 2015-01-19 01:36:16 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-01-19 01:36:16 -0400 |
commit | a1d619ac4679f246a92ee5e557ed1341f5629221 (patch) | |
tree | cf013485e6d55ec63581c25f0eef4be632fcafed /test2.lux | |
parent | 555d0181fa1d76f02d1b86843123eda494c0fbec (diff) |
[Enhancement]
.class files are now stored inside an "output" directory.
Diffstat (limited to '')
-rw-r--r-- | test2.lux | 28 |
1 files changed, 19 insertions, 9 deletions
@@ -388,15 +388,6 @@ (lambda [state] (#Ok [state state]))) -(def monadic-dup - (exec [foo get-state - bar get-state - baz (return 1000)] - (return (+ (+ foo bar) baz)))) - -(def (run-state monad state) - (monad state)) - (def list-map #Nil) (def (put key val map) @@ -424,6 +415,25 @@ [?key ?val] (fold concat "" (list "#" ?key " " (show ?val))))) +(def (within slot monad) + (lambda [state] + (let =return (monad (get slot state)) + (case =return + (#Ok ?state ?value) + (#Ok (put slot ?state state) ?value) + + _ + =return)))) + +(def monadic-dup + (exec [foo get-state + bar get-state + baz (return 1000)] + (return (+ (+ foo bar) baz)))) + +(def (run-state monad state) + (monad state)) + (def (interpose elem list) (case list (#Cons x (#Cons y list')) |