(eval `(+ . ,(list 1 2 3))) ;; should output 6 ;; throws error instead
(begin (define a (list 1 2 3)) (eval `(+ . ,a))) ;; should output 6 ;; outputs 0
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
(define (range (:from 0) to) ...)
should error since we can't have positional args after keywords. right now, 'to' is silently ignored..