mirror of
https://github.com/kanaka/mal.git
synced 2024-09-21 02:27:10 +03:00
dd7a4f55f3
Fixes made to: ada, c, chuck, clojure, coffee, common-lisp, cpp, crystal, d, dart, elm, erlang, es6, factor, fsharp, gnu-smalltalk, groovy, guile, haxe, hy, js, livescript, matlab, miniMAL, nasm, nim, objc, objpascal, ocaml, perl, perl6, php, plsql, ps, python, r, rpython, ruby, scheme, swift3, tcl, ts, vb, vimscript, wasm, yorick. Catchless try* test is an optional test. Not all implementations support catchless try* but a number were fixed so they at least don't crash on catchless try*. |
||
---|---|---|
.. | ||
tests | ||
.gitignore | ||
Core.cpp | ||
Debug.h | ||
docker.sh | ||
Dockerfile | ||
Environment.cpp | ||
Environment.h | ||
Makefile | ||
MAL.h | ||
Reader.cpp | ||
ReadLine.cpp | ||
ReadLine.h | ||
README.md | ||
RefCountedPtr.h | ||
run | ||
StaticList.h | ||
step0_repl.cpp | ||
step1_read_print.cpp | ||
step2_eval.cpp | ||
step3_env.cpp | ||
step4_if_fn_do.cpp | ||
step5_tco.cpp | ||
step6_file.cpp | ||
step7_quote.cpp | ||
step8_macros.cpp | ||
step9_try.cpp | ||
stepA_mal.cpp | ||
String.cpp | ||
String.h | ||
Types.cpp | ||
Types.h | ||
Validation.cpp | ||
Validation.h |
Compilation notes
Mac OSX
This C++ implementation was developed on Mac OS X Yosemite, and uses the stock g++ compiler.
The only other requirement is GNU Readline, which I got from homebrew.
brew install readline
You may need to edit the READLINE path in the Makefile.
Ubuntu 14.10/15.04
This should compile on Ubuntu 14.10 and 15.04 with the following packages
apt-get install clang-3.5 libreadline-dev make
Docker
For everyone else, there is a Dockerfile and associated docker.sh script which can be used to make and run this implementation.
* build the docker image
./docker build
* make the MAL binaries:
./docker make
* run one of the implementations:
./docker run ./stepA_mal
* open a shell inside the docker container:
./docker run