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

49 Commits

Author SHA1 Message Date
Joel Martin
cd30e52b31 rust: fix Dockerfile to include WORKDIR=/mal 2018-07-14 19:27:11 -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
Dov Murik
f55aec105e ps, rust: Add number?, fn?, macro? 2017-10-16 06:41:57 +00:00
Joel Martin
ea02f46445 Fix unescaping in bash, basic, es6, js, ruby, rust. 2017-09-28 07:40:47 -05: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
577e643bfa Rust: update rust to 1.14
- fixup new warnings

Note: performance on the perf microbenchmark appears much better than
before.
2017-02-10 23:02:30 -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
3c88e933a2 erlang, factor, rust: fix empty list eval
This should address remaining implementation fixes for #194.
2016-04-04 12:07:47 -05: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
06bc1e41fb rust: fix make all to build step binaries. 2016-03-14 22:28:24 -05:00
Joel Martin
9044b1fdb1 Merge branch 'master' into issue_166_string_ops 2016-02-24 12:00:08 -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
ee5f9da46d mal, rust: add seq/string?
Issue #166.
2016-02-11 14:38:29 -06:00
Dov Murik
866042440b cpp, haxe, rust: Fix (first nil) and (rest nil) 2016-02-03 21:23:48 -05:00
Joel Martin
d5b81cc072 julia, matlab, r, rust, swift: fix macro result evaluation
Related to issue #142.
2016-01-26 14:16:20 -06:00
Dov Murik
29ba1fb6c0 Add gensym and clean or macro to stepA of 19 implementations (part 3)
* awk
* cpp
* cs
* es6
* factor
* fsharp
* groovy
* haskell
* java
* julia
* kotlin
* matlab
* php
* r
* rpython
* rust
* scala
* swift
* vb
2016-01-25 16:30:54 -05:00
Joel Martin
8d78bc26bf All: fix read/print of \\, and \n 2015-10-30 22:05:49 -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
Joel Martin
4e8d7c2816 Travis: fixed rust, re-activate other impls 2015-10-09 14:38:02 -05:00
Joel Martin
b2ba445355 rust: update to rustc 1.3.0 2015-10-08 17:15:34 -05:00
Joel Martin
6b8a72d69a Travis: fix mal and rust docker image build. 2015-10-08 00:22:07 -05:00
Joel Martin
60cc05463e Travis: comment out rust until fixed. 2015-10-06 02:35:40 -05:00
Joel Martin
1ac6ed26f2 Travis: add R, Rust. Also coffee (broke). 2015-10-06 01:49:15 -05:00
Joel Martin
55a253cbce Revert "Revert "Replace pcre with Rust-implemented regex crate (based on RE2).""
This reverts commit 30794b7111.
2015-03-05 23:22:56 -06:00
Joel Martin
30794b7111 Revert "Replace pcre with Rust-implemented regex crate (based on RE2)." 2015-03-05 23:14:56 -06:00
Andrew Gallant
9522f103b3 Replace pcre with Rust-implemented regex crate (based on RE2). 2015-03-05 20:01:29 -05:00
Joel Martin
fb439f3cdf Rust: apply improvements in stepA to other steps. 2015-03-05 13:15:12 -06:00
Alex Crichton
e1b2062f95 Fix a bad copy/paste apparently 2015-03-05 09:46:51 -08:00
Alex Crichton
bbeb1b87c2 Update Rust code to the current Rust nightly
Lots of changes! Hopefully everything is still semantically equivalent (tests
still pass)
2015-03-05 00:40:57 -08:00
Joel Martin
434516e0d1 Rust: build with --release. 10X performance boost! 2015-03-04 11:25:21 -06: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
2ab1e5845c Multiple: interop enhancements. 2015-02-28 10:35:04 -06:00
Joel Martin
b8ee29b22f All: add keywords.
Also, fix nth and count to match cloure.
2015-01-09 16:16:50 -06:00
Joel Martin
111dbaf1ac rust: update README. Remove exp.rs compilation. 2015-01-08 10:56:10 -06:00
Joel Martin
b554fd4ed0 rust: fix quote/quasiquote of vectors. 2015-01-06 21:59:01 -06:00
Joel Martin
77b2da6cf3 rust: add conj, stepA. Self-hosting! 2015-01-06 21:59:01 -06:00
Joel Martin
bd3067230d rust: add metadata support. 2015-01-06 21:59:00 -06:00
Joel Martin
06fef9b518 rust: add atom support. Fix vector params. 2015-01-06 21:59:00 -06:00
Joel Martin
b12d98e4e3 rust: core hash-map functions. 2015-01-06 21:59:00 -06:00
Joel Martin
3744d56621 rust: add step9_try. Refactor error handling.
Additional core functions.
2015-01-06 21:58:59 -06:00
Joel Martin
5939404b0f rust: add vector and hash-map support. 2014-10-27 20:07:29 -05:00
Joel Martin
a77e2b31de rust: add step8_macros 2015-01-06 21:58:59 -06:00
Joel Martin
4ee7c0f297 rust: add step7_quote. Refactor with type constructors. 2015-01-06 21:58:58 -06:00
Joel Martin
85bec8a08b rust: add step6_file 2015-01-06 21:58:58 -06:00
Joel Martin
2ee5367b95 rust: add step5_tco 2015-01-06 21:58:58 -06:00
Joel Martin
0a4d62f2f8 rust: add step4_if_fn_do 2015-01-06 21:58:57 -06:00
Joel Martin
8f5b0f1040 Rust: add step3_env 2015-01-06 21:58:57 -06:00
Joel Martin
0ab374bc26 rust: add step2_eval. 2015-01-06 21:58:57 -06:00
Joel Martin
abdd56ebc0 Rust: step0_repl and step1_read_print 2015-01-06 21:58:35 -06:00