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

50 Commits

Author SHA1 Message Date
Joel Martin
eeca7d7034 ps: fix negative and 0 number printing
Issue #178
2016-02-26 21:40:25 -06:00
Dov Murik
8e101df8d3 ps: fix negative numbers handling 2016-02-26 00:44:47 -08:00
Joel Martin
9044b1fdb1 Merge branch 'master' into issue_166_string_ops 2016-02-24 12:00:08 -06:00
Joel Martin
8e2d4a4ccb Dist/packaging for most impls. erlang, racket *ARGV* fixes.
Also in this commit:
- fix *ARGV* setup in erlang and racket.
- print startup message in fsharp

Dist/packaging support for most implementations and also generate
a */mal standalone app for most languages. The following
implementations still have ability to generate a single */mal
standalone application:
    - guile
    - julia
    - matlab (mkoctfile doesn't actually package up source files)
    - swift
    - vb (mkbundle error)

Also, the following are mostly packaged into a single file but need
some module dependencies
    - coffee: requires node_modules/ffi
    - es6: requires node_modules/ffi
    - js: requires node_modules/ffi
    - lua: module 'readline' not found
    - miniMAL: cannot find module '/mal/node_readline.js'
    - r: needs lib directory
2016-02-24 00:45:40 -06:00
Joel Martin
5245b079e1 Add dist targets to most implementations.
TODO: factor groovy guile julia matlab miniMAL swift
2016-02-24 00:33:20 -06:00
Joel Martin
185d4f0c25 ps, python: fix keyword? on empty string.
Issue #166.
2016-02-15 09:30:16 -06:00
Joel Martin
a968e287c1 make, ps, ruby: add seq/string?
Issue #166
2016-02-11 13:57:49 -06:00
Dov Murik
7504874345 factor, go, guile, miniMAL, ps: Fix (first nil) and (rest nil) 2016-02-03 21:23:47 -05:00
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