* 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.
|
||
|---|---|---|
| .. | ||
| base32.scm | ||
| build-utils.scm | ||
| builders.scm | ||
| derivations.scm | ||
| guix-build.sh | ||
| guix-daemon.sh | ||
| guix-download.sh | ||
| guix-gc.sh | ||
| guix-hash.sh | ||
| guix-package.sh | ||
| guix-register.sh | ||
| hash.scm | ||
| monads.scm | ||
| nar.scm | ||
| packages.scm | ||
| records.scm | ||
| snix.scm | ||
| store.scm | ||
| test.drv | ||
| ui.scm | ||
| union.scm | ||
| utils.scm | ||