1
1
mirror of https://github.com/kanaka/mal.git synced 2024-11-11 00:52:44 +03:00
Commit Graph

25 Commits

Author SHA1 Message Date
Joel Martin
dd7a4f55f3 Test uncaught throw, catchless try* . Fix 46 impls.
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*.
2018-12-12 14:18:26 -06:00
Joel Martin
2adfa11c98 ada, d, elixir, es6, factor, haxe: fix errors. 2018-11-30 14:57:45 -06:00
Joel Martin
e10ceff503 Update JS impls: use ffi-napi and Ubuntu 18.04 2018-11-28 17:12:17 -06:00
Joel Martin
0218385f8b Haxe, Matlab: add number?, fn? and macro? 2017-10-25 22:38:24 -05:00
Joel Martin
a821cd7204 Fix unescaping in c, coffee, crystal, haxe, plpgsql and r. 2017-09-28 07:40:47 -05:00
Joel Martin
458852b23a Clojure, Haxe: all target based on MODE. 2017-09-11 23:28:00 -05:00
Joel Martin
2d76e8776c Generic <impl>_MODE setting. Add travis modes.
For implementations that support different compile/run modes, the
convention is not <impl_name>_MODE=<mode>. This is passed through to
make/docker commands. Fix Makefiles and run scripts to listen to the
respective *_MODE variables.

Enable travis builds/tests for 4 Haxe modes and 2 python modes.
2017-09-11 17:54:26 -05:00
Joel Martin
20e8dea043 Refactor to use run scripts, remove *_RUNSTEP
- Add */run script for every implementation.

- Refactor Clojure build to allow individual jar files for each step.

- Update FFI version for es6 and miniMAL to work with newer node
  versions.

The run scripts for the following could use some additional
refactoring:
- java: build individual step jar, use java -jar instead of mvn to run
- plpgsql: maybe combine plpgsql/run and plpgsql/wrap.sh
- vhdl: combine vhdl/run and vhdl/run_vhdl.sh
- vimscript: combine vimscript/run and vimscript/run_vimscript.sh
2016-05-18 22:29:18 -07:00
Joel Martin
efa2daef57 Fix empty list eval in step2 for most languages.
I think the only remaining ones are ada, elisp, factor, and rust.
2016-04-02 18:40:49 -05:00
Dov Murik
d3ec299408 haxe: Fix exception on literal empty list
Issue #190
2016-04-01 16:23:45 -04:00
Joel Martin
dca6b58578 Tests: move step5 non-TCO tests to per impl.
- Remove most of the step5 excludes in the Makefile except for ones
  which don't have TCO capability at all (or the implementation is too
  slow): bash, make, mal, matlab.

- Make perf_EXCLUDES consistent with other excludes.

- Add a print-FOO target which prints the resolved value of Makefile
  variable FOO. For example, `make print-IMPLS` to print the list of
  implementations.
2016-03-14 23:39:21 -05:00
Joel Martin
7412ebc64b haxe, forth: fix negative numbers.
Issue #178
2016-02-26 21:54:07 -06:00
Joel Martin
9044b1fdb1 Merge branch 'master' into issue_166_string_ops 2016-02-24 12:00:08 -06:00
Joel Martin
8e2d4a4ccb Dist/packaging for most impls. erlang, racket *ARGV* fixes.
Also in this commit:
- fix *ARGV* setup in erlang and racket.
- print startup message in fsharp

Dist/packaging support for most implementations and also generate
a */mal standalone app for most languages. The following
implementations still have ability to generate a single */mal
standalone application:
    - guile
    - julia
    - matlab (mkoctfile doesn't actually package up source files)
    - swift
    - vb (mkbundle error)

Also, the following are mostly packaged into a single file but need
some module dependencies
    - coffee: requires node_modules/ffi
    - es6: requires node_modules/ffi
    - js: requires node_modules/ffi
    - lua: module 'readline' not found
    - miniMAL: cannot find module '/mal/node_readline.js'
    - r: needs lib directory
2016-02-24 00:45:40 -06:00
Joel Martin
5245b079e1 Add dist targets to most implementations.
TODO: factor groovy guile julia matlab miniMAL swift
2016-02-24 00:33:20 -06:00
Joel Martin
6791e640e1 haxe, matlab, miniMAL, python, rpython: add seq/string?
Issue #166.
2016-02-11 09:19:53 -06:00
Joel Martin
17946efbad Haxe, Julia, miniMAL: self-hosting fixes.
- Haxe: correctly set *ARGV*
- Julia: fix map function concatenation of results
- miniMAL: fix (= 'abc nil) and add test in step7 to catch it.
2016-02-05 13:27:30 -06:00
Dov Murik
866042440b cpp, haxe, rust: Fix (first nil) and (rest nil) 2016-02-03 21:23:48 -05:00
Joel Martin
8976b2e9bf Haxe: add time-ms (make perf) support. 2016-01-30 12:01:33 -06:00
Joel Martin
8b89e8c150 Haxe: add missed Env.hx file. 2016-01-28 20:50:57 -06:00
Joel Martin
33dec7afc2 Haxe: update README, fix macro eval, add conj.
Also:

- add ability to build all or one Haxe target.
- enable travis build for Haxe
2016-01-26 16:21:47 -06:00
Joel Martin
32d0a1cfdb Haxe: add C++, JS, Neko targets. Make neko default. 2016-01-25 23:37:47 -06:00
Joel Martin
1d16649510 Haxe: step7-A, hash-maps, metadata, self-hosting. 2016-01-25 22:51:58 -06:00
Joel Martin
1f21eda925 Haxe: step2-step6 basics, vectors, and keywords. 2016-01-14 20:57:29 -06:00
Joel Martin
6c4c14bd8a Haxe: step0 and step1. 2016-01-08 21:18:41 -06:00