Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

962 B

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..