diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-10-02 21:58:19 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-10-03 23:12:20 +0200 |
commit | aeb7ec5c9a67c9936b5d01d6e933cf4c282058d2 (patch) | |
tree | 6fc9c9260879b5a359ff5f63668ff3db204c89fb /gnu | |
parent | d9f0a23704a038640329fae6e2273e5813cdb8ab (diff) | |
download | patches-aeb7ec5c9a67c9936b5d01d6e933cf4c282058d2.tar patches-aeb7ec5c9a67c9936b5d01d6e933cf4c282058d2.tar.gz |
monads: Allow resolution of a monad's bind/return at expansion time.
* guix/monads.scm (<monad>): Turn in a raw SRFI-9 record type.
(define-monad): New macro.
(with-monad): Add a case for when MONAD is a macro.
(identity-return, identity-bind, store-return, store-bind): Inline.
(%identity-monad, %store-monad): Use 'define-monad'.
* tests/monads.scm ("monad?"): New test.
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions