1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 10:07:45 +03:00
Commit Graph

270 Commits

Author SHA1 Message Date
Joel Martin
74efdd942e README: fix mode after python2/python3 renaming 2024-08-26 09:58:34 -05:00
Nicolas Boulenguez
688503d2cc Rename python implementations to python2 and python3, see #665 2024-08-26 09:57:14 -05:00
Nicolas Boulenguez
87b283a350 python.2: fix tests, use source checkers and more python3 features
Check the whole code with flake8, pylint and mypy.

Report all possible errors with extensive context.

Demonstrate iterators, decorators, functional tools, chain maps,
dataclasses, match statements, assignments expressions.

Implement environments with python chain maps.

Rewrite the reader without external dependencies (but inspired by the
ptk library).  The motivation was that no external library is fully
type-checked for now.

Avoid name clashes when possible (print, read, readline, types).

Write the readline history file at exit, not after each prompt.

Replace printer.pr_str as methods of MAL objects.  This is idiomatic
python, and improves the error reporting.

Change some representations so that the python equality matches the
MAL equality.  The recursion is now implicit.

Remove -O from ./run.  It took me a while to understand that run-time
assertions were disabled!  MAL is about development, not performance.

Dispatch the special forms from a dict, for readability (pylint
rightfully complains that there are too many return statements in
eval_()).

Copy the recursion overflow fix, the python interaction from the first
python implementation.

Add tests detecting that nil false 0 () [] "" are distinct, and that 0
() are not False when tested (in python False == 0 and an empty
container is tested ).

Add tests checking that metadata does not affect equality (they do
with a naive python dataclass).
2024-08-24 10:16:32 -05:00
老刘
08856c34b5 vbs: Update the implementation counts 2024-08-15 09:15:44 -05:00
老刘
492336110c vbs: Merge branch 'kanaka:master' into master 2024-08-15 09:15:44 -05:00
老刘
31fa6bc917 vbs: Merge branch 'kanaka:master' into master 2024-08-15 09:15:44 -05:00
老刘
7e899e3321 vbs: restores files that have been changed for debug 2024-08-15 09:15:44 -05:00
OldLiu
135c439aa9 vbs: update readme 2024-08-15 09:15:44 -05:00
Joel Martin
5463dfac6b Port diagrams to drawio. Update with eval_ast/macro changes.
This incorporates various updates to the diagrams.
* The largest change is the incorporation of the new process where
  eval_ast is integrated into eval and the macroexpand function and has
  been incorporated directly into the eval TCO loop and no longer
  requires a separate function or special form. For the most part, this
  change was discussed in https://github.com/kanaka/mal/issues/587 and
  implemented in https://github.com/kanaka/mal/pull/592. Instead of
  a special form, there is now a "apply macro" box in the eval block.
  The "apply macro" box has a TCO line (but not env creation line unlike
  the "apply" box.
* Change the "eval_ast" sub-block to "evaluate" and convert the list of
  evaluated items to individual blocks. Add a "list" block and connect
  this to the "apply" block (rather than connecting eval_ast to eval).
* Change the "symbol lookup" arrow to point to the "symbol" box in the
  "evaluate" block instead of pointing to the "evaluate" block.
* Update the "create env" arrows to point to the child env box instead
  of the root/REPL env box.
* Add try/catch TCO line.
* Remove the `or` macro and `gensym` function from stepA since this has
  been dropped for a while.
2024-08-13 09:27:45 -05:00
Joel Martin
4db37829ef README: update counts to include LaTeX3. 2024-08-12 14:53:04 -05:00
Nicolas Boulenguez
00d168fdca latex3: new implementation
Self hosting fails at step4 because of exceeded TeX capacity.
2024-08-08 15:40:26 -05:00
Joel Martin
dff0977d3d wasm: lucet no longer exists (merged into wasmtime). 2024-08-08 10:52:27 -05:00
YAMAMOTO Yuji
0040170d3f Fix link to every step in README 2024-08-06 15:23:10 -05:00
François Lamboley
69db481767 Update README.md
Fix Xcode capitalization
2024-08-06 14:57:50 -05:00
Joel Martin
f3903a7141 docs: docker image/CI info. Replace IRC with Discord links. 2024-08-03 11:06:43 -05:00
The Alchemist
3c79a5ae2e
anchor hyperlink fix 2021-12-24 13:17:38 -05:00
mrsekut
d00e383dd4 PureScript: fix README, Dockerfile and Makefile 2021-12-17 16:24:22 -06:00
Joel Martin
ba5d23b342 README: update impl/runtime counts for ruby.2. 2021-12-13 18:19:05 -06:00
Ryan Cook
7a046f2b87 add ruby.2 to README 2021-12-13 18:18:16 -06:00
Vasilij Schneidermann
b2f74ac003 Update other Scheme implementations 2021-12-11 15:19:35 -06:00
Joel Martin
2684d33e95 README: count java-truffle as new implementation.
The java-truffle implementation is unique enough from the Java
implementation to be considered a unique implementation and not just
a new runtime mode.
2021-05-31 10:30:13 -05:00
Matt McGill
578df288f4 [java-truffle] add to main README.md 2021-05-31 10:28:04 -05:00
Joel Martin
6a6e2cf3bc README: add Discord link. 2021-05-27 13:19:39 -05:00
Joel Martin
27b761bd1e README: move from freenode to libera.chat. 2021-05-27 10:57:17 -05:00
Joel Martin
ebc74e8928 C.2: normalize README name. 2021-05-12 09:36:49 -05:00
Duncan Watts
87c86cbb4d tweaks for publication 2021-05-12 09:32:29 -05:00
Fabian
9d0331494e add SML to README 2021-05-02 17:35:40 -05:00
Joel Martin
e14697a1d9 Add link to Q implementation
The Q compiler from Kx Systems requires a click through agreement that
prevents the compiler from being Dockerized and integrated into CI so
for now it remains outside the tree.
2021-05-01 17:35:40 -05:00
Joel Martin
3d8017a416 fennel: add to README and update counts. 2021-04-22 12:00:28 -05:00
Joel Martin
ac0e9083cf janet: stub Makefile to make ci.sh build happy
Also fix typo in README.
2021-04-22 09:57:31 -05:00
sogaiu
79effc6b77 Update counts in README 2021-04-22 08:51:52 +09:00
sogaiu
f0095064b9 Add Janet info to README and update counts 2021-04-22 08:49:40 +09:00
Nicolas Boulenguez
0ee1a51777 New SWI-prolog implementation
with, in stepA_mal.mal, a new way to pass all test and break
self-hosting nevertheless.
2021-04-19 09:53:22 -05:00
Harry Prins
54d8ac44cc
Fix path to common lisp readme. 2020-09-03 19:44:13 +01:00
Joel Martin
9663295c56 Add link to glisp project.
Self-bootstrapping graphic design tool on Lisp (a TypeScript mal
implementation)
2020-06-16 14:24:41 -05:00
AnotherTest
607742f0ca README: Add XSLT and bump up counters 2020-06-01 23:47:33 +04:30
Gabriel M
024e0b0415 Update README.md 2020-05-15 23:33:26 -03: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
Joel Martin
236b0a401d Align jq capitalization with docs.
Docs uses lower-case "jq": https://stedolan.github.io/jq/manual/
2020-01-16 15:50:11 -06:00
Joel Martin
95458d69c5
Merge pull request #488 from alimpfard/main+jq
Add Jq implementation
2020-01-13 16:48:46 -06:00
Dennis Felsing
41558f0177 Fix Nim version for Nim 1.0.4 2020-01-13 21:03:56 +01:00
AnotherTest
0b25243bbc order alphabetically 2020-01-12 15:11:47 +03:30
Ali Mohammad Pur
a1f8561c58
add jq info to readme 2020-01-10 18:07:10 +03:30
Josh Tobin
97a8edeaba zig: readme and travis 2019-12-19 23:24:54 -05:00
Gautam krishna R
1b203dedb4
npm update should be npm install 2019-12-04 13:50:34 +05:30
Denis Isidoro
1bdee1674c
Add reference to flk
Related: https://github.com/chr15m/flk
2019-12-02 13:38:29 -03:00
Oleg Montak
b667adf5e3 swift5: refactor a bit 2019-11-08 23:48:12 +03:00
Oleg Montak
6aa9c258a5 swift5: dockerfile 2019-11-08 21:47:03 +03:00
Gavin Lewis
bcb7af3191
Update Rust version information in README.md 2019-11-02 16:43:24 -07:00
Dov Murik
84eaa11caf README: add Wren implementation 2019-11-02 21:23:51 +02:00