Mes

Maxwells Equations of Software.
This is a program by Jan Nieuwenhuizen to reduce the bootstrap binaries of GuixSD to nothing!


 * Video: guix talk about mes
 * Mes 0.5 released


 * Bourne shell compiler frontend (related to guix and bootstrapping)

Architecture
mes implements a lisp interpreter written in C, that is able to run mescc which by using nyacc for parsing and mescc-tools for linking functions as a C compiler.

mescc includes its own libc, written in C and is able to compile mes thus providing a full loop bootstrap.

Breakthrough (Sept 2018)
Headline! they've managed to bootstrap gcc/glibc/binutils and all of gnu/linux from just: mescc, mes, bash + gnu coreutils and tinycc running on top of linux


 * https://gitlab.com/janneke/guix/blob/affb2e11859b3bb03fdfe0e223e51d97cdc630b3/gnu/packages/commencement.scm
 * https://lists.gnu.org/archive/html/guix-devel/2018-09/msg00048.html

Here is a diagram showing the mes based bootstrap packages for GuixSD.





currently the path for bootstrapping MesCC is to build mes-m2  which is a minor fork of mes.c designed to be built by M2-Planet (and unfortunately is not build-able by any other C compiler)

As of Mes 0.24, upstream mes can be built by M2-Planet.