62eab78f62
* README: Add a paragraph with current status.
50 lines
1.4 KiB
Org Mode
50 lines
1.4 KiB
Org Mode
-*- org -*-
|
|
Mes -- Maxwell Equations of Software
|
|
|
|
Mes aims to create an entirely source-based bootstrapping path. The
|
|
target is to [have GuixSD] boostrap from a minimal, easily inspectable
|
|
binary --that should be readable as source-- into something close to
|
|
R6RS Scheme.
|
|
|
|
As bootstrapping is presumably easiest and probably most fun with
|
|
Scheme, the next step for Mes is mescc: a C compiler/linker to
|
|
boostrap into GNU Gcc and GNU Guile, possibly via Tiny-CC.
|
|
|
|
It currently has an interpreter written in C (mes) with Garbage
|
|
Collector (Jam Scraper), a library of loadable Scheme modules with
|
|
test suite just barely enough to support a simple REPL (repl.mes) and
|
|
a proof-of-concept c-compiler (mescc.mes) that produces an elf from
|
|
the simplest of C files.
|
|
|
|
Mes is inspired by The Maxwell Equations of Software: [[http://www.softwarepreservation.org/projects/LISP/book/LISP%25201.5%2520Programmers%2520Manual.pdf][LISP-1.5]] -- John
|
|
McCarthy page 13.
|
|
|
|
Mes is free software, it is distributed under the terms of the GNU
|
|
General Public Licence version 3 or later. See the file COPYING.
|
|
|
|
* Get it
|
|
|
|
git clone https://gitlab.com/janneke/mes
|
|
|
|
* Build it (see INSTALL for full instructions)
|
|
|
|
./configure
|
|
make all
|
|
make check
|
|
|
|
* REPL it
|
|
|
|
scripts/repl.mes
|
|
|
|
* Mescc compiler
|
|
|
|
scripts/mescc.mes doc/examples/main.c > a.out
|
|
|
|
* Other
|
|
|
|
make check
|
|
make guile-check
|
|
make mes-check
|
|
make paren
|
|
make mescc
|