summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-04-27 23:19:11 +0200
committerLudovic Courtès <ludo@gnu.org>2014-04-28 23:41:12 +0200
commitada3df03e33f686467ce4e887381e8753a3e603b (patch)
tree2843b5569e78938c3259c2bdb390518adf157012 /guix
parent0c21d92b1cb0f7fa2b2d43cae1d84d32ccfc1393 (diff)
downloadgnu-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.scm5
-rw-r--r--guix/monads.scm8
-rw-r--r--guix/ui.scm2
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)))))