diff options
author | Andy Wingo <wingo@pobox.com> | 2008-05-03 18:32:46 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2008-05-03 18:32:46 +0200 |
commit | 849cefacf15c265a091aa7d582d14b84f82ddcda (patch) | |
tree | 1a2b4dd95e4ac851cad8906db3dc72755dacd6e8 /module/system/base/language.scm | |
parent | 1aa0dd2b4529d19b78f344c921fb71e38fbbee19 (diff) | |
download | guile-849cefacf15c265a091aa7d582d14b84f82ddcda.tar.gz |
unify variant types and records; also make-foo instead of <foo>
* module/system/base/syntax.scm (define-record): Rework to separate the
type and its constructor. Now (define-record (<foo> bar)) will create
`make-foo' as the constructor, not `<foo>'. Also the constructor now
takes either keyword or positional arguments, so that it can be used as
the implementation of variant types as well.
(|): Map directly to define-record instead of rolling our own thing.
* module/language/scheme/translate.scm:
* module/system/base/language.scm:
* module/system/il/compile.scm:
* module/system/il/ghil.scm:
* module/system/il/glil.scm:
* module/system/repl/common.scm:
* module/system/vm/assemble.scm:
* module/system/vm/debug.scm: Change instances of record creation to use
the make-foo procedures instead of <foo>. Adjust module exports as
necessary.
Diffstat (limited to 'module/system/base/language.scm')
-rw-r--r-- | module/system/base/language.scm | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/system/base/language.scm b/module/system/base/language.scm index 44dda1f64..57396e340 100644 --- a/module/system/base/language.scm +++ b/module/system/base/language.scm @@ -36,7 +36,7 @@ )) (define-macro (define-language name . spec) - `(define ,name (,<language> :name ',name ,@spec))) + `(define ,name (,make-language :name ',name ,@spec))) (define (lookup-language name) (let ((m (resolve-module `(language ,name spec)))) |