summaryrefslogtreecommitdiff
path: root/module/oop/goops.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-11-28 01:19:31 +0100
committerAndy Wingo <wingo@pobox.com>2009-12-01 21:00:26 +0100
commit83c76550024c4a96c06cb75d40ab0ba122a0a57c (patch)
tree495c6429a3ad37f0937e1901eb4082e9d08d28ab /module/oop/goops.scm
parentc58b8c5aed8884f044e7c3af116e649e7e855381 (diff)
downloadguile-83c76550024c4a96c06cb75d40ab0ba122a0a57c.tar.gz
goops moving away from evaluator opcodes, and a primitive compilation fix
* module/oop/goops.scm (@slot-ref, @slot-set!): Define "primitives" for these. Probably should do something more general, though, allowing @struct-ref. * module/language/tree-il/primitives.scm (add-interesting-primitive!): Error if the primitive isn't bound.
Diffstat (limited to 'module/oop/goops.scm')
-rw-r--r--module/oop/goops.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 2e96e0b03..bf13e3830 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -84,6 +84,10 @@
(eval-when (eval load compile)
(use-modules ((language tree-il primitives) :select (add-interesting-primitive!)))
(add-interesting-primitive! 'class-of)
+ (define (@slot-ref o n)
+ (struct-ref o n))
+ (define (@slot-set! o n v)
+ (struct-set! o n v))
(add-interesting-primitive! '@slot-ref)
(add-interesting-primitive! '@slot-set!))