wip
This commit is contained in:
parent
106c097bc9
commit
2ad4f06ae9
|
@ -2199,26 +2199,6 @@
|
|||
|
||||
|
||||
|
||||
;;; {with-fluids}
|
||||
;;;
|
||||
|
||||
;; with-fluids is a convenience wrapper for the builtin procedure
|
||||
;; `with-fluids*'. The syntax is just like `let':
|
||||
;;
|
||||
;; (with-fluids ((fluid val)
|
||||
;; ...)
|
||||
;; body)
|
||||
|
||||
(defmacro with-fluids (bindings . body)
|
||||
(let ((fluids (map car bindings))
|
||||
(values (map cadr bindings)))
|
||||
(if (and (= (length fluids) 1) (= (length values) 1))
|
||||
`(with-fluid* ,(car fluids) ,(car values) (lambda () ,@body))
|
||||
`(with-fluids* (list ,@fluids) (list ,@values)
|
||||
(lambda () ,@body)))))
|
||||
|
||||
|
||||
|
||||
;;; {Module System Macros}
|
||||
;;;
|
||||
|
||||
|
|
|
@ -25,7 +25,15 @@
|
|||
;;; syntax-rules is adapted from scheme48-1.1/scheme/alt/syntax.scm
|
||||
|
||||
;;; Code:
|
||||
(mes-use-module (mes scm))
|
||||
|
||||
(define-module (mes syntax)
|
||||
#:export (define-syntax
|
||||
define-syntax-rule
|
||||
syntax-error
|
||||
silent-syntax-error
|
||||
id-pattern
|
||||
let-syntax))
|
||||
|
||||
(include-from-path "mes/syntax.scm")
|
||||
|
||||
(define (syntax-error message thing)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; -*-scheme-*-
|
||||
|
||||
;;; GNU Mes --- Maxwell Equations of Software
|
||||
;;; Copyright © 2016,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016,2018,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Mes.
|
||||
;;;
|
||||
|
@ -24,6 +24,24 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(define-module (srfi srfi-14)
|
||||
#:export (char-set
|
||||
char-set?
|
||||
char-set=
|
||||
char-set:whitespace
|
||||
char-set:digit
|
||||
char-set:upper-case
|
||||
char-set lst
|
||||
string->char-set
|
||||
string->char-set!
|
||||
char-set-adjoin
|
||||
char-set-contains?
|
||||
char-set-complement
|
||||
char-whitespace?
|
||||
char-set-copy
|
||||
char-upcase
|
||||
char-downcase))
|
||||
|
||||
;; FIXME: have structs
|
||||
(define (char-set . x)
|
||||
(cons '*char-set* x))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; -*-scheme-*-
|
||||
|
||||
;;; GNU Mes --- Maxwell Equations of Software
|
||||
;;; Copyright © 2016,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016,2018,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Mes.
|
||||
;;;
|
||||
|
@ -24,6 +24,10 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(define-module (srfi srfi-43)
|
||||
#:export (vector-map
|
||||
vector-for-each))
|
||||
|
||||
(define (vector-map f v)
|
||||
(let* ((k (vector-length v))
|
||||
(n (make-vector k)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
if [ "$MES" != guile ]; then
|
||||
MES_BOOT=boot-03.scm exec ${MES-mes} < $0
|
||||
MES_BOOT=boot-02.scm exec ${MES-bin/mes} < $0
|
||||
fi
|
||||
exec ${MES-mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests boot)' -s "$0" "$@"
|
||||
!#
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
if [ "$MES" != guile ]; then
|
||||
MES_BOOT=boot-02.scm exec ${MES-mes} < $0
|
||||
MES_BOOT=boot-02.scm exec ${MES-bin/mes} < $0
|
||||
fi
|
||||
exec ${MES-mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests boot)' -s "$0" "$@"
|
||||
!#
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests fluids)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -27,9 +29,6 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes fluids))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(define a (make-fluid))
|
||||
(define b (make-fluid))
|
||||
(define c #f)
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests let-syntax)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -24,12 +26,8 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests let-syntax)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes syntax))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests let)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -24,12 +26,8 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests let)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes let))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-13)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -27,9 +29,6 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-13))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-13)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -27,9 +29,6 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-13))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-14)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -28,9 +30,6 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-14))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-16)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -24,12 +26,8 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (tests srfi-16)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-16))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests srfi-43)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; -*-scheme-*-
|
||||
|
||||
;;; GNU Mes --- Maxwell Equations of Software
|
||||
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Mes.
|
||||
;;;
|
||||
|
@ -25,12 +27,8 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
|
||||
(define-module (tests srfi-43)
|
||||
#:use-module (srfi srfi-43)
|
||||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (srfi srfi-43))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -38,15 +38,7 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
;; bootstrap test
|
||||
(primitive-load "module/mes/test.scm")
|
||||
(primitive-load "mes/module/srfi/srfi-9-struct.mes")
|
||||
(primitive-load "mes/module/srfi/srfi-9/gnu-struct.mes")
|
||||
(define-macro (mes-use-module . rest) #t)
|
||||
|
||||
;; (primitive-load "mes/module/srfi/srfi-9-vector.mes")
|
||||
;; (primitive-load "mes/module/srfi/srfi-9/gnu-vector.mes")
|
||||
|
||||
(mes-use-module (srfi srfi-9))
|
||||
(mes-use-module (srfi srfi-9 gnu))
|
||||
(mes-use-module (mes test)))
|
||||
(primitive-load "mes/module/srfi/srfi-9/gnu-struct.mes"))
|
||||
(else))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests syntax)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -27,9 +29,6 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes test))
|
||||
(mes-use-module (mes syntax))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#! /bin/sh
|
||||
# -*-scheme-*-
|
||||
MES_BOOT=boot-5.mes
|
||||
export MES_BOOT
|
||||
exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests vector)' -s "$0" "$@"
|
||||
!#
|
||||
|
||||
|
@ -27,9 +29,6 @@ exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests
|
|||
#:use-module (mes mes-0)
|
||||
#:use-module (mes test))
|
||||
|
||||
(mes-use-module (mes scm))
|
||||
(mes-use-module (mes test))
|
||||
|
||||
(pass-if "first dummy" #t)
|
||||
(pass-if-not "second dummy" #f)
|
||||
|
||||
|
|
Loading…
Reference in New Issue