1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 02:27:10 +03:00
Commit Graph

214 Commits

Author SHA1 Message Date
Joel Martin
c4269f9bf5 Convert to loccount based stats calculation. 2019-03-20 23:34:21 -05:00
陆遥
573f6d0f7e Update Makefile 2019-03-05 18:27:26 +08:00
Joel Martin
195977ceee Ignore step5 excludes during REGRESS too. 2019-02-26 17:42:20 -06:00
Joel Martin
e47a5ec437 Makefile: mention TEST_OPTS in help. 2019-01-30 11:56:01 -06:00
Joel Martin
76adfab958 wasm: split js mode platform code out.
Simplify the interface to remove imports that aren't used (stdout and
add_history) and simplify (rename fputs to printline).
2018-12-10 00:36:39 -06:00
Joel Martin
8914943790 wasm: enable execution with Node
Add node mode to travis alongside wace_libc.
2018-12-09 22:55:49 -06:00
Joel Martin
b16fe73ec1 wasm: Steps 0-3 ported from basic. Preprocessor.
Needs wace from https://github.com/kanaka/wac to run.

wastpp.py processes the listed modules and outputs a single combined
module. It finds inline strings and hoists them to the top into a data
section and creates pointer variables into that memory and replaces
the inline strings with pointer lookups.
2018-12-08 17:01:04 -06:00
Joel Martin
5ffa3314f9 perf: simplify perf3 iter calc. Enable perf^mal.
Since the iter count increases by 1 each time through the "loop", when
we hit more than 10 seconds elapsed time we can just return the
previous iter count rather than doing a percentage calculation. This
fixes results for basic modes which couldn't do the percent
calculation because itermediate values were greater than 32,768 which
is the limit for basic MODES.

Also, the mal implementation now runs and returns legit results so
re-enable perf^impl.
2018-07-16 12:24:05 -05:00
Joel Martin
4ef4b17cd0 rust: Update rust and update/refactor implementation
This rewrites the rust implementation to use many new features of the
current version of rust.

The refactor is much more concise (only 2/3rds the size) and switches
to using a lot of the more functional features (iterators, closures,
etc) that have been added or improved in rust.

Unfortunately, the implementation is a fair bit slower (about 30% on
perf3). It's not clear why this is the case but concision and being
more idiomatic wins over performance.
2018-07-13 17:21:00 -05:00
Vasilij Schneidermann
8ea36c892f Rename gst and pil to gnu-smalltalk and picolisp 2018-06-17 19:54:54 +02:00
Dov Murik
92708e3488 Add Fantom implementation 2018-06-03 20:08:19 +00:00
Ben Dudson
0ad505e829 Step0 (input/output) passes tests
* String handling simplified, will not handle very long strings
* Memory allocation missing, always using the same buffer currently
2017-10-09 00:10:03 +01:00
Joel Martin
a11a023558 ES6: Use ES6 modules. Update node. 2017-09-28 08:35:05 -05:00
Joel Martin
a9f6469163 Makefile: alphabetize implementations. 2017-09-25 15:25:47 -05:00
Dov Murik
21986733a1 Yorick implementation 2017-09-22 21:16:55 +00:00
Joel Martin
67365c0546 Hy: step0 2017-09-19 22:35:59 -05:00
Joel Martin
115e430d02 Basic: QBasic fixes/enabling. Recursive includes.
Enable QBasic console mode usage and fix bugs in newline handling
differences with C64 basic (cbm). To enable console mode for QBasic
programs, have basicpp.py prefix the output with the QB64 specific
console activation variables/functions.

One change to basicpp.py to make this change more straightfowards is
recursive includes so that includes can appear in more than just the
top level step files. This allows us to conditionally include the
right readline implementation. For QBasic in the special console mode
(instead of the default full-screen UI mode) we need to use the LINE
INPUT command in order to read input.
2017-09-14 23:50:15 -05:00
Joel Martin
2a368ba6df JS, Rexx: fix step build deps. 2017-09-14 23:39:00 -05:00
Joel Martin
48bd82ba6c Makefile: add docker-shell target(s). 2017-09-14 23:37:26 -05:00
Joel Martin
5a5357b17e Makefile: re-ordering. Drop extra SECONDEXPANSIONs 2017-09-14 23:36:25 -05:00
Joel Martin
de37556cd2 Merge pull request #273 from wasamasa/r7rs-implementation
R7RS implementation
2017-09-13 14:55:48 -05:00
Vasilij Schneidermann
d09216a03c Set default Scheme implementation for tests 2017-09-13 20:14:50 +02:00
Vasilij Schneidermann
fea8cfff34 Fix Makefile 2017-09-13 16:49:15 +02:00
Joel Martin
edd7e9c259 Haxe: skip step5 when cpp MODE. 2017-09-12 08:57:01 -05:00
Vasilij Schneidermann
d209e68a49 Merge remote-tracking branch 'upstream/master' into r7rs-implementation 2017-09-12 10:08:15 +02:00
Joel Martin
85bb01d0bb Fix conveyance of *_MODE variables to build rules. 2017-09-11 18:23:32 -05:00
Joel Martin
2d76e8776c Generic <impl>_MODE setting. Add travis modes.
For implementations that support different compile/run modes, the
convention is not <impl_name>_MODE=<mode>. This is passed through to
make/docker commands. Fix Makefiles and run scripts to listen to the
respective *_MODE variables.

Enable travis builds/tests for 4 Haxe modes and 2 python modes.
2017-09-11 17:54:26 -05:00
Vasilij Schneidermann
a7b8df6715 Rename to scheme 2017-09-11 23:54:50 +02:00
Vasilij Schneidermann
244ac2d6d2 Implement step 0 2017-09-03 10:55:04 +02:00
Joel Martin
62fc786e1b [clojure] Fixes to support lumo 1.6.0.
- Pass down the CLJ_MODE value for DOCKERIZED builds in addition to
  run/tests.
- Correct deps so that node_modules is installed for CLJ_MODE=cljs for
  all steps.
- Lumo 1.6.0 is currently not able to install globally as root
  (https://github.com/anmonteiro/lumo/issues/206) so add the local
  node_modules/.bin to the PATH in the run script.
- Reader conditionals needed for clojure.reader/cljs.reader until this
  is fixed: https://github.com/anmonteiro/lumo/issues/209
2017-07-27 00:04:35 -05:00
Jos van Bakel
c9673ca1ec Merged master, resolved conflicts 2017-07-25 08:28:33 +02:00
Jos van Bakel
f38c7ffad1 Elm: fix makefile, added to readme and enable travis 2017-07-22 22:18:35 +02:00
Dov Murik
33a372916d Add rexx implementation 2017-07-20 12:09:29 +00:00
Vasilij Schneidermann
6ad01a989e Merge branch 'master' into gnu-smalltalk-implementation 2017-07-10 09:07:25 +02:00
Vasilij Schneidermann
908bb61f76 Implement step 0 2017-07-01 22:33:38 +02:00
Jos van Bakel
bff7ae8bc8 Elm: step 0 2017-06-04 11:54:24 +02:00
Jos van Bakel
dcccf1b263 Added livescript 2017-04-05 22:01:41 +02:00
vvakame
571eb786b4 TypeScript: setup initial environment 2017-02-23 00:33:40 +09:00
Joel Martin
a0e89ae42a Rust, miniMAL, VHDL: misc fixes.
- Fix rust Dockerfile working dir.
- Make top-level Makefile more generic. This makes it easier to use
  the Makefile with fewer changes in miniMAL.
- Simplify vhdl build when case is fixed in stepA_mal
- Remove BUILD_IMPL=js from miniMAL travis test. Just use a docker
  image specifically made for miniMAL.
- Update TODO
2017-02-11 00:40:23 -06:00
Joel Martin
2b933f429c Clojure: support ClojureScript using CLJ_MODE=cljs
- Requires conditional in stepA tests.
2017-02-11 00:09:02 -06:00
Joel Martin
3c823be2f8 Merge pull request #250 from dubek/skew
Add Skew implementation
2016-11-21 11:16:23 -06:00
Dov Murik
034e82adc5 Add Skew implementation
See http://skew-lang.org/ for details on the Skew language. Currently
Mal only compiles to Javascript, as there are some issues with the C#
backend for Skew (https://github.com/evanw/skew/issues/19).

Tested with Skew 0.7.42.
2016-11-20 10:10:41 +00:00
Iqbal Ansari
f48e7d5a7a Common Lisp: Remove GNU CLISP specific implementation 2016-11-18 22:49:24 +05:30
Iqbal Ansari
983d9f3b20 Common Lisp: Implement step 0 2016-11-18 17:59:27 +05:30
Harry Terkelsen
4ceefe3b50 use tabs for Makefile 2016-11-13 14:28:19 -08:00
Harry Terkelsen
46e89434f5 fix makefile 2016-11-13 14:27:03 -08:00
Harry Terkelsen
2c52c8b118 Merge branch 'master' into dart 2016-11-13 14:24:49 -08:00
Harry Terkelsen
3934e3f825 add Dart implementation 2016-11-13 14:21:44 -08:00
Joel Martin
b3658328e4 Merge branch 'master' of github.com:kanaka/mal 2016-10-31 17:41:58 -05:00
Vasilij Schneidermann
42f304e8c9 Implement step 0 2016-09-30 10:05:43 +02:00