Joel Martin
411abc90f4
Merge pull request #146 from dubek/fix-macro-eval
...
Fix macro eval in 24 impls
2016-01-26 14:16:55 -06:00
Dov Murik
48572759b7
Add gensym and clean or
macro to stepA of 12 implementations (part 1)
...
* go
* guile
* js
* mal
* miniMAL
* ocaml
* ps
* python
* racket
* ruby
* tcl
* vimscript
2016-01-23 00:31:51 -05:00
Dov Murik
6c94cd3e40
d, nim, ps, tcl, vimscript: fix macro result evaluation
...
Issue #142
2016-01-22 13:48:07 -05:00
Dov Murik
798cd0a0e3
ps: fix hash-map equality
...
* extract _keys and _hash_map_get to types.ps
* correct sequential types equals - only compare if *both* arguments are
sequential
* implement equality for two hash-maps
2015-11-17 21:19:30 -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
406761e769
ps: fix self-host and runtest.py parsing issue.
...
- make sure readline has large enough string for steps2-A
- fix keyword? so that it doesn't leave anything extra on the stack
- fix argparse command line parsing so that that the second '--' on
the command line is not dropped.
2015-10-12 22:14:45 -05:00
Joel Martin
d474baff47
Travis: add java, php, ps.
2015-10-05 23:31:05 -05:00
Joel Martin
b3c30da9fc
runtest: set pty size to fix readline of long lines.
...
- Also, add a long line test to step0 tests.
- Fix java step0 arg parsing.
- Fix postscript long line reads (larger buffer)
- Add mal step0_repl
2015-03-18 13:08:08 -05: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
96f1845afd
Misc cleanup. Move *host-language* to stepA.
2015-01-09 16:16:55 -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
01c9731649
All: swap step9,A. Fixes for bash, C, perl.
...
step9_interop -> stepA_interop
stepA_more -> step9_try
C: fix glib headers
bash: behavior change of declare -A and pattern replacement.
perl: squelch new 5.18 warnings related to switch/given statement.
Also, include some in-progress interop related files.
2015-01-06 21:57:24 -06:00
Joel Martin
fa64b74146
PS: include/run from same directory.
2014-05-10 16:29:07 -05:00
Joel Martin
6301e0b637
All: TCO let* and quasiquote.
2014-04-23 21:59:50 -05:00
Joel Martin
86b689f3d7
All: *ARGV* and *host-language*. Misc syncing/fixes.
2014-04-19 13:04:09 -05:00
Joel Martin
db4c329aff
All: perf test, Makefile refactor, add *host-language*
...
Other:
- bash,make,postscript: quasiquote of vectors
- Fix Java slurp
- add time function to core.mal
- switches on *host-language* for make time-secs vs time-ms
- Ignore */experiments directories
2014-04-17 21:49:07 -05:00
Joel Martin
8cb5cda46c
All: move some fns to core. Major cleanup.
...
- Don't import/require core until step4.
- Define cond/or macros from step8
2014-04-16 23:57:50 -05:00
Joel Martin
68c008cf52
PS: fix concat with no args and conj.
2014-04-15 20:54:18 -05:00
Joel Martin
cce5977962
PS: fix meta return value when obj has no meta
2014-04-14 22:59:46 -05:00
Joel Martin
0027e8fed4
PS: fix function closures. Self-hosted up to step7.
2014-04-14 22:46:54 -05:00
Joel Martin
712af9efbe
Add stats-lisp target (only env, core, stepA)
2014-04-10 19:27:42 -05:00
Joel Martin
a34b020065
Fix metadata on functions.
...
- Don't use metadata to store ast, env, params data.
- In Clojure, store metadata on the :meta key of the real metadata.
This also allows using any datatype as metadata.
2014-04-09 23:58:27 -05:00
Joel Martin
e7c1a2f62b
PS: fix string escaping. Passes all tests.
2014-04-06 15:53:19 -05:00
Joel Martin
5ce65382cf
PS: add vector, hash-map, atoms and metadata.
...
As part of this lists switch from being a postscript array to being
a mal boxed type (dictionary with type in the /_maltype_ key).
2014-04-06 15:23:40 -05:00
Joel Martin
ea81a8087b
All: split types into types, env, printer, core.
...
- types: low-level mapping to the implementation language.
- core: functions on types that are exposed directly to mal.
- printer: implementation called by pr-str, str, prn, println.
- env: the environment implementation
- Also, unindent all TCO while loops so that the diff of step4 and
step5 are minimized.
2014-04-02 22:23:37 -05:00
Joel Martin
950e3c765e
PS: add stepA_more.
...
Sync other steps. In particular, self reference in function definition
and putting readline into _readline function.
2014-04-01 21:50:24 -05:00
Joel Martin
704194e12c
PS: add step9_interop: (ps* str)
...
Needs some work, but function. Also need (. x y z) form.
2014-04-01 20:06:44 -05:00
Joel Martin
3da90d3907
PS: add step8_macros.
...
Use dicts rather than array block for user defined mal function type.
Add fload function to setup call from a mal_function dict.
2014-03-31 23:05:41 -05:00
Joel Martin
8e7e339db8
PS: add step7_quote
2014-03-30 22:39:44 -05:00
Joel Martin
724ad69487
PS: add ste6_file.
2014-03-30 16:37:14 -05:00
Joel Martin
46669c861b
PS: add step5_tco.
...
Update step4 function definition to match.
2014-03-29 18:35:22 -05:00
Joel Martin
2e05535fa0
PS: fix string length calc for printing integers.
2014-03-29 18:34:10 -05:00
Joel Martin
0a2c69544b
PS: add step4_if_fn_do
2014-03-29 18:20:07 -05:00
Joel Martin
aef93ea396
PS: error handling, throw, print excpetions without dying.
2014-03-29 17:35:53 -05:00
Joel Martin
04517bc826
PS: add step3_env
2014-03-29 17:26:07 -05:00
Joel Martin
55e2bfa8a3
PS: step2_eval
2014-03-29 17:01:24 -05:00
Joel Martin
1b4a9012c5
PS: minimal step1_read_print
2014-03-29 15:56:20 -05:00
Joel Martin
60154d24a8
Update README.md and TODO. Minor PS update.
2014-03-29 15:17:00 -05:00
Joel Martin
285b5ba793
PS: add notes for running postscript.
2014-03-26 10:27:52 -07:00
Joel Martin
88f59d07a1
Postscript: step0_repl.ps
...
Run it using ghostscript:
gs -q -dNODISPLAY step0_repl.ps
2014-03-25 15:20:17 -07:00