2016-07-10 13:31:45 +00:00
|
|
|
-*-mode:org-*-
|
2016-07-17 13:00:47 +00:00
|
|
|
* define-syntax and syntax-rules
|
|
|
|
** syntax.mes
|
|
|
|
** or psyntax.pp
|
|
|
|
** bugs
|
2016-07-19 19:37:39 +00:00
|
|
|
*** c2.mes
|
|
|
|
*** c4.mes
|
2016-07-17 20:15:31 +00:00
|
|
|
*** v c0.mes
|
|
|
|
*** v closure.mes
|
2016-07-19 19:37:39 +00:00
|
|
|
*** v c1.mes
|
|
|
|
*** v c3.mes
|
2016-07-17 20:15:31 +00:00
|
|
|
*** v using (let () ...) in macro.mes/syntax.mes
|
|
|
|
*** syntax.mes: closuring name? etc in syntax.mes
|
|
|
|
*** syntax.mes: closuring: indicators: eval: no such symbol: ---
|
2016-07-17 13:00:47 +00:00
|
|
|
*** <=, => take only 2 arguments
|
|
|
|
** run PEG
|
|
|
|
** parse C using PEG
|
|
|
|
http://piumarta.com/software/peg/
|
2016-07-10 13:31:45 +00:00
|
|
|
** implement core primitives: DONE
|
|
|
|
begin
|
|
|
|
define
|
|
|
|
if
|
|
|
|
lambda
|
|
|
|
letrec
|
|
|
|
quote
|
|
|
|
set!
|
2016-07-17 13:00:47 +00:00
|
|
|
** implement minimal needed for psyntax.pp:
|
2016-07-10 20:43:23 +00:00
|
|
|
v "string"
|
2016-07-11 08:38:02 +00:00
|
|
|
v #(v e c t o r)
|
2016-07-10 13:31:45 +00:00
|
|
|
#\CHAR
|
2016-07-11 08:48:25 +00:00
|
|
|
v assq
|
2016-07-11 17:32:11 +00:00
|
|
|
v call-with-values
|
2016-07-10 22:15:28 +00:00
|
|
|
v char?
|
2016-07-17 20:35:00 +00:00
|
|
|
v for-each
|
2016-07-10 22:21:45 +00:00
|
|
|
v length
|
2016-07-10 22:15:28 +00:00
|
|
|
v list
|
2016-07-11 08:38:02 +00:00
|
|
|
v list->vector
|
|
|
|
v make-vector
|
2016-07-11 09:05:17 +00:00
|
|
|
v memq
|
|
|
|
v memv
|
2016-07-10 22:15:28 +00:00
|
|
|
v string
|
2016-07-10 20:43:23 +00:00
|
|
|
v string-append
|
|
|
|
v string?
|
2016-07-10 22:15:28 +00:00
|
|
|
v symbol?
|
2016-07-11 17:32:11 +00:00
|
|
|
v values
|
2016-07-11 08:38:02 +00:00
|
|
|
v vector
|
|
|
|
v vector->list
|
|
|
|
v vector-length
|
|
|
|
v vector-ref
|
|
|
|
v vector-set!
|
|
|
|
v vector?
|
2016-07-11 20:16:11 +00:00
|
|
|
v procedure?
|
2016-07-17 20:35:00 +00:00
|
|
|
*** any, each?
|
|
|
|
*** hook-up sc-expand, see guile-1.0?: scheme:eval-transformer
|
|
|
|
*** implement extras:
|
|
|
|
v (gensym)
|
2016-07-17 13:00:47 +00:00
|
|
|
** implement minimal needed for define-macro-based define-syntax
|
|
|
|
v char?
|
|
|
|
v assq
|
|
|
|
v define-macro
|
2016-07-17 20:35:00 +00:00
|
|
|
v equal?
|
|
|
|
v member
|
2016-07-17 13:00:47 +00:00
|
|
|
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
|