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

50 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
4e258d3aec forth: Fix exception on literal empty list
Issue #190
2016-03-30 14:28:50 -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
7412ebc64b haxe, forth: fix negative numbers.
Issue #178
2016-02-26 21:54:07 -06: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
82e2b26b36 forth: add seq and string?
Issue #166

With assistance from chouser (thanks!).
2016-02-16 13:56:51 -06:00
Dov Murik
fe364a976d forth: Pass empty extra arguments as empty list 2016-02-01 00:12:00 -05:00
Dov Murik
2aff8547f7 forth: Fix hash-map equality
Issue #116
2016-01-26 10:43:50 -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
7148ddb621 forth: implement atom swap! in step6 (and later)
The `swap!` implementation calls invoke and eval, and therefore require
backporting the implementation of invoke for MalUserFn and MalNativeFn
from step9 all the way back to step6.
2016-01-06 14:33:56 +02:00
Dov Murik
6703e76ad8 forth: don't print commas in hash-maps 2015-12-17 22:01:32 +02: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
0eb9fcb683 Travis: add ocaml, forth and miniMAL. 2015-10-06 13:28:11 -05: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
bf8237d5ee forth: add Makefile for stats. 2015-02-25 22:24:34 -06:00
Chouser
a631063f3f forth: Add map-hint to symbols for better perf 2015-02-23 22:22:04 -05:00
Chouser
3a17cb9682 forth: Clean up symbol eval for better perf 2015-02-23 22:22:04 -05:00
Chouser
975126be58 forth: Add call-site caching to boost perf 2015-02-23 22:22:04 -05:00
Chouser
e46223c2b7 forth: Add . interop special operator and tests 2015-02-23 22:22:01 -05:00
Chouser
b6607ac70f forth: Fix bug in (get nil ...) 2015-02-21 13:22:44 -05:00
Chouser
b254151c2a forth: Fix bug in extend-protocol array insertion 2015-02-21 13:22:44 -05:00
Chouser
45c1894b96 forth: Back-propogate fixes from stepA through step1 2015-02-21 13:22:44 -05:00
Chouser
6512bd8000 forth: Self-hosted mal passes all tests 2015-02-21 13:22:44 -05:00
Chouser
224e09ed42 forth: Finish step 9 2015-02-21 13:22:44 -05:00
Chouser
580c4eef9d forth: Add step 9, just try*/throw
- Moved some stuff out of printer into str,
  to support throwing strings in types.fs
- Fixed an apparently completely broken 'nth'
- Still failing 120 step9 tests
2015-02-21 13:22:44 -05:00
Chouser
e82947d00f forth: Add step 8 2015-02-21 13:22:44 -05:00
Chouser
794bfca136 forth: Add step 7 2015-02-21 13:22:44 -05:00
Chouser
bf6a574e00 forth: Add step 6, clean up comment parsing 2015-02-21 13:22:44 -05:00
Chouser
cd21ff0d3c forth: Fix critical string-resizing bug 2015-02-21 13:22:44 -05:00
Chouser
d44f31c221 forth: Add step 5 2015-02-21 13:22:44 -05:00
Chouser
785786c603 forth: Finish step 4 2015-02-21 13:22:44 -05:00
Chouser
c4403c179e forth: Add support for & var-args 2015-02-21 13:22:44 -05:00
Chouser
136ce7c9af forth: Split types for user fns vs native fns 2015-02-21 13:22:44 -05:00
Chouser
60801ed68d forth: Add step 4, but not varargs 2015-02-21 13:22:44 -05:00
Chouser
79feb89f9c forth: Add defspecial for Mal special ops 2015-02-21 13:22:44 -05:00
Chouser
e6106d4543 forth: Get rid of invoke+
Fold 'invoke+' into 'invoke'. Allows (:k m nf) to evaluate nf lazily!
2015-02-21 13:22:44 -05:00
Chouser
c05d35e8dd forth: Get rid of car/cdr style lists
Rename MalArray to MalList
2015-02-21 13:22:44 -05:00
Chouser
69972a8399 forth: Add step 3 2015-02-21 13:22:44 -05:00
Chouser
9da223a35a forth: Add step 2 2015-02-21 13:22:44 -05:00
Chouser
2e78e94eb8 forth: Finished step 1 2015-02-21 13:22:44 -05:00
Chouser
168fb5dc56 forth: Add step 1, but not maps 2015-02-21 13:22:44 -05:00
Chouser
50e417ffe3 forth: Add string printing 2015-02-21 13:22:43 -05:00
Chouser
59038a10f0 forth: Added lists, ints, symbols for step 1 2015-02-21 13:22:43 -05:00
Chouser
ccc7d9d199 forth: Add step 0 2015-02-21 13:22:43 -05:00
Chouser
14b846ffeb forth: protocols and some pr-str working 2015-02-21 13:22:43 -05:00
Chouser
b745d19149 forth: Add basic protocol functionality 2015-02-21 13:22:43 -05:00
Chouser
cbedf170e3 forth: Start experimenting 2015-02-21 13:22:43 -05:00