mes/TODO
2016-07-17 22:15:31 +02:00

71 lines
1.1 KiB
Org Mode

-*-mode:org-*-
* define-syntax and syntax-rules
** syntax.mes
** or psyntax.pp
** bugs
*** v c0.mes
*** v closure.mes
*** v using (let () ...) in macro.mes/syntax.mes
*** syntax.mes: closuring name? etc in syntax.mes
*** syntax.mes: closuring: indicators: eval: no such symbol: ---
*** <=, => take only 2 arguments
** run PEG
** parse C using PEG
http://piumarta.com/software/peg/
** missing
member (using equal?)
** implement core primitives: DONE
begin
define
if
lambda
letrec
quote
set!
** implement minimal needed for psyntax.pp:
v "string"
v #(v e c t o r)
#\CHAR
v assq
v call-with-values
v char?
for-each
v length
v list
v list->vector
v make-vector
v memq
v memv
v string
v string-append
v string?
v symbol?
v values
v vector
v vector->list
v vector-length
v vector-ref
v vector-set!
v vector?
v procedure?
** implement minimal needed for define-macro-based define-syntax
v char?
v assq
v define-macro
equal?
member
v let loop
v nested define-macro
v nested define
v boolean?
v list?
v <=, >=
v string->symbol
v and
v or
v ,@ unquote-splicing
** any, each?
** implement extras:
v (gensym)
** hook-up sc-expand, see guile-1.0?: scheme:eval-transformer