1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 01:57:09 +03:00
mal/mal
Joel Martin 01e8850d43 Basic: Reduce GOSUB use. Partial self-host to step3
step4 runs out of space attempting to load the program. Step2 and
step3 run out of memory (stack exhaustion) for more complicated forms.

- Use GOTO with return label on our stack instead of GOSUB for:
    - APPLY function in types.in.bas
    - "apply", "map" and "swap!" core functions
- Implement DO TCO. Change EVAL_AST to detect if we are called from DO
  and exit one element early.
- Remove GOSUB recursion from EQUAL_Q
- Inline PAIR_Q. Reduce REPLACE stack use.
- Remove one level of GOSUB/stack by calling REP with GOTO
- Simplify mal/step2_eval.mal to remove use of (or ) macro in
  eval_ast.
- Fix ON GOTO/GOSUB line detection in basicpp
2016-10-24 23:29:27 -05:00
..
core.mal mal: Add time-ms to core; add tests for time-ms 2016-03-09 13:09:11 -05:00
Dockerfile Travis: add mal and nim. 2015-10-06 17:32:29 -05:00
env.mal Current state of mal for Clojure West lighting talk. 2014-03-24 16:32:24 -05:00
Makefile Dist/packaging for most impls. erlang, racket *ARGV* fixes. 2016-02-24 00:45:40 -06:00
run Refactor to use run scripts, remove *_RUNSTEP 2016-05-18 22:29:18 -07:00
step0_repl.mal runtest: set pty size to fix readline of long lines. 2015-03-18 13:08:08 -05:00
step1_read_print.mal All: *ARGV* and *host-language*. Misc syncing/fixes. 2014-04-19 13:04:09 -05:00
step2_eval.mal Basic: Reduce GOSUB use. Partial self-host to step3 2016-10-24 23:29:27 -05:00
step3_env.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00
step4_if_fn_do.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00
step6_file.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00
step7_quote.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00
step8_macros.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00
step9_try.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00
stepA_mal.mal mal: Fix exception on literal empty list 2016-03-27 22:16:58 -04:00