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
0067158f6d
Object Pascal: full implementation. Test cleanup.
...
- Move vector related step4 and step6 tests to optional.
- Fix two step9 tests that weren't checking return value.
2016-03-13 17:12:01 -05:00
Joel Martin
077cdf6ff2
Merge pull request #184 from dubek/mal-time-ms
...
mal: Add time-ms to core; add tests for time-ms
2016-03-09 14:18:07 -06:00
Dov Murik
05ad2bf6cd
ruby: concat should not modify its argument
2016-03-09 14:23:13 -05:00
Dov Murik
44c9a7d8be
mal: Add time-ms to core; add tests for time-ms
2016-03-09 13:09:11 -05:00
Joel Martin
de3f3ed1ff
tests/step3: test def! within let*. Fix groovy build.
2016-03-07 22:25:30 -06:00
Joel Martin
a61be4d37d
bash: fix negative nums, more complex test.
...
Issue #178
2016-02-26 21:00:14 -06:00
Dov Murik
2c1eb1af68
ocaml: fix negative numbers handling
2016-02-25 17:39:32 -08:00
Joel Martin
8e32dbb6aa
groovy, java, scala: add seq/string?.
...
Issue #166 .
Also, add keyword? step9 test on zero length strings.
2016-02-12 09:59:39 -06:00
Joel Martin
329b6db3cf
Add seq and string? tests.
...
Issue #166
2016-02-11 09:17:49 -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
4e284171ed
tests: Add tests for (first nil) and (rest nil)
2016-02-03 21:23:45 -05:00
Joel Martin
35ea7a9ec7
Remove soft around nested equality tests
...
Related to issue #123
2016-02-01 15:10:12 -06:00
Dov Murik
163964afe1
tests: verify list/vector equality in hash-map values
...
This is still in the soft-tests section of tests/step9_try.mal.
Issues: #116 , #123
2016-02-01 11:06:00 -05:00
Dov Murik
6205526a91
tests: Verify extra args (after &) are in a mal list
...
step4: before TCO
step9: after TCO and bypass TCO using `apply`
2016-01-29 21:37:30 -05:00
Dov Murik
a16bb08f51
python: Fix equality of unicode/normal strings in Python 2.x
2016-01-27 13:02:14 -05:00
Joel Martin
9bca0b57e3
tests: make macro result evaluation mandatory.
2016-01-26 14:21:05 -06:00
Dov Murik
718f8e4d6c
tests/stepA: add gensym and clean or
macro tests
2016-01-22 23:47:51 -05:00
Dov Murik
a193b2c470
tests/step8: remove and
macro tests, add ->> macro tests
...
1. `gensym` isn't yet available in step8
2. `and` tests are very slow in some implementations
3. ->> macro is more complex
4. moved core.mal to the end so it won't override the builtin `or` macro
2016-01-22 23:47:50 -05:00
Joel Martin
6523be9f1a
Add macro result eval test.
...
Test to cover bug https://github.com/kanaka/mal/issues/142
2016-01-20 15:28:55 -06:00
Dov Murik
627bd6f766
process, tests: move atoms implementation from stepA to step6
2016-01-06 14:33:55 +02:00
Dov Murik
3dcaa6ce43
js: Fix exception in `(nil)
2015-12-28 10:22:58 +02:00
Dov Murik
c4cd270022
tests: Add str and pr-str tests in step4 and step9
...
Specifically test serializing nil, empty collections and `str` of
collections. The Mal implementation is *not* identical to Clojure for
these cases.
2015-12-17 22:01:31 +02:00
Dov Murik
539427f0db
nim: fix tokenizer endless loop (and out-of-memory) on bad input
...
The input string `(prn "abc` caused the nim implementaion (from step1
onwards) to enter an endless loop in tokenize (which eventually caused
out-of-memory).
The fix verfies that indeed the regex matches a non-empty substring
before adding that substring as a token.
2015-12-04 15:35:39 -05:00
Joel Martin
c46b421a24
Haskell: fix simple vector equality. Add test.
...
- Was missing vector to vector equality but never noticed because test
was missing.
- Related to #123
2015-12-03 16:27:47 -06:00
Dov Murik
6496cd1d17
tests: add tests for nil hashmap values
2015-12-02 15:52:32 -05:00
Joel Martin
5044ce44f4
Tests: add nested hash-map tests.
2015-12-02 11:16:09 -06:00
Dov Murik
4b7f92e5d6
tests: add soft tests for nested vector/list equality in step 4
2015-11-30 10:35:14 -05:00
Dov Murik
c362489f35
tests: add more hash equality test cases in step 9
2015-11-17 21:19:30 -05:00
Joel Martin
a0b63ee477
hash-map equality: bash, c, coffee, cs, es6, ...
...
- hash-map equality support for bash, c, coffee, cs, es6, java, js,
julia, make, php.
- also, add another test to catch another hash-map in-equality: same
keys, different values
2015-11-16 23:28:58 -06:00
Dov Murik
9af1191f5d
tests: step9: add hash-map equality tests (as soft tests)
2015-11-09 22:24:02 -05:00
Joel Martin
595376919b
Misc cleanup for midwest.io presentation.
2015-11-07 15:31:25 -06:00
Joel Martin
8d78bc26bf
All: fix read/print of \\, and \n
2015-10-30 22:05:49 -05:00
Joel Martin
953772ca00
step5 test: group related test code together.
2015-10-27 15:33:53 -05:00
Javier Fernandez-Ivern
b25e3d29fb
Reduced the mutually recursive function test size
2015-10-27 15:05:40 -05:00
Javier Fernandez-Ivern
5e43076014
Added TCO test for mutually recursive functions
2015-10-27 13:17:56 -05:00
Javier Fernandez-Ivern
6132da853d
Fixed final bug with swap, added tests
2015-10-26 21:49:58 -05:00
Javier Fernandez-Ivern
f39c5a2633
Fixed step 6 tests
2015-10-26 21:31:44 -05:00
Javier Fernandez-Ivern
2eb2cac230
Fixed several self-hosting issues, added atom? tests
2015-10-26 20:27:29 -05:00
Joel Martin
922d4c3b9b
Makefile and tests/step4: Self-host test fixes.
...
- Always use stepA for the RUNSTEP macro in addition to the
STEP_TO_PROG macro.
- Disable the (fib 10) test because this is really too slow for
several self-hosted implementations to complete before a timeout.
2015-10-11 22:10:59 -05:00
Joel Martin
378d1ff68e
tests/step0: fix tests to not confuse runtest.py
...
- the test starts with ';' which is meaningful to runtest.py.
2015-10-11 22:10:06 -05:00
Joel Martin
98af2ae360
runtest.py: add --soft option, refactor test reader.
...
- also, mark later stepA optional as soft.
2015-10-09 09:31:29 -05:00
ekmartin
bb52697591
Update README/Makefile/Dockerfile
2015-09-10 01:47:55 +02:00
Mitsuru Kariya
8c7587af67
Adds GNU awk implementaion
2015-08-26 00:46:31 +09:00
Joel Martin
a9cd654347
Add groovy implementation.
...
I'm away from my main workstation for a week and unfortunately, I only
copied the code but not the branch with full history so this is just
the implementation. However, the history isn't all that interesting
(mostly just the steps one at a time) and I wanted to get this out
there.
2015-05-18 19:54:18 -07:00
def
de69b63902
Use Nim 0.11.0
2015-04-30 17:51:20 +02:00
Joel Martin
cd80c38146
Dockerfile: move Julia & Erlang. Add guile & factor.
2015-04-08 17:31:01 -05:00
Nathan Fiedler
83d3c03370
Update Dockerfile to install Erlang/OTP R17
2015-04-04 09:15:44 -07:00
Joel Martin
520051615c
tests: add test to make sure *host-language* is set
2015-04-03 18:31:14 -05:00
Joel Martin
7e0bb668cf
Julia: self-hosting.
...
- fix meta and swap! functions and add missing tests
- fix eval_ast of hash-maps across all steps
2015-03-31 23:04:45 -05:00