Files
slime/todo.org
T
2019-09-19 09:20:26 +02:00

40 lines
962 B
Org Mode

* 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
#+BEGIN_SRC lisp
(eval `(+ . ,(list 1 2 3)))
;; should output 6
;; throws error instead
#+END_SRC
* TODO BUG 2: eval dot notation
#+BEGIN_SRC lisp
(begin
(define a (list 1 2 3))
(eval `(+ . ,a)))
;; should output 6
;; outputs 0
#+END_SRC
* TODO BUG 3: unnecessary copying?
define((test val),"") {
fetch(val) ;
printf("addr of arg: %lld\n", (unsigned long long)&val);
return Memory::nil;
};
then:
#+begin_src slime
(define a "a")
(test a) ;; will output an adress
(if 1 (test a) 2) ;; will output a different adress
#+end_src
* TODO BUG 4: arg parsing
#+begin_src slime
(define (range (:from 0) to) ...)
#+end_src
should error since we can't have positional args after keywords. right now, 'to' is silently
ignored..