1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-11 13:55:55 +03:00
Commit Graph

74 Commits

Author SHA1 Message Date
Duncan Watts
fe6c42e303 renamed to c.2 and rebased onto latest master 2021-05-12 09:32:29 -05:00
Joel Martin
8a19f60386 Move implementations into impls/ dir
- Reorder README to have implementation list after "learning tool"
  bullet.

- This also moves tests/ and libs/ into impls. It would be preferrable
  to have these directories at the top level.  However, this causes
  difficulties with the wasm implementations which need pre-open
  directories and have trouble with paths starting with "../../". So
  in lieu of that, symlink those directories to the top-level.

- Move the run_argv_test.sh script into the tests directory for
  general hygiene.
2020-02-10 23:50:16 -06:00
Oleg Montak
447a09bdfb swift5: step0_repl 2019-11-08 21:46:18 +03:00
Joel Martin
0a19c2f1c7 wasm: update to 2019 wat syntax, use .wat extension
wasm: update to wat syntax as of Jan 2019.

Examples:
- get_local -> local.get
- i32.wrap/i64 -> i32.warp_i64
- etc

The distinction between wat and wast has been clarified:
- wat: textual format for web assembly modules
- wast: superset of wat used in the specification to define tests.
2019-01-16 00:13:51 -06:00
Joel Martin
33309c6a62 wasm: Convert to wam syntax using wamp.
- Convert sources to much more concise wam syntax supported by wamp.
- Rename sources from *.wast to *.wam and generate *.wast files by
  translating via wamp.
2018-12-08 17:02:09 -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
e10ceff503 Update JS impls: use ffi-napi and Ubuntu 18.04 2018-11-28 17:12:17 -06:00
Joel Martin
a2bcbe2bb5
Merge pull request #319 from chr15m/refactor-php-web-runner
PHP: refactor web running mechanism.
2018-06-24 11:27:48 -05:00
Chris McCormick
9106f92cbc PHP: refactor web running mechanism. 2018-06-24 19:45:29 +08:00
Dov Murik
92708e3488 Add Fantom implementation 2018-06-03 20:08:19 +00:00
Joel Martin
a11a023558 ES6: Use ES6 modules. Update node. 2017-09-28 08:35:05 -05:00
Joel Martin
130fdf5d18 Ignore rust/matlab runtime dirs. Typo in TODO. 2017-09-28 08:35:05 -05:00
Joel Martin
cf01dac145 Add package.lock to .gitignore 2017-09-21 17:35:38 -05:00
Joel Martin
e17aef048e Misc fixes and TODO updates.
- Truncate ruby and python stacktraces since they can get very long
  in certain cases causing problems.
- Fix Clojure West example with proper escaping.
2017-09-15 00:00:23 -05: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
bff7ae8bc8 Elm: step 0 2017-06-04 11:54:24 +02:00
Jos van Bakel
361dffd818 Fixed wrong ignore of livescript/node_readline.js 2017-05-24 15:07:09 +02:00
Jos van Bakel
dcccf1b263 Added livescript 2017-04-05 22:01:41 +02: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
e7e61f3274 Common Lisp: Keep track of the implementation used to build a step
Rebuild the step if the implementation changes
2016-11-18 18:11:20 +05:30
Iqbal Ansari
79011c5393 Common Lisp: Ignore fasl and lib files 2016-11-18 18:11:20 +05:30
Iqbal Ansari
983d9f3b20 Common Lisp: Implement step 0 2016-11-18 17:59:27 +05:30
Joel Martin
1e7b6f841f Ada: add ada/obj to .gitignore 2016-11-04 22:52:58 -05:00
Joel Martin
4e7d8a1bcf Basic: fix step6 arg test. Gensym. Misc cleanup.
- Strip linefeeds in run_argv_test.sh so that step6 arg test passes
  for basic.
- Add gensym and convert or macro.
- Add gitignore entries for transpiled basic sources.
- Add conj/seq stubs so that step4 self-host loads (if non-step4
  functions are commented out in core.mal)
- Bump up Z% value space by 256 spaces (1K)
- Remove old qb2cbm.sh
2016-10-28 00:09:56 -05:00
Iqbal Ansari
3283e402d9 Compile clisp files before running
This step gives really good speedups, there still seem to be some
bottlenecks around evaluation which need attention
2016-08-28 22:26:35 +05:30
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
8119e74483 plsql: Fix readline/output async. Improve arg mode. 2016-05-22 00:16:02 -06:00
Joel Martin
97df14cdaf plsql (Oracle PL/SQL): Copy plpgsql. Step0,1 basics. 2016-05-22 00:16:01 -06:00
Joel Martin
865b628fb9 ObjPascal: gitignore regexpr, mal_readline comments. 2016-03-14 10:59:05 -05:00
Joel Martin
b7550ec2ca ObjPascal: add Sorokin RegExpr.pas to repo.
Originally from http://RegExpStudio.com. Minor patch to run under FPC
(rather than Delphi on Windows).
2016-03-13 17:46:06 -05:00
Joel Martin
0067158f6d Object Pascal: full implementation. Test cleanup.
- Move vector related step4 and step6 tests to optional.
- Fix two step9 tests that weren't checking return value.
2016-03-13 17:12:01 -05:00
Joel Martin
57350ed73c Objective-C: steps 0-4, keywords, hash maps. 2016-03-06 01:24:16 -06:00
Joel Martin
9f097b78e0 .gitignore: Add typical scratch files/dirs. 2016-03-01 14:58:59 -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
Joel Martin
32d0a1cfdb Haxe: add C++, JS, Neko targets. Make neko default. 2016-01-25 23:37:47 -06:00
Joel Martin
0840bfda6d .gitignore: ignore built erlang/mal. 2015-12-17 08:23:47 -06:00
Dov Murik
f82cb96552 D implementation 2015-12-02 15:53:02 -05:00
Joel Martin
6d3fc1be9a Fix hash-map equality in python and rpython. 2015-11-10 11:00:56 -06:00
Joel Martin
595376919b Misc cleanup for midwest.io presentation. 2015-11-07 15:31:25 -06:00
Joel Martin
f3c3903609 All: don't ignore */mal. Fixes #99 2015-10-30 09:31:38 -05:00
Javier Fernandez-Ivern
53c2ea70cf Implemented Kotlin MAL up to step 4 2015-10-24 22:10:53 -05:00
Abhishek Pandey
2acdd6dae7 Changed nim/nimcache to nim/nimcache* in .gitignore
A seperate nimcache folder was being generated for each step with the
name of the step appended to nimcache, like nimcache-step0_repl and so
was not being ignored by git.
This change will prevent git from tracking
any folder with name starting with nimcache in the nim directory.
2015-09-16 11:31:58 +05:30
ekmartin
51c2c1fea7 Add elixir step0 2015-09-03 00:08:25 +02: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
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