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

113 Commits

Author SHA1 Message Date
Joel Martin
56be4ef0ee Merge branch 'Haxe' 2016-01-26 15:54:15 -06:00
Joel Martin
36e287b51f cs, fsharp, java, vb: fix macro result evaluation.
Related to issue #142.

- also, fix java build issue in both Makefiles.
2016-01-26 14:13:59 -06:00
Joel Martin
32d0a1cfdb Haxe: add C++, JS, Neko targets. Make neko default. 2016-01-25 23:37:47 -06:00
Joel Martin
6c4c14bd8a Haxe: step0 and step1. 2016-01-08 21:18:41 -06:00
Joel Martin
4769962955 matlab: support Octave 4.0.0
- Workarounds for Octave 4.0.0:
    - no containers.Map yet so use new Dict
      structure when running under Octave.
    - weird error when +FOO/ directory and FOO.m file both exist so
      rename types.m to type_utils.m
    - no getReport so implement custom stack printer
    - workaround weird issue that happens when a class initializer is
      called with the first argument of the same class as per
      Env(outer, ...). The class is not properly initialized. So for
      now, wrap the outer in a cell as Env({outer}, ...)
    - missing MException object types so when in Octave, use a global
      variable to store the error object.
    - missing native2unicode so just use 0xff character for keyword
      prefix.
    - workaround some function calling/passing differences. For
      example, the "@" anonymous function symbol does not seem to work
      for conveying an existing function but only for defininign a new
      one. E.g. this works:
          @(a,b) a+b
      but this doesn't
          @my_adder_fn.
      so just do this:
          @(a,b) my_adder_fn(a,b)

- Add Dockerfile with Octave

- Active Travis for matlab implementation using Octave
2015-12-31 13:55:18 -06:00
Joel Martin
17180e8583 Makefile: add REGRESS functionality
- Fixes #107
2015-12-18 17:24:02 -06:00
Dov Murik
854cf2a6ba Makefile: add REPL invocation rules 2015-12-14 08:50:27 -05:00
Dov Murik
f82cb96552 D implementation 2015-12-02 15:53:02 -05:00
Joel Martin
f045aba128 Makefile: fix recursive make of compiled impls.
Should fix #105
2015-11-18 16:32:53 -06:00
Dov Murik
576ef3703a tcl: add --raw flag to allow running without Readline
The Readline library for Tcl (tclreadline) enables history
substitutions, which means that lines that begin with `^` or `!` are
preprocessed by readline.  This interferes with some step1 tests of the
`^` form (--> with-meta).

Now the Tcl implementation supports a `--raw` command line flag which
disables the readline library and opts for simple input from stdin. The
tests (Makefile) are run with `--raw`.
2015-11-10 13:11:49 -05:00
Dov Murik
54d9903c0c Tcl implementation 2015-11-09 22:15:15 -05:00
John Benediktsson
d1596ac242 factor: update FACTOR_ROOTS in Makefile. 2015-10-29 08:27:24 -07:00
John Benediktsson
199b1ce7b2 factor: update code.
* Works on soon-to-be-released 0.98 (triple quote strings removed)
* 50% more iterations per second on perf3.mal
* Removed 'src' directory, use 'factor' as the root
* Using 'mal' namespace for core, reader, printer, malenv, types
* Fixed issue with "empty" readline input (should be ignored and wasn't)
* Tried to simplify some of the code
2015-10-28 16:20:59 -07:00
Javier Fernandez-Ivern
105c46f181 Updated from master, solved conflicts 2015-10-26 23:14:04 -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
Javier Fernandez-Ivern
c57f1cbb96 Merge remote-tracking branch 'kanaka/master' into kotlin 2015-10-26 20:27:42 -05:00
Javier Fernandez-Ivern
53c2ea70cf Implemented Kotlin MAL up to step 4 2015-10-24 22:10:53 -05:00
Joel Martin
8248463181 Julia: update to verion 0.4. Add time-ms. 2015-10-24 15:41:22 -05:00
Dov Murik
50a964ce14 Vimscript implementation 2015-10-20 15:04:04 -04:00
Joel Martin
406761e769 ps: fix self-host and runtest.py parsing issue.
- make sure readline has large enough string for steps2-A
- fix keyword? so that it doesn't leave anything extra on the stack
- fix argparse command line parsing so that that the second '--' on
  the command line is not dropped.
2015-10-12 22:14:45 -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
337c80310c guile: fix regex with unicode bug. 2015-10-09 11:15:26 -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
Joel Martin
f7824465dc Another travisCI attempt for JS and python (matrix). 2015-10-05 17:25:48 -05:00
Joel Martin
cf1d3eae66 Add .travis.yml and js/Dockerfile
- .travis.yml: currently pulls js docker image and runs tests for js
  impl only.
2015-10-05 16:46:21 -05:00
ekmartin
df2ca97b82 Update Elixir build method 2015-09-10 22:10:40 +02:00
ekmartin
bb52697591 Update README/Makefile/Dockerfile 2015-09-10 01:47:55 +02:00
ekmartin
d88bc83145 Make sure eval of do is in tail position and skip step 5 2015-09-06 14:59:45 +02:00
ekmartin
51c2c1fea7 Add elixir step0 2015-09-03 00:08:25 +02:00
Mitsuru Kariya
3b7ef8c720 rename directory 2015-08-26 10:13:25 +09:00
Mitsuru Kariya
8c7587af67 Adds GNU awk implementaion 2015-08-26 00:46:31 +09:00
Joel Martin
4eb719905f ES6: step0 and step1 basics. 2015-07-30 21:15:55 -05:00
Peter Stephens
22ded92c88 Merge remote-tracking branch 'kanaka/master' into fsharp
Conflicts:
	.gitignore
	Makefile
2015-07-05 21:28:20 -05:00
Joel Martin
4fc7a281be Makefile: add generic top-level impl build rule.
This will attempt to build the program in the implementation directory
when, for example `make test^step1` is invoked. This was true for
c and cpp, but now the rule is generic.
2015-06-16 10:23:12 -05:00
Joel Martin
80320efc47 RPython: step1 basics 2015-06-11 09:33:07 -05:00
rhysd
725ee0bd91 crystal: fix early steps broken because of later refactoring 2015-06-04 00:33:08 +09:00
rhysd
86fe63145a crystal: fix Makefile to build all steps 2015-06-03 02:26:59 +09:00
rhysd
58b84dd5ca crystal: Prepare to implement with Crystal 2015-06-03 02:26:58 +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
Joel Martin
9f21caf388 Merge pull request #56 from NalaGinrut/master
Added GNU Guile implementation
2015-04-06 15:18:50 -05:00
Peter Stephens
8862f80efd fsharp: step5: Added tail call optimization. 2015-04-04 22:01:05 -05: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
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
Nala Ginrut
e125d3654b merge upstream 2015-04-04 02:37:57 +08:00
Jordan Lewis
389c9b8a32 factor: step0 and scaffolding 2015-04-01 15:54:24 -04:00
Joel Martin
a23e0cdb75 Julia: step 1 basics. 2015-03-31 23:04:42 -05:00
Nala Ginrut
8d3e71edaf guile enable step5 test 2015-04-01 00:29:08 +08:00
Nala Ginrut
f040d9fbf4 guile step5 & step6 works 2015-03-31 23:39:59 +08:00
Stephen Thirlwall
0fbd1b81cd Exclude cpp from test step 5
Completes at 10,000 (bus error at 20,000)
2015-03-28 15:26:07 +11:00
Stephen Thirlwall
9ddaa0b91b c++11: step 0 2015-03-27 20:44:42 +11:00