962 B
962 B
- rename slime to plisk
- rename modifying functions to prefix '!'
- go through sicp and use the examples as test files
- test macro expanding to macro
- BUG 1: eval dot notation
- BUG 2: eval dot notation
- BUG 3: unnecessary copying?
- BUG 4: arg parsing
TODO rename slime to plisk
TODO rename modifying functions to prefix '!'
TODO go through sicp and use the examples as test files
TODO test macro expanding to macro
TODO BUG 1: eval dot notation
(eval `(+ . ,(list 1 2 3)))
;; should output 6
;; throws error instead
TODO BUG 2: eval dot notation
(begin
(define a (list 1 2 3))
(eval `(+ . ,a)))
;; should output 6
;; outputs 0
TODO BUG 3: unnecessary copying?
define((test val),"") { fetch(val) ; printf("addr of arg: %lld\n", (unsigned long long)&val); return Memory::nil; };
then:
(define a "a")
(test a) ;; will output an adress
(if 1 (test a) 2) ;; will output a different adress
TODO BUG 4: arg parsing
(define (range (:from 0) to) ...)
should error since we can't have positional args after keywords. right now, 'to' is silently ignored..