-*-mode:org-*- * define-syntax and syntax-rules ** syntax.mes Using define-macro-based version. ** psyntax.pp Find out how to hook-up sc-expand in eval/apply. ** bugs See bugs/ ** run PEG *** Simple Guile test: make guile-peg *** PEG on Mes does not work yet: make peg **** v define-syntax-rule **** v assq-ref **** v assq-set! **** datum->syntax **** syntax->datum **** syntax-case ** parse C using PEG http://piumarta.com/software/peg/ ** 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 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? *** any, each? *** hook-up sc-expand, see guile-1.0?: scheme:eval-transformer *** implement extras: v (gensym) ** implement minimal needed for define-macro-based define-syntax v char? v assq v define-macro v equal? v 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