Magnolisp, a toy programming language
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
2014 remove `*/local-ec` surface syntax Nov 2, 2015
base move `magnolisp/base` implementation into a subdirectory May 10, 2015
etc c++ fw decls Mar 20, 2013
lang magnolisp-language.rkt -> main.rkt Jan 7, 2014
manual-src use more unique tags in docs Oct 1, 2016
std add a small standard `list` library Feb 4, 2016
tests use more unique tags in docs Oct 1, 2016
util make internal `unstable/debug` require/provide unconditional Apr 9, 2016
.gitignore resolve field accessors based on concrete AST node type IDs Sep 16, 2015
2014.rkt use a separate "prelude" library with the 2014 language Mar 28, 2015
Makefile name manual uniquely to avoid conflicts with other packages Apr 6, 2016
README.org use more unique tags in docs Oct 1, 2016
app-util.rkt fix positioning in fetching of original source by location May 2, 2016
ast-repr.rkt be consistent about using struct ID for field-id lexical context Dec 29, 2015
ast-serialize.rkt just use `quote-syntax` for serializing syntax objects Nov 29, 2015
ast-view.rkt be consistent about using struct ID for field-id lexical context Dec 29, 2015
backend-build-main.rkt fix broken contract Apr 30, 2016
backend-build-writer.rkt switch to racket/base for all non-tests Nov 6, 2015
backend-cxx-ast.rkt make large C++ expressions more readable Nov 11, 2015
backend-cxx-main.rkt define MGL_IMPLEMENTATION for generated .cpp files Apr 30, 2016
backend-cxx-print.rkt make large C++ expressions more readable Nov 11, 2015
backend-mgl-print.rkt fix broken contract Apr 30, 2016
backend-util.rkt switch to racket/base for all non-tests Nov 6, 2015
compiler-api.rkt fix broken contract Apr 30, 2016
compiler-cli.rkt allow duplicate entries for `--backends` Nov 17, 2015
core.rkt use more unique tags in docs Oct 1, 2016
info.rkt Fix deps. Apr 9, 2016
ir-ast.rkt Thing`-copy` -> `copy-`Thing Dec 3, 2015
ir-id-coll.rkt adjust require for `make-constructor-style-printer` Nov 28, 2015
ir-transform.rkt Thing`-copy` -> `copy-`Thing Dec 3, 2015
main.rkt make large C++ expressions more readable Nov 11, 2015
mglc mglcc -> mglc Jan 7, 2014
modbeg.rkt do not include `r-mp` in the submodule Nov 29, 2015
module-load.rkt show original source when reporting errors (when available) Apr 12, 2016
parse.rkt fix testcases failing with Racket 6.4 Apr 5, 2016
pp-yield.rkt treat all `char?` input elements as text tokens Mar 4, 2015
prelude.rkt have prelude only `declare` built-in types Mar 26, 2015
reader-ext.rkt `let-annotate` -> `annotate` Feb 4, 2016
strategy-list.rkt add datatype parameterizable high-level strategies May 14, 2015
strategy-stratego.rkt bring back a Stratego-style API for rewriting Jun 12, 2015
strategy-term.rkt bring back a Stratego-style API for rewriting Jun 12, 2015
strategy.rkt bring back a Stratego-style API for rewriting Jun 12, 2015
struct.rkt simplify `_` handling by using an `_-or` pattern Dec 4, 2015
surface.rkt show original source when reporting errors (when available) Apr 12, 2016
type-infer.rkt remove `ExprLike` definition and uses Nov 20, 2015
util.rkt show original source when reporting errors (when available) Apr 12, 2016

README.org

This is Magnolisp, a toy programming language for playing with experimental language implementation techniques and infrastructure. It is implemented in and on top of Racket, in a way that allows Racket tools to be used in the development of Magnolisp programs. Code written in Magnolisp can either be evaluated in the Racket VM, or translated into C++.

More details can be found in the manual, which also includes installation instructions.