[CM] S7 integrated in TIC-80, and bug reports
David St-Hilaire
sthilaire.david at gmail.com
Wed Feb 1 17:48:26 PST 2023
Hi! First I hope that I'm sending this to the right place! I'm working at
integrating S7 into the tic-80 fantasy console (https://tic80.com/)
I've been craving using scheme for these fun toys and decided to add
support to this open source console. It's going very well and should be
done soon!
While I was texting my integration, I came across two issues that seems
like S7 bugs:
- if you can map inside a define-macro you get a 100% crash. Si e for
instance
(define-macro (test x . args) (list ,@(map car args)))
(test 10 ('x 1) ('y 2))
;; Seg fault
- The second issue is the fact that macro expansion seems to happen after
set! arguments are parsed. For example this works:
(let ((x (cons 1 2))) (set! (car x) 3) x) ; (3 2)
Yet this doesn't:
(define-macro (test x) `(car ,x))
(let ((x (cons 1 2))) (set! (test x) 3) x) ; error
I don't know if these are real issues or of that are known but I wanted to
report them because they caused me some problems!
I'm really at how easy it was to use and embed S7! It was really a breeze!
Well done!
ps: it seems that performance wise it runs a bit slowly though
Cheers!
--
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/pipermail/cmdist/attachments/20230201/396dca75/attachment.html>
More information about the Cmdist
mailing list