Arne Babenhauserheide writes: >> 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. > > This is really cool! Thank you for your work!
Good, thanks! >> 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. > > How do you compile the interpreter? The current interpeter I consider to be a prototype in C; I use gcc. However, HACKING mentions two ways forward ** Move mes.c into hex? One idea is to use OrianJ's amazing self-hosting [[https://github.com/oriansj/stage0][stage0]] hex assembler and minimal bootstrap binaries and rewrite the mes.c core to directly bootstrap into Scheme. ** Rewrite mes.c and generate hex? Another idea (thanks Rutger!) is to rewrite the mes.c core in a C/Assembly variant and have mescc produce the simple, annotated bootstrap binary. Possibly you have an even better idea? I am choosing to explore the latter first: work on the compiler backend and write the interpreter in its Assembly/C-like s-expressions. > Best wishes, Thanks, Greetings, Jan -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl