-*-mode:org-*- * define-syntax and syntax-rules ** syntax.mes ** or psyntax.pp ** bugs *** c1.mes *** closure.mes *** using (let () ...) in macro.mes/syntax.mes *** <=, => 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? 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