summaryrefslogtreecommitdiff
path: root/module/system/base/language.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2008-05-03 18:32:46 +0200
committerAndy Wingo <wingo@pobox.com>2008-05-03 18:32:46 +0200
commit849cefacf15c265a091aa7d582d14b84f82ddcda (patch)
tree1a2b4dd95e4ac851cad8906db3dc72755dacd6e8 /module/system/base/language.scm
parent1aa0dd2b4529d19b78f344c921fb71e38fbbee19 (diff)
downloadguile-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.scm2
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))))