22fb903209
Remove unnecessary state monad implementation
...
(monad 'state) is synonymous with (transformer 'state 'identity). The
monad macro has been updated to reflect that.
2014-07-09 22:37:16 -04:00
99be83ee71
Add macros to simplify monad usage
2014-07-09 22:28:06 -04:00
Correl Roush
0914cf5779
Rename modules with calrissian- prefix
2014-07-09 21:55:27 -04:00
a45fda11a7
Remove lfe sample rebar plugin dependency
2014-07-09 01:44:09 -04:00
e653ea0b84
Apply the generic monad tests to state-transformer
2014-07-09 01:42:04 -04:00
76ffe600ef
Fix state-transformer:modify-and-return
...
The method was returning a single value, rather than the necessary tuple
required for binding to work.
2014-07-09 01:42:04 -04:00
d399492679
Modify the monad test macros to work with state
...
If the monad being tested implements the new state behaviour, evaluate
the expected value and the result by running them both against a default
state before comparing them.
2014-07-09 01:42:04 -04:00
abf8291058
Fix monad behaviour callback
2014-07-09 01:39:47 -04:00
1ee02b261a
Add state monad and behaviour
2014-07-09 01:39:22 -04:00
4ec1a9897d
wip: modify-and-return
2014-05-13 19:40:37 -04:00
4db1e51ab7
fixup state transformer monad
2014-05-13 19:31:15 -04:00
02ada611df
Remove monad atom evaluation skipping in macros
2014-05-13 19:30:46 -04:00
5721c3fc58
State Transformer
2014-05-12 00:21:24 -04:00
f88d977017
Generalize calls to monad functions
...
Use call instead of : to call functions on monad modules in order to
support tuple modules. This will come in handy when implementing monad
transformers.
2014-05-11 17:25:17 -04:00
df4d65f0b3
Add a Travis-CI build status image to the README
2014-04-25 14:05:13 -04:00
eec3555383
Add an error monad example to the README
2014-04-25 14:03:54 -04:00
de418111bb
Error monad
2014-04-25 13:02:16 -04:00
fdfdd8b085
Clean up maybe monad tests
...
Removed redundant tests
2014-04-25 01:53:29 -04:00
8ffd854ee2
Update .travis.yml
2014-04-25 01:43:50 -04:00
92b6ca9851
Update README to list the Identity monad
2014-04-25 01:30:46 -04:00
7a6a23e92c
Identity monad
2014-04-25 01:27:47 -04:00
7367dc2d05
Add fail macro
2014-04-25 01:27:13 -04:00
888effbf13
Rename 'do' to 'do-m'
...
'do' is a built-in lisp macro
2014-04-25 01:11:33 -04:00
f923b68374
Add sequence, more generic monad tests
2014-04-25 01:06:19 -04:00
7bd6d5963e
Delete old 'maybe' include file
2014-04-25 00:21:06 -04:00
323cf28830
Add generic tests for monad laws
2014-04-25 00:20:10 -04:00
010e2c9327
Renamed project to Calrissian
2014-04-24 16:08:27 -04:00
c0441ca1e7
Generalized monad interface
2014-04-24 15:37:45 -04:00
ecd20c50ec
Fix do notation expressions without bindings
2014-04-24 09:49:37 -04:00
615d427fa8
Maybe
2014-04-24 00:47:45 -04:00