1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 10:37:58 +03:00
Commit Graph

59 Commits

Author SHA1 Message Date
Vasilij Schneidermann
e91c55c2b6 Fix unescaping in chuck, common-lisp, gst, guile, python 2017-09-28 07:40:47 -05:00
Joel Martin
0a9a468537 python: remove extraneous macroexpand call. 2017-09-21 17:35:38 -05:00
Joel Martin
e17aef048e Misc fixes and TODO updates.
- Truncate ruby and python stacktraces since they can get very long
  in certain cases causing problems.
- Fix Clojure West example with proper escaping.
2017-09-15 00:00:23 -05:00
Joel Martin
a26e275857 Merge pull request #279 from ideasman42/patch-4
Remove unnecessary lookup in 'dissoc'
2017-09-12 21:23:38 -05:00
Joel Martin
74a9e0bb41 Merge pull request #280 from ideasman42/patch-5
Remove unnecessary attr access in 'meta'
2017-09-12 21:23:07 -05:00
Joel Martin
0c820db4e5 Merge pull request #276 from ideasman42/patch-2
Update core.py
2017-09-12 21:22:23 -05:00
Campbell Barton
ebaca6bbe9 Remove unnecessary lookup in 'get' 2017-09-13 12:10:00 +10:00
Campbell Barton
a77b8357de Remove unnecessary attr access in 'meta' 2017-09-13 12:03:07 +10:00
Campbell Barton
953dc52ae8 Remove unnecessary lookup in 'dissoc' 2017-09-13 12:00:34 +10:00
Campbell Barton
50af689531 Avoid premature sort 2017-09-13 05:15:21 +10:00
Joel Martin
2d76e8776c Generic <impl>_MODE setting. Add travis modes.
For implementations that support different compile/run modes, the
convention is not <impl_name>_MODE=<mode>. This is passed through to
make/docker commands. Fix Makefiles and run scripts to listen to the
respective *_MODE variables.

Enable travis builds/tests for 4 Haxe modes and 2 python modes.
2017-09-11 17:54:26 -05:00
Joel Martin
20e8dea043 Refactor to use run scripts, remove *_RUNSTEP
- Add */run script for every implementation.

- Refactor Clojure build to allow individual jar files for each step.

- Update FFI version for es6 and miniMAL to work with newer node
  versions.

The run scripts for the following could use some additional
refactoring:
- java: build individual step jar, use java -jar instead of mvn to run
- plpgsql: maybe combine plpgsql/run and plpgsql/wrap.sh
- vhdl: combine vhdl/run and vhdl/run_vhdl.sh
- vimscript: combine vimscript/run and vimscript/run_vimscript.sh
2016-05-18 22:29:18 -07:00
Dov Murik
a5bdda6d64 python: Fix interop (py*, py!*)
py!*: Fix to work on both Python 2 and 3.

py*: Python types are converted to Mal types where applicable.

Added tests for Python interop.
2016-05-09 01:39:45 -04:00
Joel Martin
efa2daef57 Fix empty list eval in step2 for most languages.
I think the only remaining ones are ada, elisp, factor, and rust.
2016-04-02 18:40:49 -05:00
Joel Martin
dca6b58578 Tests: move step5 non-TCO tests to per impl.
- Remove most of the step5 excludes in the Makefile except for ones
  which don't have TCO capability at all (or the implementation is too
  slow): bash, make, mal, matlab.

- Make perf_EXCLUDES consistent with other excludes.

- Add a print-FOO target which prints the resolved value of Makefile
  variable FOO. For example, `make print-IMPLS` to print the list of
  implementations.
2016-03-14 23:39:21 -05: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
6791e640e1 haxe, matlab, miniMAL, python, rpython: add seq/string?
Issue #166.
2016-02-11 09:19:53 -06:00
Dov Murik
8d1e25ac24 coffee, es6, js, perl, python, ruby: Fix (first nil) and (rest nil) 2016-02-03 21:23:46 -05:00
Dov Murik
cbbbec92dd python: Pass function arguments as a mal list 2016-01-29 21:37:31 -05:00
Dov Murik
8fe734d267 python: Fix newline ("\n") handling 2016-01-27 14:03:11 -05:00
Dov Murik
a16bb08f51 python: Fix equality of unicode/normal strings in Python 2.x 2016-01-27 13:02:14 -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
92c7576ceb make, php, python, ruby: fix macro result evaluation
Issue #142
2016-01-25 21:30:46 -05: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
Joel Martin
672618d8b8 python: fix string/unicode comparison.
Fixes #135.
2015-12-17 09:21:06 -06:00
Joel Martin
6d3fc1be9a Fix hash-map equality in python and rpython. 2015-11-10 11:00:56 -06: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
e152d48827 travis: add bash, c, make to test matrix. 2015-10-05 18:55:00 -05:00
Joel Martin
f7824465dc Another travisCI attempt for JS and python (matrix). 2015-10-05 17:25:48 -05:00
Joel Martin
4eb719905f ES6: step0 and step1 basics. 2015-07-30 21:15:55 -05:00
Joel Martin
dbac60df00 All: move metadata, atoms, readline, conj to stepA.
- Move some of the more optional things (conj, readline) to stepA. All
  implementations pass step9 tests now.
- Move metadata and atoms to stepA.
- Update step9 and stepA diagrams.
2015-03-14 17:17:14 -05:00
Joel Martin
c9de2e82ed Tests: add testing Dockerfile. Impl fixes.
- tests/docker/Dockerfile: specifies full docker image containing all
  tools/languages (except matlab).
- tests/docker-build.sh: build above image.
- tests/docker-run.sh: launch above image.
    Example: ./tests/docker-run.sh make test^js^step2
- Various fixes across multiple languages:
    - Unicode fixes for bash and R on Ubuntu Utopic
    - readline history fixes for when ~/.mal-history is not available
      or readable/writable. No fatal errors.
    - fixes to work with perl 5.20 (and still perl 5.18)
2015-03-11 22:22:35 -05:00
Joel Martin
10b07148ba All step0: add test, fix bugs, remove step0 eval. 2015-03-07 09:04:07 -06:00
james sangho nah
8e4628da2c compatible with python 3 2015-03-07 09:32:23 +13: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
d706ed5041 Python: fix python3 support with keywords. 2015-01-09 16:16:56 -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
6301e0b637 All: TCO let* and quasiquote. 2014-04-23 21:59:50 -05:00
Joel Martin
89bd4de1e2 Perl: add vector, hash-map, metadata, atom support. TCO let*
- Changes all collections to be one level of inderection where the top
  level is always a hash containing 'meta' and 'val'.
2014-04-23 21:46:57 -05:00
Joel Martin
86b689f3d7 All: *ARGV* and *host-language*. Misc syncing/fixes. 2014-04-19 13:04:09 -05:00
Joel Martin
718887c301 Ruby,Python,C#: readline history fixes. Ruby include path. 2014-04-17 22:23:07 -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
a05f7822b1 Python: metadata on builtin funcs. Support python3. 2014-04-16 22:42:17 -05:00
Joel Martin
7e9a2883fe All: fix get. All pass stepA tests. 2014-04-15 01:24:43 -05:00