1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 02:27:10 +03:00
Commit Graph

57 Commits

Author SHA1 Message Date
Joel Martin
757ebbfbbf crystal, kotlin, mal, scala: Support catchless try* 2019-02-27 16:39:23 -06:00
Joel Martin
4aa0ebdf47 Error on unterminated strings.
Add a step1 test to make sure that implementations are properly
throwing an error on unclosed strings.

Fix 47 implementations and update the guide to note the correct
behavior.
2019-01-25 16:16:06 -06:00
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
e10ceff503 Update JS impls: use ffi-napi and Ubuntu 18.04 2018-11-28 17:12:17 -06:00
Omar Roth
5185c56e92 Update Crystal implementation 2018-10-29 18:20:02 -05:00
Dov Murik
51796fd84f crystal, logo: Add number?, fn?, macro? 2017-10-15 12:17:53 +00:00
Joel Martin
a821cd7204 Fix unescaping in c, coffee, crystal, haxe, plpgsql and r. 2017-09-28 07:40:47 -05:00
Joel Martin
976547740f ada: stats target.
Also, fix Crystal dockerfile build.
2016-07-29 10:49:13 -05:00
rhysd
7546ae18d2 Crystal: Use Int64 instead of Int32 because time_ms requires 64bit integer
This fixes a test case for stepA.
2016-06-25 08:21:36 +09:00
rhysd
d10848bb1d Crystal: subcommand is changed from 'build' to 'compile' 2016-06-25 08:21:15 +09:00
rhysd
492144ce47 Crystal: Fix steps for Crystal v0.17.4 2016-06-07 02:30:44 +09: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
4525f9ea57 crystal: Fix exception on literal empty list in step3
Issue #190
2016-03-31 14:53:19 -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
9044b1fdb1 Merge branch 'master' into issue_166_string_ops 2016-02-24 12:00:08 -06:00
Joel Martin
b6dc3e37aa awk-es6, Makefile: dist ruiles 2016-02-24 00:33:20 -06:00
Dov Murik
13b2ac9623 crystal: add seq and string?
Issue #166
2016-02-14 20:51:39 -05:00
Joel Martin
411abc90f4 Merge pull request #146 from dubek/fix-macro-eval
Fix macro eval in 24 impls
2016-01-26 14:16:55 -06:00
Dov Murik
b1165f9178 crystal, elixir, erlang, factor, perl: fix macro result evaluation
Issue #142
2016-01-25 20:58:33 -05:00
Dov Murik
166da203fa Add gensym and clean or macro to stepA of 13 implementations (part 2)
* bash
* c
* clojure
* coffee
* crystal
* d
* elixir
* erlang
* forth
* lua
* make
* nim
* perl
2016-01-23 00:31:55 -05:00
rhysd
d3ce5b49ca Crystal: bump up crystal version to 0.10.0 2016-01-01 01:46:18 +09:00
Joel Martin
8d78bc26bf All: fix read/print of \\, and \n 2015-10-30 22:05:49 -05:00
Joel Martin
f15b4021db All: show comments with stats target.
- Put guile into correct alphabetical order.
2015-10-26 22:33:49 -05:00
rhysd
624b7bc681 Crystal: Fix missing method error for Crystal 0.8.0 2015-10-09 02:25:17 +09:00
Joel Martin
fc4c7889cb Travis: add remaining implementations.
- new impls: awk, crystal, elixir, erlang, es6, fsharp, groovy, guile
  (disabled), rpython (disabled)
2015-10-07 21:46:12 -05:00
Joel Martin
abff2fa8a4 Crystal: fix full stats. 2015-06-03 12:59:50 -05:00
rhysd
97d0deb1b8 crystal: fix for Crystal 0.7.2 2015-06-04 01:59:10 +09:00
rhysd
725ee0bd91 crystal: fix early steps broken because of later refactoring 2015-06-04 00:33:08 +09:00
rhysd
b9e204b19c crystal: make MAL_IMPL=crystal test^mal succeeds finally 2015-06-04 00:33:02 +09:00
rhysd
86fe63145a crystal: fix Makefile to build all steps 2015-06-03 02:26:59 +09:00
rhysd
6e7390b73b crystal: all tests for stepA pass 2015-06-03 02:26:59 +09:00
rhysd
09fb509eb4 crystal: refactor by adding Array to Mal type conversion 2015-06-03 02:26:59 +09:00
rhysd
1ec346559b crystal: implement step9 2015-06-03 02:26:59 +09:00
rhysd
4f725b5ca2 crystal: improve error message 2015-06-03 02:26:59 +09:00
rhysd
9bbb8ccc73 crystal: implement step8 2015-06-03 02:26:59 +09:00
rhysd
ce0696d570 crystal: implement step7 2015-06-03 02:26:59 +09:00
rhysd
9d627bccc1 crystal: fix hashmap 2015-06-03 02:26:59 +09:00
rhysd
d21ef941e8 crystal: implement step6 2015-06-03 02:26:59 +09:00
rhysd
436f169cf1 crystal: implemented step5
the test (def! res1 (sum-to 10000)) failed in my environment because it
could compute the result even if TCO is not available.  If stack
overflow happens, the interpreter will go into SEGV.
2015-06-03 02:26:59 +09:00
rhysd
51be5007ee crystal: complete step4 2015-06-03 02:26:59 +09:00
rhysd
4499e5c813 crystal: add "&" param and 'not' function 2015-06-03 02:26:59 +09:00
rhysd
9b8a3da957 crystal: add relational operators 2015-06-03 02:26:59 +09:00
rhysd
2c76c2ff16 crystal: refactor member names and errors 2015-06-03 02:26:59 +09:00
rhysd
7fe6282ef6 crystal: define Mal::Type class instead of simple alias of union 2015-06-03 02:26:59 +09:00
rhysd
b31653d57a crystal: make core.cr and implement +, -, *, /, list, list?, empty?, count and = 2015-06-03 02:26:59 +09:00
rhysd
bed63064c5 crystal: eval all types, not only a list 2015-06-03 02:26:58 +09:00
rhysd
095b73ea45 crystal: start step4, implement 'do', 'if' and 'fn*' 2015-06-03 02:26:58 +09:00
rhysd
66f3d7a489 crystal: read_*() functions are member of Reader class 2015-06-03 02:26:58 +09:00
rhysd
e014087da3 crystal: allow Vector in binding of 'let*'
all tests passed in step3
2015-06-03 02:26:58 +09:00