mes: Upgrade Guile module support.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 29 Apr 2018 16:35:22 +0000 (18:35 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 29 Apr 2018 16:35:22 +0000 (18:35 +0200)
* module/mes/boot-0.scm (define-module): New macro with minimal Guile support.
  (use-modules): New macro.

module/mes/boot-0.scm
module/mes/getopt-long.mes
module/mes/optargs.mes
module/mes/pmatch.mes
module/srfi/srfi-16.mes

index b4c107527fcb2f67121004b006f6f6d38ad68151..a0768719c86bb66fa722d7added9482ee3fd6b66 100644 (file)
 (mes-use-module (mes catch))
 
 (mes-use-module (mes posix))
+
+(define-macro (define-module module . rest)
+  `(if ,(and (pair? module)
+             (= 1 (length module))
+             (symbol? (car module)))
+       (define (,(car module) . arguments) (main (command-line)))))
+
+(define-macro (use-modules . rest) #t)
+
 ;; ;; end boot-0.scm
 
 (mes-use-module (mes getopt-long))
index 0193bfefb0f1aff4b0e7ca665f5b41db383ef855..b2c66fd774ba694ba1366b42d863cb6d166d405f 100644 (file)
@@ -26,5 +26,4 @@
 (mes-use-module (srfi srfi-9))
 (mes-use-module (srfi srfi-13))
 (mes-use-module (mes optargs))
-(define-macro (define-module module . rest) #t)
 (include-from-path "mes/getopt-long.scm")
index 269c7ca133cb89d6ee9e585e6e642cc435bc4f01..cf6e67023ededb2ad9d2e3a9d5bb3f2365bed540 100644 (file)
@@ -32,7 +32,6 @@
 (define-macro (set-procedure-property! proc key value)
   proc)
 
-(define-macro (define-module module . rest) #t)
 (include-from-path "mes/optargs.scm")
 
 (define-macro (define-macro* NAME+ARGLIST . BODY)
index 114825ee3a2ebe0c83612fc88d35774a084e3ee7..3f6fba4ca9d7ce28e8d630ea2dec1187a0a57e89 100644 (file)
@@ -22,9 +22,6 @@
 
 ;;; Code:
 
-(define-macro (define-module module . rest) #t)
-(define-macro (use-modules . rest) #t)
-
 ;;(mes-use-module (mes guile))
 (mes-use-module (mes quasiquote))
 (mes-use-module (mes syntax))
index be69949a9ac4fab1fdad218353c9bb96d5f635e1..c42d4a864313fea1bdfcfe0ba0eaa93b1701489c 100644 (file)
@@ -22,6 +22,5 @@
 
 ;;; Code:
 
-(define-macro (define-module module . rest) #t)
 (define (cond-expand-provide . rest) #t)
 (include-from-path "srfi/srfi-16.scm")