-
Notifications
You must be signed in to change notification settings - Fork 10
Home
Attila Lendvai edited this page Mar 5, 2014
·
20 revisions
Maru is a lisp dialect created by Ian Piumarta, see the project home for more details. There's a concise page about its semantics here on this wiki for people already familiar with lisp.
- Make maru easier to approach by restructuring the code and the build process.
- Set up automated tests.
- Set up infrastructure for automatic bootstrapping through multiple stages of the compiler when new features are introduced. Details at the Build infrastructure for bootstrapping page.
- Write a parser for NASM's x86 instruction DSL and use that instead of the one checked into the repo currently.
- Embed osdefs.k into the executable.
- Porting maru to ARM and booting it on this: http://www.seeedstudio.com/wiki/FST-01 (an ARM computer as a tiny usb stick). Ultimately to replace/port projects like gnuk, a PGP smartcard (http://www.fsij.org/gnuk/).
- The following files are, probably accidentally, not checked in into the official mercurial repo:
- test-eval.l
- maru-nfibs.k
- test2.c
- maru-test2.k
- maru-test3.k
- boot-emit.l
- irgol.k
- cpp.g
- text-parser.l requires
string_compare
and it's commented out in eval3.c, and=
doesn't support offset and length. What would be a solution? Implementstring_compare
in boot.l? That's not obvious, because string internals are not exposed. Or rewrite text-parser to use e.g. substrings? But there's not supstring primitive in eval3.c either.
- maru-dev google group
- Fexpr the Ultimate Lambda (article)
- maru bootstrap from common lisp, with a few interesting notes:
- scheme2llvm, a simple scheme implementation based on LLVM
- Languages as libraries (paper, PDF)
- Honu: syntactic extension for algebraic notation through enforestation (paper)
- boot-eval.c maru notes