David St-Hilaire wrote:
Christoph Bauer wrote:
- is there a way to copy a record (define-structure) or to convert it to a list, like table-copy and table->list? for tables
For copying, there happens to be a function in the Gambit _io part which does what you want:
(define-prim (##readtable-copy rt) (let ((copy (##vector-copy rt))) (##subtype-set! copy (macro-subtype-structure)) copy))
so you could just use that one.
For turning into a list, you can mis-use |##vector->list|.
Note that those don't do type checking so be sure you actually pass them a structure (check with |##structure?|).
The syntax-case form is not supported by default by gambit-c, it is rather the "lower level" define-macro form which is used. If you want to use syntax-case macros, you have to include it with:
(include "~~/syntax-case.scm")
This should probably be:
(load "~~/syntax-case")
without the suffix, so it can be compiled (like with '(compile-file (path-expand "~~/syntax-case")) ) and the compiled object is loaded.
Christian.