the answer to my previous post.
say you do something like this, which I consider to be perfectly
legal scheme.
(define-macro (begin-if pred . body)
`(if ,pred
(begin ,_at_body)))
(define (set-car! cell new)
(begin-if (not (eq? (car cell) new))
;; do something here. I'm writing code for a box and pointer
;; diagrammer that updates itself dynamically.
(real:set-car! cell new)))
say you then do the same for set-cdr, now, what happens?
since stk uses the set-cxr! procedures for its primitives and libraries,
and, notably, macro expansion, this will fail. I really think STk
should protect itself from this type of thing. I would also like to
rebind set!, hopefully I will be able to get this to work, but in
any case, I'm redefining system procedures where all I want is to change
the use of these procedures for user code. This makes everything else
slow, and it doesn't need to be.
-josh
Received on Mon Jul 03 1995 - 10:31:28 CEST
This archive was generated by hypermail 2.3.0
: Mon Jul 21 2014 - 19:38:59 CEST