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

1677 Commits

Author SHA1 Message Date
Dov Murik
d953db84fc js: Fix interop, update web REPL page
* js* renamed to js-eval and is no longer a special form (just a normal
  function in core.js)
* . is no longer a special form (just a normal function in core.js)
* fixed object/method parsing of first argument to .
* added tests for .
* updated mal.html: "Mal at a glance" shows all Mal functions
2016-06-14 23:21:38 -04:00
Joel Martin
6b81f2abb0 Merge pull request #218 from dubek/io-interop
io: Add interop function io-eval
2016-06-13 10:27:15 -05:00
Joel Martin
f9fddfefe8 Merge pull request #219 from hinrik/perl6_eval_tests
Add tests for perl6-eval function
2016-06-13 10:25:29 -05:00
Joel Martin
d54f79f8c9 Merge pull request #220 from dubek/test-case-sensitive
tests: Verify case sensitivity of names and strings
2016-06-13 10:25:04 -05:00
Dov Murik
eb63e565f3 tests: Verify case sensitivity of names and strings 2016-06-13 01:11:41 -04:00
Dov Murik
3ba35e6680 io: Add interop function io-eval 2016-06-12 21:40:08 -04:00
Joel Martin
5e067d21ab Merge pull request #216 from hinrik/add_perl6_impl
Perl 6: Throw exception on missing ), ], or }
2016-06-12 13:44:15 -05:00
Joel Martin
3cbbb2ba07 Merge pull request #217 from dubek/lua-interop
Add Lua interop and describe interop in the guide
2016-06-12 13:43:23 -05:00
Hinrik Örn Sigurðsson
e6de98e21c Add tests for perl6-eval function 2016-06-12 15:55:01 +00:00
Dov Murik
6440cc5094 process/guide: Describe interop function quux-eval 2016-06-11 21:37:56 -04:00
Dov Murik
2d05680bd5 lua: Add interop core function lua-eval 2016-06-11 21:37:56 -04:00
Hinrik Örn Sigurðsson
68d56be69e Perl 6: Throw exception on missing ), ], or } 2016-06-11 19:53:50 +00:00
Joel Martin
a7e008f463 Merge pull request #215 from hinrik/add_perl6_impl
Add Perl 6 implementation
2016-06-11 13:38:57 -05:00
Hinrik Örn Sigurðsson
0208e17e7e Test the Perl 6 implementation on Travis 2016-06-11 15:02:11 +00:00
Hinrik Örn Sigurðsson
e86a05d5af Add perl6-eval interop function 2016-06-11 15:02:11 +00:00
Hinrik Örn Sigurðsson
a708140106 Add Perl 6 implementation
All tests pass, but readline support (via Linenoise module) is commented
out in step0_repl.pl as it is not a core module. Should maybe change it
when docker support is added.
2016-06-11 15:02:06 +00:00
Joel Martin
553a0950c8 Makefile: user specified TEST_OPTS take precedence.
runtest uses argparse so the later arguments will take precedence.
2016-06-08 13:29:59 -05:00
Joel Martin
95005a7a1f Merge pull request #214 from rhysd/crystal-0.17.4
Crystal: Fix steps for Crystal v0.17.4
2016-06-06 13:22:00 -06:00
rhysd
492144ce47 Crystal: Fix steps for Crystal v0.17.4 2016-06-07 02:30:44 +09:00
Joel Martin
28999483f1 plsql: disable until tests more reliably pass. 2016-06-06 11:33:33 -05:00
Joel Martin
ba1649e417 plsql: add oracle user in Dockerfile. Longer test startup,
Also, fix repeated test options in top-level Makefile.
2016-06-03 10:20:28 -05:00
Joel Martin
87e58db22a plsql: disable until uid 1001 issue resolved. 2016-06-02 12:57:34 -05:00
Joel Martin
88944416c2 plsql: enable travis build. 2016-06-02 12:44:36 -05:00
Joel Martin
bdb7ed9426 plsql: add run script. 2016-05-23 21:41:29 -06:00
Joel Martin
52edd33382 plsql: fix normal user/sudo startup of container. 2016-05-22 00:18:34 -06:00
Joel Martin
b88bb764ff *sql: update Makefiles, README. Logon override. 2016-05-22 00:18:25 -06:00
Joel Martin
2866f9a885 plsql: add dockerfile. Lots of cleanup/renaming. 2016-05-22 00:16:02 -06:00
Joel Martin
8119e74483 plsql: Fix readline/output async. Improve arg mode. 2016-05-22 00:16:02 -06:00
Joel Martin
02936b429a plsql: self-hosting. Long strings, refactor io. 2016-05-22 00:16:02 -06:00
Joel Martin
6a08510367 plsql: keyword/vector/hash-map. Other deferrables. 2016-05-22 00:16:02 -06:00
Joel Martin
10cc781f71 plsql: stepA basics. Fix step6 argument processing. 2016-05-22 00:16:01 -06:00
Joel Martin
150011e4b6 plsql: add step9 basics. Refactor arg list passing. 2016-05-22 00:16:01 -06:00
Joel Martin
0fc0391825 plsql: refactor with memory pool. step5,7,8 basics.
Ran into the same problem with macroexpand that prevented TCO in
step5. Apparently objects as parameters cannot be re-assigning (or
copied and re-assigned even) in a loop. When trying to do so, the
server process crashes with a memory error.

Move away from try to allocate and pass full structures around.
Instead pass integer references into a memory pool of the objects
(nested table of mal objects) and then pass this memory pool around by
reference. Passing the memory pool around all over the place is ugly,
but it allows TCO and macroexpand to work at all and seems to have
better performance anyways.
2016-05-22 00:16:01 -06:00
Joel Martin
06951f55e8 plsql: step6 basics. File I/O in io.sql and wrap.sh 2016-05-22 00:16:01 -06:00
Joel Martin
9fc524f1c8 plsql: step4 basics. 2016-05-22 00:16:01 -06:00
Joel Martin
7836cfa36b plsql: step2,3 basics. 2016-05-22 00:16:01 -06:00
Joel Martin
97df14cdaf plsql (Oracle PL/SQL): Copy plpgsql. Step0,1 basics. 2016-05-22 00:16:01 -06: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
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
37a33ac72e scala: Run steps directly from jar file
The Scala build will create a mal.jar file with all the steps' classes
in it.  A `run` wrapper script will run that jar with a specific step
main class according to the `$STEP` environment variable.  Now the jar
file is created only once (when testing step0) and then re-used for
testing the next steps, which should speed up the build.

Moreover, sbt now prepends shell script header to the jar file, so no
need to implement this in Makefile (for the `dist` target).
2016-05-16 11:25:42 -04:00
Dov Murik
31cc710f06 make: Clean script output; skip test for command-line argument with spaces
Add --no-print-directory to make implementation execution so it only
prints the actual output from a Mal script.

Alos, since the make implementation can't handle spaces in a
command-line argument, we skip this test.
2016-05-15 00:05:09 -04:00
Dov Murik
27a8252525 matlab: Add 'run' script to handle command-line args
The 'run' wrapper script escapes and creates the proper matlab/octave
command-line, replacing definitions from the main Makefile.
2016-05-14 23:55:30 -04:00
Dov Murik
e09f1b102a java: Add 'run' script which quotes arguments correctly 2016-05-14 23:42:58 -04:00
Vasilij Schneidermann
b95c6e2dbf Implement step 5 2016-05-14 19:37:14 +02:00
Dov Murik
09dce03504 io: Add wrapper to swallow startup message from Io interpreter
The `io/run` script will run the io interpreter on a step file given in
the `$STEP` environment variable.  It'll swallow the first 25 bytes
printed by the interpreter because they are a startup message about the
Io Regex module (and can't be suppressed in a normal way).
2016-05-13 10:20:31 -04:00
Joel Martin
fac46c23e0 Merge pull request #213 from dubek/time-ms-fixes
cpp, erlang: time-ms fixes
2016-05-12 16:30:57 -05:00
Vasilij Schneidermann
f823ec25d3 Use truthiness constants 2016-05-12 20:04:48 +02:00
Dov Murik
b85c07fd07 factor: Set *ARGV* and run command-line script correctly in step6-stepA 2016-05-12 08:51:19 -04:00
Vasilij Schneidermann
674e1c56b6 Implement step 4 2016-05-12 10:41:05 +02:00
Dov Murik
8a16f95375 r: Fix setting *ARGV* 2016-05-11 16:29:33 -04:00