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

49 Commits

Author SHA1 Message Date
Joel Martin
18f0ec2150 Runtest should fail on bad test data. Fix interop tests.
The interop tests weren't updated when regex support was added to
runtest for matching output data. This was causing a bunch of
implementations to silently fail while testing interop. Fix runtest.py
to fail on bad test data and fix 21 implementations with the old style
output matches.
2019-01-28 10:27:41 -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
5f80c83f9d lua, nasm, perl, rexx, vimscript: fix errors. 2018-11-30 14:57:46 -06:00
Vasilij Schneidermann
9e1b175229 js, lua, perl, python, racket: Add number?, fn?, macro? 2017-10-11 10:28:04 +02:00
Dov Murik
0794206dc5 Fix unescaping in go, perl 2017-09-28 07:38:40 -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
e48d19b224 perl: Fix exception on literal empty list
Issue #190
2016-03-27 22:40:21 -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
bcfd8b7020 Generic recursive rules for dist, stats, clean
Also add missing clean rules for julia and matlab and fix perl clean
rule.
2016-02-24 01:09:19 -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
Dov Murik
2176357cf1 perl: add seq and string?
Issue #166
2016-02-14 20:51:38 -05:00
Dov Murik
8d1e25ac24 coffee, es6, js, perl, python, ruby: Fix (first nil) and (rest nil) 2016-02-03 21:23:46 -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
Joel Martin
c6c1a94f1b perl: fix keys on hash-map in perl 5.20
Otherwise throw error "keys on reference is experimental".
2015-11-18 21:44:58 -06:00
Joel Martin
78261adc04 miniMAL, perl: add native hash-map equality. 2015-11-18 15:39:46 -06: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
Joel Martin
6479984c9b Travis: add C, C#, Go, Perl, PHP, and Ruby. 2015-10-06 00:56:02 -05:00
Mitsuru Kariya
14b035f475 perl: add meta support for builtin function 2015-07-21 17:35:17 +09:00
Mitsuru Kariya
ff04b0e4d2 perl: add conj 2015-07-16 23:16:40 +09:00
Stephen Thirlwall
af59640b3c Fix typo in perl _clone()
I stumbled over this cun-t-paste error in the perl implementation.
2015-03-17 11:14:13 +11:00
Joel Martin
c9de2e82ed Tests: add testing Dockerfile. Impl fixes.
- tests/docker/Dockerfile: specifies full docker image containing all
  tools/languages (except matlab).
- tests/docker-build.sh: build above image.
- tests/docker-run.sh: launch above image.
    Example: ./tests/docker-run.sh make test^js^step2
- Various fixes across multiple languages:
    - Unicode fixes for bash and R on Ubuntu Utopic
    - readline history fixes for when ~/.mal-history is not available
      or readable/writable. No fatal errors.
    - fixes to work with perl 5.20 (and still perl 5.18)
2015-03-11 22:22:35 -05:00
Vitaly _Vi Shukela
8cee6f3c7e
Fix *host-language* in Perl 2015-03-10 03:49:23 +03:00
Joel Martin
10b07148ba All step0: add test, fix bugs, remove step0 eval. 2015-03-07 09:04:07 -06:00
Joel Martin
90f618cbe7 All: rename stepA_interop to stepA_mal
Also, add missed postscript interop tests.
2015-02-28 11:09:54 -06:00
Joel Martin
b8ee29b22f All: add keywords.
Also, fix nth and count to match cloure.
2015-01-09 16:16:50 -06:00
Joel Martin
01c9731649 All: swap step9,A. Fixes for bash, C, perl.
step9_interop -> stepA_interop
stepA_more -> step9_try

C: fix glib headers
bash: behavior change of declare -A and pattern replacement.
perl: squelch new 5.18 warnings related to switch/given statement.

Also, include some in-progress interop related files.
2015-01-06 21:57:24 -06:00
Joel Martin
f26bc0110a Perl: include from same directory. 2014-05-10 16:03:25 -05:00
Joel Martin
1f2651c54e Perl: add Makefile and time-ms for perf tests. 2014-04-23 22:42:36 -05:00
Joel Martin
37b97ee7a8 Perl: line edit history. 2014-04-23 22:22:42 -05:00
Joel Martin
6301e0b637 All: TCO let* and quasiquote. 2014-04-23 21:59:50 -05:00
Joel Martin
89bd4de1e2 Perl: add vector, hash-map, metadata, atom support. TCO let*
- Changes all collections to be one level of inderection where the top
  level is always a hash containing 'meta' and 'val'.
2014-04-23 21:46:57 -05:00
Joel Martin
85cc53f35b Perl: add step9_interop test 2014-04-23 20:30:33 -05:00
Joel Martin
16354bb461 Perl: add stepA_more. 2014-04-22 23:50:43 -05:00
Joel Martin
a1150c535c Perl: add step9_interop with type conversion. 2014-04-21 22:37:41 -05:00
Joel Martin
b50cb97c27 Perl: step8_macros
- Fixes to core.pl: concat
- Fixes to types.pl: _symbol_Q, Function apply
2014-04-21 21:47:36 -05:00
Joel Martin
fd637e0385 Perl: add step7_quote 2014-04-21 21:13:04 -05:00
Joel Martin
074cd7482b Perl: step6_file 2014-04-21 20:48:16 -05:00
Joel Martin
60f2b3638e Perl: add step5_tco
- Make all warnings fatal/exceptions.
2014-04-21 20:08:18 -05:00
Joel Martin
a5a6605877 Perl: add step4_if_fn_do
- Move string/printing tests to the bottom of tests/step4_if_fn_do
2014-04-20 23:45:58 -05:00
Joel Martin
b695532145 Perl: add step3_env 2014-04-20 22:54:38 -05:00
Joel Martin
a3b0621dbf Perl: add step2_eval. 2014-04-20 21:50:52 -05:00
Joel Martin
b5dedee06b Perl: add step1_read_print, types. 2014-04-19 15:12:13 -05:00
Joel Martin
9e5b215158 Perl: add readline interface and step0_repl 2014-04-19 13:57:00 -05:00