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

3147 Commits

Author SHA1 Message Date
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