mes: Resurrect define, define-macro in C core.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 9 Dec 2017 07:24:38 +0000 (08:24 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 9 Dec 2017 07:24:38 +0000 (08:24 +0100)
commit30efe5ffbc4977700e7b8a498b1b4e2d4f081356
tree67f3aaf0a573cc16010ec722528e37fd02f6fc24
parent065cee9bda94050450dcac239a97b45056777eb7
mes: Resurrect define, define-macro in C core.

* make.scm (bin.gcc, bin.mescc): Use MES_C_READER=1.
* src/mes.c (scm_symbol_define, scm_symbol_define_macro): New symbol.
  (scm_vm_eval_define): New special.
  (scm_symbol_c_define): New symbol.
  (MAKE_MACRO): New define.
  (eval_apply)[MES_C_DEFINE]: Handle define, define-macro.
  (mes_symbols): Define %c-define for use in read-0.mes.
* module/mes/read-0.mes: Do not implement full scheme define if %c-define.
* module/mes/quasiquote.mes (sexp:define, env:define, env:macro): New function.
  (define-macro): New macro.  FIXME
* module/mes/psyntax.mes (define): New macro.  FIXME
make.scm
module/mes/fluids.mes
module/mes/psyntax.mes
module/mes/quasiquote.mes
module/mes/read-0.mes
src/mes.c