2007-10-09 07:56:30 -04:00
|
|
|
|
|
|
|
(library (psyntax compat)
|
2007-10-09 08:54:28 -04:00
|
|
|
(export define-record make-parameter parameterize format gensym
|
2007-10-12 02:59:27 -04:00
|
|
|
eval-core symbol-value set-symbol-value!
|
|
|
|
file-options-spec make-struct-type)
|
2007-10-09 07:56:30 -04:00
|
|
|
(import
|
2007-10-09 08:54:28 -04:00
|
|
|
(only (ikarus compiler) eval-core)
|
2007-10-12 02:59:27 -04:00
|
|
|
(ikarus))
|
2007-10-09 07:56:30 -04:00
|
|
|
|
|
|
|
(define-syntax define-record
|
|
|
|
(syntax-rules ()
|
|
|
|
[(_ name (field* ...) printer)
|
|
|
|
(begin
|
2007-10-12 02:59:27 -04:00
|
|
|
(define-struct name (field* ...))
|
2007-10-09 07:56:30 -04:00
|
|
|
(module ()
|
|
|
|
(set-rtd-printer! (type-descriptor name)
|
|
|
|
printer)))]
|
|
|
|
[(_ name (field* ...))
|
2007-10-12 02:59:27 -04:00
|
|
|
(define-struct name (field* ...))])))
|
2007-10-09 07:56:30 -04:00
|
|
|
|