Oleg Montak
447a09bdfb
swift5: step0_repl
2019-11-08 21:46:18 +03:00
Joel Martin
609fc44f44
Merge pull request #466 from epylar/patch-2
...
Update Rust version information in README.md
2019-11-02 19:41:07 -05:00
Gavin Lewis
bcb7af3191
Update Rust version information in README.md
2019-11-02 16:43:24 -07:00
Joel Martin
3a9018f17b
Merge pull request #465 from dubek/wren-impl
...
Wren implementation
2019-11-02 15:49:25 -05:00
Dov Murik
45a72227fb
wren: Add dist
target to Makefile
2019-11-02 22:42:51 +02:00
Dov Murik
c919244465
wren: Add dummy Makefile
2019-11-02 22:28:34 +02:00
Dov Murik
725d5ae073
Travis: add wren to matrix
2019-11-02 21:23:51 +02:00
Dov Murik
84eaa11caf
README: add Wren implementation
2019-11-02 21:23:51 +02:00
Dov Murik
5755c330fb
Add Wren implementation
2019-11-02 21:23:56 +02:00
Joel Martin
2612507c2b
Merge pull request #464 from dubek/tests-nth-with-nil-element
...
tests: step8: Verify nth doesn't throw on nil elements
2019-10-30 19:15:50 -05:00
Dov Murik
0fa01f40a9
tests: step8: Verify nth doesn't throw on nil elements
2019-10-31 01:06:46 +02:00
Joel Martin
5884a5ba0b
Merge pull request #463 from epylar/rust-2018
...
Update Rust implementation to Rust 2018
2019-10-24 23:42:56 -05:00
Gavin Lewis
c4c151f2bb
Update rust dependencies to latest versions
...
Rustyline now includes the newline when we read lines, so readline
in core.rs is modified to remove trailing \r\n or \n.
2019-10-24 17:50:56 -07:00
Gavin Lewis
cb6b513467
Update rust dependency lazy_static to 1.4.0
...
1.4.0 is the latest version of lazy_static. The previous version,
1.0.1, resulted in some compiler warnings when building the rust
implementation with rust 1.38.0.
2019-10-24 15:57:28 -07:00
Gavin Lewis
c9b18677e3
Update Rust implementation to Rust 2018
...
- Use 'cargo fix --edition' to perform upgrade
- Update Dockerfile to use latest Rust stable: 1.38.0
2019-10-24 09:25:37 -07:00
Joel Martin
71f57e8a95
Merge pull request #461 from epylar/patch-1
...
Add missing python.2 author (myself) to README.md
2019-10-22 08:39:03 -05:00
Gavin Lewis
8501fcab11
Add missing python.2 author (myself) to README.md
...
I missed the authors table when originally submitting the `python.2` implementation.
2019-10-21 21:01:33 -07:00
Joel Martin
4aaabac738
Merge pull request #460 from epylar/perf-python.2
...
Improve python.2 performance on perf3 benchmark by 77%
2019-10-19 12:08:05 -05:00
Gavin Lewis
3b660b43de
Improve python.2 performance on perf3 benchmark
...
Performance is improved about 77% on my system
Optimizations:
- remove use of ABC/abstractmethod
- start new environments with copy of outer; no need to find(key)
- run with asserts off
2019-10-19 09:18:27 -07:00
Joel Martin
2fe64cd28e
Merge pull request #459 from epylar/fix-travis-script-bash-5
...
Fix Travis test script to work with Bash 5
2019-10-17 15:23:57 -05:00
Joel Martin
0448e6499c
Merge pull request #458 from epylar/standardize-python.2-Dockerfile
...
Standardize python.2 dockerfile
2019-10-17 11:59:58 -05:00
Gavin Lewis
e9e171d1b9
Fix Travis test script to work with Bash 5
...
Bash 5 doesn't like periods in variable names so this commit
performs a substitution to double underscores to avoid them.
2019-10-17 08:00:23 -07:00
Gavin Lewis
7bfa1ee145
Standardize python.2 Dockerfile
...
Match other Dockerfiles to re-use layers.
2019-10-17 07:59:00 -07:00
Joel Martin
0a24b382cb
Merge pull request #455 from epylar/python.2
...
Add python.2 implementation
2019-10-15 15:59:51 -05:00
GL
791052af2d
Update README.md for python.2
2019-10-15 13:55:29 -07:00
Gavin Lewis
c66dff9e33
Fix Travis build for python.2
...
* Change python.2/run to always call python3
* Add no-op python.2/Makefile
2019-10-14 17:11:10 -07:00
Gavin Lewis
9b66de860e
Enable Travis testing for python.2
2019-10-14 15:48:56 -07:00
Gavin Lewis
270f1f7272
Add python.2 implementation
...
This commit adds a new Python 3 implementation of MAL. This
implementation passes all non-optional tests, with the exception
that the travis test script doesn't like the period in the
directory name. During development, this was called "py3" and
it passed Travis tests.
This implementation is different from the main python implementation.
First, it heavily uses type annotations making for a code style
more similar to Java. Second, it uses the Arpeggio parser library
to parse MAL syntax.
This commit also includes unit tests that show roughly the order
of things that were interactively tested and debugged during
development.
2019-10-13 19:11:29 -07:00
Joel Martin
95974692d1
Merge pull request #454 from epylar/clarify-step5-tco
...
Clarify Step 5 of the implementation guide
2019-10-12 18:28:36 -05:00
Gavin Lewis
6af9688743
Clarify Step 5 of the implementation guide
...
This commit rewords the description of how to change the
apply/invoke case of EVAL for Step 5 (TCO). The new description
is clearer about how to set the exrps argument of the new
environment being created.
2019-10-12 16:23:36 -07:00
Joel Martin
af0d00ddec
Merge pull request #451 from seven1m/malcc-link
...
Link to malcc on GitHub
2019-10-04 12:06:55 -04:00
Tim Morgan
343c633205
Link to malcc on GitHub
2019-10-03 23:51:13 -05:00
Joel Martin
26e29fe36e
Merge pull request #448 from rofrol/rust-rustfmt
...
rust: rustfmt
2019-09-18 12:42:25 -05:00
Joel Martin
c5918fa571
Merge pull request #449 from dubek/pike-impl
...
Pike implementation
2019-09-18 10:09:32 -05:00
Dov Murik
59c841cb69
travis: Add pike to the test matrix
2019-09-18 08:55:53 +03:00
Dov Murik
742af2bbf6
README: add Pike implementation
2019-09-18 08:53:48 +03:00
Dov Murik
a04e7a78d8
Add Pike implementation
2019-09-18 08:49:33 +03:00
Joel Martin
953e0d74d1
Merge pull request #447 from rofrol/rust-remove-readline.rs
...
rust: remove readline.rs
2019-09-17 14:01:42 -05:00
Roman Frołow
4a649b37e9
rust: rustfmt
2019-09-17 20:55:49 +02:00
Roman Frołow
7e35eb640a
rust: remove readline.rs
2019-09-17 20:31:15 +02:00
Joel Martin
fb7a70737b
Merge pull request #444 from bjh21/bjh21-bare-newline
...
step 6: Test reading strings containing bare newlines.
2019-08-27 09:36:27 -05:00
Joel Martin
77883ac649
tcl, yorick: fix read-string of raw newline.
2019-08-27 00:28:43 -05:00
Joel Martin
c9b7b019eb
awk, bash: fix read-string of raw newline.
...
Also, cleanup up bash tokenizer a bit.
2019-08-21 21:44:42 -05:00
Joel Martin
f5cfa7a049
Merge pull request #445 from bjh21/bjh21-bbc-basic
...
bbc-basic: Permit bare newlines in strings.
2019-08-21 16:47:39 -05:00
Ben Harris
35848fbb0a
bbc-basic: Permit bare newlines in strings.
...
The official regexp allows them.
2019-08-21 21:27:27 +01:00
Ben Harris
0d17edb428
step 6: Test reading strings containing bare newlines.
...
The official regexps permit bare newlines in strings, and the mal
implementation currently contains one.
2019-08-21 20:50:48 +01:00
Joel Martin
d5061dccb9
Merge pull request #442 from asarhaddon/mal-macro-env
...
Mal: cosmetic improvements for envs and macros
2019-08-21 12:58:08 -05:00
Nicolas Boulenguez
d7e7c18b3d
mal: during environment lookup, convert the key to string only once.
2019-08-21 10:23:24 +02:00
Nicolas Boulenguez
9a6f5ee3a6
mal: improve efficiency of macro expansion
...
Spare 4 environment creations during macro expansion.
2019-08-20 23:32:24 +02:00
Nicolas Boulenguez
0cdd0df814
mal: when looking up a macro in the env stack, only traverse the stack once
2019-08-20 23:31:46 +02:00