You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.3 KiB

TODO assert list_length for arguemns of macros

TODO update header files

TODO use better type names: u32, ..

TODO write and/or as macros

TODO docs as a external dict to make LO smaller

TODO doc generation

TODO function let

(let fac ([n 10]) (if (zero? n) 1 (* n (fac (sub1 n))))) 3628800

TODO runHook NAS_Action

TODO consisitent names (Lisp_Object_Type_to_string .. lisp_object_to_string)

TODO rename modifying functions to have suffix '!'

TODO rename slime to plisk

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