1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 18:18:51 +03:00
Commit Graph

44 Commits

Author SHA1 Message Date
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