fork of mes with aarch64 support
Find a file
Jan Nieuwenhuizen c5e3e3818d Avoid out-of-spec strncat usage.
mes.c (readword): Use character assignment instead of strncat.  Fixes
Valgrind nit.
2016-10-11 18:50:14 +02:00
lib lib/match: ugly hygiene hack. FIXME. 2016-10-10 20:53:42 +02:00
test cleanup and doc update. 2016-10-10 23:24:44 +02:00
.gitignore cleanup and doc update. 2016-10-10 23:24:44 +02:00
ANNOUNCE cleanup and doc update. 2016-10-10 23:24:44 +02:00
ANNOUNCE-2 cleanup and doc update. 2016-10-10 23:24:44 +02:00
AUTHORS Add Guile version of John McCarthy's Maxwell Equations of Software. 2016-05-28 16:26:06 +02:00
base.mes use IF as primitive, drop using cond/evcon only option. 2016-10-08 16:54:59 +02:00
base0-if.mes use IF as primitive, drop using cond/evcon only option. 2016-10-08 16:54:59 +02:00
base0.mes resurrect guile-mescc, use write-int and (current-error-port) iso `2'. 2016-08-13 01:07:26 +02:00
c-lexer.scm mescc.scm: compile simple, well-behaved for-loop. 2016-08-14 14:42:52 +02:00
COPYING Add Guile version of John McCarthy's Maxwell Equations of Software. 2016-05-28 16:26:06 +02:00
elf.mes mescc.scm: compile simple, well-behaved for-loop. 2016-08-14 14:42:52 +02:00
GNUmakefile cleanup and doc update. 2016-10-10 23:24:44 +02:00
HACKING cleanup and doc update. 2016-10-10 23:24:44 +02:00
hello.c hello.c, hello.S: hello world target for C compiler. 2016-07-26 07:30:53 +02:00
hello.S hello.c, hello.S: hello world target for C compiler. 2016-07-26 07:30:53 +02:00
let-syntax.mes let-syntax.mes: implement. 2016-10-10 22:55:37 +02:00
let.mes let-syntax.mes: implement. 2016-10-10 22:55:37 +02:00
loop2.mes mes.c: move define, define-macro into begin_env, remove loop. fixes inner defines. 2016-07-16 22:43:13 +02:00
main.c mescc.scm: compile simple, well-behaved for-loop. 2016-08-14 14:42:52 +02:00
mes.c Avoid out-of-spec strncat usage. 2016-10-11 18:50:14 +02:00
mes.mes mes.c, scm.c: add read-char, peek-char, char=?, char-alphabetic?. 2016-07-24 17:35:31 +02:00
mes.scm add scheme apply, rename apply-> apply_env. 2016-07-16 08:17:56 +02:00
mes.test mes.c: add new macro type, junk *macro* hack. 2016-07-22 17:13:51 +02:00
mescc.scm mescc.scm: compile simple, well-behaved for-loop. 2016-08-14 14:42:52 +02:00
paren.scm paren.scm revert 2016-07-24 13:28:17 +02:00
quasiquote.mes quasiquote.mes: disable, too slow. 2016-07-26 23:22:32 +02:00
README cleanup and doc update. 2016-10-10 23:24:44 +02:00
scm.mes resurrect mescc. 2016-10-10 23:54:48 +02:00
syntax.mes resurrect mescc. 2016-10-10 23:54:48 +02:00
TODO cleanup and doc update. 2016-10-10 23:24:44 +02:00

Mes -- Maxwell Equations of Software

Mes is inspired by The Maxwell Equations of Software -- John McCarthy page 13
http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf

Its aim is to have GuixSD boostrap from a minimal trusted binary into
Scheme.  The strategy is to use OrianJs self-hosting hex assembler to
write a minimal LISP called MES to bootstrap a full fledged Scheme,
written in MES.

Mes is free software, it is distributed unde the terms of the GNU
General Public Licence version 3 or later.  See the file COPYING.

Current targets.

* make check

* C compiler

   make mescc
   make guile-mescc

from there, work on mescc.scm, main.c.

* syntax-case: simple portable version by Andre van Tonder

  TODO

* syntax-case: using portable psyntax.pp

   make psyntax

* syntax-case using define-macro

   make syntax-case
   make guile-syntax-case

* PEG

   make peg
   make guile-peg