diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-04-27 23:19:11 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-04-28 23:41:12 +0200 |
commit | ada3df03e33f686467ce4e887381e8753a3e603b (patch) | |
tree | 2843b5569e78938c3259c2bdb390518adf157012 /guix | |
parent | 0c21d92b1cb0f7fa2b2d43cae1d84d32ccfc1393 (diff) | |
download | gnu-guix-ada3df03e33f686467ce4e887381e8753a3e603b.tar gnu-guix-ada3df03e33f686467ce4e887381e8753a3e603b.tar.gz |
monads: Hide 'derivation-expression' and 'lower-inputs'.
* guix/monads.scm: Unexport 'lower-inputs' and 'derivation-expression'.
(text-file*): Add comment about the switch to 'gexp->derivation'.
(lower-inputs): Add comment about its doom.
(derivation-expression): Likewise.
* guix/gexp.scm (lower-inputs*): Rename to...
(lower-inputs): ... this. Update callers.
* tests/monads.scm (derivation-expression): New procedure.
* doc/guix.texi (The Store Monad): Use 'gexp->derivation' instead of
'derivation-expression'. Remove documentation of
'derivation-expression'.
* guix/ui.scm (read/eval): Use THE-ROOT-MODULE so that macros are
properly expanded.
* tests/guix-build.sh: Use 'gexp->derivation' instead of
'derivation-expression'.monads: Hide 'derivation-expression' and 'lower-inputs'.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/gexp.scm | 5 | ||||
-rw-r--r-- | guix/monads.scm | 8 | ||||
-rw-r--r-- | guix/ui.scm | 2 |
3 files changed, 7 insertions, 8 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm index 9dd83f5370..01084c2620 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -66,10 +66,9 @@ (define raw-derivation (store-lift derivation)) -(define (lower-inputs* inputs) +(define (lower-inputs inputs) "Turn any package from INPUTS into a derivation; return the corresponding input list as a monadic value." - ;; XXX: This is like 'lower-inputs' but without the "name" part in tuples. (with-monad %store-monad (sequence %store-monad (map (match-lambda @@ -101,7 +100,7 @@ The other arguments are as for 'derivation'." (define %modules modules) (define outputs (gexp-outputs exp)) - (mlet* %store-monad ((inputs (lower-inputs* (gexp-inputs exp))) + (mlet* %store-monad ((inputs (lower-inputs (gexp-inputs exp))) (sexp (gexp->sexp exp #:outputs outputs)) (builder (text-file (string-append name "-builder") (object->string sexp))) diff --git a/guix/monads.scm b/guix/monads.scm index db8b645402..0e99cb37f1 100644 --- a/guix/monads.scm +++ b/guix/monads.scm @@ -57,9 +57,7 @@ text-file* package-file package->derivation - built-derivations - derivation-expression - lower-inputs) + built-derivations) #:replace (imported-modules compiled-modules)) @@ -356,6 +354,7 @@ and store file names; the resulting store file holds references to all these." (lambda (port) (display ,(computed-text text inputs) port)))) + ;; TODO: Rewrite using 'gexp->derivation'. (mlet %store-monad ((inputs (lower-inputs inputs))) (derivation-expression name (builder inputs) #:inputs inputs))) @@ -376,7 +375,7 @@ OUTPUT directory of PACKAGE." (define (lower-inputs inputs) "Turn any package from INPUTS into a derivation; return the corresponding input list as a monadic value." - ;; XXX: Should probably be in (guix packages). + ;; XXX: This procedure is bound to disappear with 'derivation-expression'. (with-monad %store-monad (sequence %store-monad (map (match-lambda @@ -390,6 +389,7 @@ input list as a monadic value." inputs)))) (define derivation-expression + ;; XXX: This procedure is superseded by 'gexp->derivation'. (store-lift build-expression->derivation)) (define package->derivation diff --git a/guix/ui.scm b/guix/ui.scm index 944c9f87fa..259dddd481 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -241,7 +241,7 @@ interpreted." str args))))) (catch #t (lambda () - (eval exp the-scm-module)) + (eval exp the-root-module)) (lambda args (leave (_ "failed to evaluate expression `~a': ~s~%") exp args))))) |