mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-04 11:10:27 +02:00
object file is too small. * doc/guile-vm.texi: Documented `make-closure'. Improved the documentation of `load-program'. * testsuite: New directory. * configure.in: Added `testsuite/Makefile' to `AC_OUTPUT'. * Makefile.am (SUBDIRS): Added `testsuite'. * src/vm_engine.h (VM_CHECK_OBJECT): New option. (CHECK_OBJECT): New macro. * src/vm_system.c (object-ref): Use VM_CHECK_OBJECT. * module/system/vm/assemble.scm (preprocess): Commented out the debugging code. * benchmark/lib.scm (do-loop): New procedure. git-archimport-id: lcourtes@laas.fr--2005-mobile/guile-vm--mobile--0.6--patch-2
14 lines
384 B
Scheme
14 lines
384 B
Scheme
(define the-struct (vector 1 2))
|
|
|
|
(define get/set
|
|
(make-procedure-with-setter
|
|
(lambda (struct name)
|
|
(case name
|
|
((first) (vector-ref struct 0))
|
|
((second) (vector-ref struct 1))
|
|
(else #f)))
|
|
(lambda (struct name val)
|
|
(case name
|
|
((first) (vector-set! struct 0 val))
|
|
((second) (vector-set! struct 1 val))
|
|
(else #f)))))
|