Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

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