1
1
mirror of https://github.com/kanaka/mal.git synced 2024-11-10 12:47:45 +03:00
Commit Graph

32 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
f8985c0cb0 Merge pull request #212 from dubek/argv-testing
tests: Test *ARGV* is set correctly in step 6
2016-05-17 12:08:38 -05:00
Dov Murik
61635e5f31 erlang: Fix time-ms to return milliseconds since epoch 2016-05-11 15:53:42 -04:00
Dov Murik
e2d4f00fc0 erlang: When executing a mal script, don't print the final return value 2016-05-11 15:51:22 -04:00
Joel Martin
3c88e933a2 erlang, factor, rust: fix empty list eval
This should address remaining implementation fixes for #194.
2016-04-04 12:07:47 -05: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
Dov Murik
02c98388bd erlang: add negative number support.
Issue #178
2016-02-27 10:57:04 -08: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
b6dc3e37aa awk-es6, Makefile: dist ruiles 2016-02-24 00:33:20 -06:00
Dov Murik
84c3b26f4d erlang: add seq and string?
Issue #166
2016-02-14 23:41:58 -05:00
Dov Murik
d46927d0c8 elixir, erlang, lua, php, r, vimscript: Fix (first nil) and (rest nil) 2016-02-03 21:23:47 -05:00
Dov Murik
d4a84b22f9 erlang: Fix nested list/vector/map equality
Issue #123
2016-02-01 11:06:20 -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
Dov Murik
069f90b2b5 erlang: pr-str: fix quoting of strings in hash-maps
Refactored: first arrange the hash map in a sequence of [K1, V1, K2, V2,
...] and then use pr_list to print all the elements.
2015-12-17 22:01:33 +02:00
Nathan Fiedler
45a76d0060 Fix reading/printing of escaped characters
Properly read \\n and convert to a newline, and when printing with
readability enabled, convert the newline back to \\n.

Add support for Erlang R18, which was nothing more than tweaking the
requirements in the rebar.config file.

Fixes #100

make test^erlang passes
2015-11-06 11:19:06 -08: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
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
Nathan Fiedler
78c05994c8 Step A: mutation, interop, self hosting
Tests for steps 0 through A pass, with the exception of the special case
in step 5 (Erlang is TCO).
2015-04-04 09:15:20 -07:00
Nathan Fiedler
e424ca5546 Step 9 of Make-a-Lisp for Erlang
step0 through step9 passes (sans step5 special case)
2015-04-04 09:15:20 -07:00
Nathan Fiedler
a22d9443fb Step 8 of Make-a-Lisp for Erlang
step0 through step8 passes (sans step5 special case)
2015-04-04 09:15:20 -07:00
Nathan Fiedler
9d34827891 Step 7 of Make-a-Lisp for Erlang
step0 through step7 passes (sans step5 special case)
2015-04-04 09:15:20 -07:00
Nathan Fiedler
e07b9830ca Step 6 of Make-a-Lisp for Erlang
make test^erlang^step0 passes
make test^erlang^step1 passes
make test^erlang^step2 passes
make test^erlang^step3 passes
make test^erlang^step4 passes
make test^erlang^step5 "passes"
make test^erlang^step6 passes
2015-04-04 09:15:20 -07:00
Nathan Fiedler
77db07c9be Step 5 of Make-a-Lisp for Erlang
make test^erlang^step0 passes
make test^erlang^step1 passes
make test^erlang^step2 passes
make test^erlang^step3 passes
make test^erlang^step4 passes
make test^erlang^step5 "passes" (returns 50005000 for last test)
2015-04-04 09:15:13 -07:00
Nathan Fiedler
a61ea75a99 Step 4 of Make-a-Lisp for Erlang
make test^erlang^step0 passes
make test^erlang^step1 passes
make test^erlang^step2 passes
make test^erlang^step3 passes
make test^erlang^step4 passes
2015-04-04 09:12:32 -07:00
Nathan Fiedler
583a62df35 Step 3 of Make-a-Lisp for Erlang
make test^erlang^step3 passes
2015-04-04 09:12:22 -07:00
Nathan Fiedler
7e82350421 Step 2 of Make-a-Lisp for Erlang
make test^erlang^step2 passes
2015-04-04 09:11:54 -07:00
Nathan Fiedler
2ee368dc5c Step 1 of Make-a-Lisp for Erlang
make test^erlang^step1 passes
2015-04-04 08:59:40 -07:00
Nathan Fiedler
2cc3804b19 Step 0 of Make-a-Lisp for Erlang
Requires rebar to build.

make test^erlang^step0 passes
2015-04-04 08:59:16 -07:00