prolog? macro expansion issue
NHALX opened this issue · 3 comments
NHALX commented
(macroexpand [prolog? [is X [function *]]])
Should produce the following, but it crashes instead (Exception in condition-irritants: # is not a condition of type &irritants)
[let NPP [shen.start-new-prolog-process]
[let X [shen.newpv NPP]
[unify X [shen.deref
[lambda V1435 [lambda V1436 [* V1435 V1436]]] NPP] NPP
[freeze true]]]]
tizoc commented
This is the same as #6, if you use the version from master you shouldn't see this kind of exception (the one that says Exception in condition-irritants: # is not a condition of type &irritants
) anymore.
It still doesn't work in master (with a different exception), but it doesn't work in my copy of Shen/SBCL either:
Shen, copyright (C) 2010-2015 Mark Tarver
www.shenlanguage.org, Shen 20.1
running under Common Lisp, implementation: SBCL
port 2.2 ported by Mark Tarver
(0-) (macroexpand [prolog? [is X [function *]]])
; in: DEFUN shen.f1370
; #'(LAMBDA ((|shen.deref| V1371 |ProcessN|))
; #'(LAMBDA ((|shen.deref| V1372 |ProcessN|))
; (|shen.multiply| (|shen.deref| V1371 '|ProcessN|)
; (|shen.deref| V1372 '|ProcessN|))))
;
; caught ERROR:
; Required argument is not a symbol: (shen.deref V1371 ProcessN)
;
; compilation unit finished
; caught 1 ERROR condition
[shen.f1370 [shen.start-new-prolog-process] [freeze true]]
Which port are you using to make that work? Is that Shen Professional?
NHALX commented
Yeah, it was on Shen Pro v12, SBCL, port 2.1.