Joel Martin [Thu, 23 Jan 2020 15:56:56 +0000 (09:56 -0600)]
FD debug (REMOVE ME).
Joel Martin [Mon, 20 Jan 2020 23:19:13 +0000 (17:19 -0600)]
runtest.py: close FDS on Popen
Be more consistent about what FDs the executing implementation will
have during execution. This makes it more consistent with behavior of
launching the implementation directly.
Joel Martin [Fri, 17 Jan 2020 00:46:28 +0000 (18:46 -0600)]
Add missing clean targets in 5 impls.
Joel Martin [Thu, 16 Jan 2020 21:51:54 +0000 (15:51 -0600)]
graph: update stats, add new implementations.
New implementations: jq, pike, wren, zig, python #2, Swift 5.
Joel Martin [Thu, 16 Jan 2020 21:50:11 +0000 (15:50 -0600)]
Align jq capitalization with docs.
Docs uses lower-case "jq": https://stedolan.github.io/jq/manual/
Joel Martin [Thu, 16 Jan 2020 14:52:27 +0000 (08:52 -0600)]
Merge pull request #493 from alimpfard/patch-3
Add test for atoms "leaking" out of let* binds
Joel Martin [Thu, 16 Jan 2020 14:46:10 +0000 (08:46 -0600)]
Merge pull request #494 from alimpfard/master
[jq impl] fix atoms not leaking out of let* (related to pr #493)
AnotherTest [Thu, 16 Jan 2020 04:51:46 +0000 (08:21 +0330)]
fix case where env could be null
+ micro-optimisation
AnotherTest [Thu, 16 Jan 2020 04:02:22 +0000 (07:32 +0330)]
fix atoms not leaking out of let*
This was some ironic happenstance
Ali Mohammad Pur [Wed, 15 Jan 2020 21:25:12 +0000 (00:55 +0330)]
Add test for atoms "leaking" out of let* binds
(hopefully) closes #490
Joel Martin [Wed, 15 Jan 2020 17:06:40 +0000 (11:06 -0600)]
Merge pull request #492 from alimpfard/patch-2
issue #491
Ali Mohammad Pur [Wed, 15 Jan 2020 16:15:33 +0000 (19:45 +0330)]
issue #491
adds a `--crlf` switch to runtest.py
Joel Martin [Mon, 13 Jan 2020 22:48:46 +0000 (16:48 -0600)]
Merge pull request #488 from alimpfard/main+jq
Add Jq implementation
AnotherTest [Mon, 13 Jan 2020 22:25:39 +0000 (01:55 +0330)]
refactor atoms out of step4 and step5
also inline step4-and-5-specific versions of env.jq and interp.jq
AnotherTest [Mon, 13 Jan 2020 21:50:01 +0000 (01:20 +0330)]
refactor some stuff to adhere to mal guidelines
Joel Martin [Mon, 13 Jan 2020 20:10:06 +0000 (14:10 -0600)]
Merge pull request #489 from def-/master
Fix Nim version for Nim 1.0.4
Dennis Felsing [Mon, 13 Jan 2020 15:01:59 +0000 (16:01 +0100)]
Fix Nim version for Nim 1.0.4
AnotherTest [Mon, 13 Jan 2020 19:06:15 +0000 (22:36 +0330)]
add stub makefile
AnotherTest [Sun, 12 Jan 2020 11:41:47 +0000 (15:11 +0330)]
order alphabetically
AnotherTest [Sun, 12 Jan 2020 11:40:42 +0000 (15:10 +0330)]
Merge branch 'main+jq' of https://github.com/alimpfard/mal into main+jq
AnotherTest [Sun, 12 Jan 2020 11:39:52 +0000 (15:09 +0330)]
clean up comments
AnotherTest [Sun, 12 Jan 2020 11:33:08 +0000 (15:03 +0330)]
change Dockerfile to build on top of ubuntu:bionic
Ali Mohammad Pur [Fri, 10 Jan 2020 14:37:10 +0000 (18:07 +0330)]
add jq info to readme
AnotherTest [Fri, 10 Jan 2020 14:27:51 +0000 (17:57 +0330)]
bring the let* child env to newwer steps
AnotherTest [Fri, 10 Jan 2020 14:22:44 +0000 (17:52 +0330)]
add jq to travis matrix
AnotherTest [Fri, 10 Jan 2020 14:13:51 +0000 (17:43 +0330)]
switch run to a python script that gives io to the program
AnotherTest [Fri, 10 Jan 2020 07:14:35 +0000 (10:44 +0330)]
switch to tail -f circular pipes
AnotherTest [Fri, 10 Jan 2020 06:38:47 +0000 (10:08 +0330)]
coreutils
AnotherTest [Fri, 10 Jan 2020 06:36:46 +0000 (10:06 +0330)]
yes
AnotherTest [Fri, 10 Jan 2020 06:35:34 +0000 (10:05 +0330)]
xenial is the latest LTS apparently
AnotherTest [Fri, 10 Jan 2020 06:34:13 +0000 (10:04 +0330)]
switch to ubuntu :shrug:
AnotherTest [Fri, 10 Jan 2020 06:25:03 +0000 (09:55 +0330)]
change python version, py2 segfaults
AnotherTest [Fri, 10 Jan 2020 06:11:13 +0000 (09:41 +0330)]
busybox has its own timeout
AnotherTest [Fri, 10 Jan 2020 06:08:30 +0000 (09:38 +0330)]
add Dockerfile
AnotherTest [Fri, 10 Jan 2020 06:01:00 +0000 (09:31 +0330)]
implement conj/seq
now we're self-hosting
AnotherTest [Fri, 10 Jan 2020 01:13:54 +0000 (04:43 +0330)]
fix macroexpand
AnotherTest [Fri, 10 Jan 2020 01:12:39 +0000 (04:42 +0330)]
fix printing strings
AnotherTest [Thu, 9 Jan 2020 16:07:24 +0000 (19:37 +0330)]
fix weird interaction between let* and fn* and atoms
AnotherTest [Wed, 8 Jan 2020 16:34:12 +0000 (20:04 +0330)]
add step9 and fix "symbol not found" exception format
AnotherTest [Wed, 8 Jan 2020 14:36:57 +0000 (18:06 +0330)]
fix atom interactions and unfuck execution speed
AnotherTest [Tue, 7 Jan 2020 16:43:49 +0000 (20:13 +0330)]
properly implement tco and add step7:quote
AnotherTest [Tue, 7 Jan 2020 20:26:31 +0000 (23:56 +0330)]
add step8
AnotherTest [Tue, 7 Jan 2020 16:43:49 +0000 (20:13 +0330)]
properly implement tco and add step7:quote
AnotherTest [Mon, 6 Jan 2020 20:55:22 +0000 (00:25 +0330)]
add atoms
+ fix lists (lists do not behave like let*)
+ add file io
AnotherTest [Mon, 6 Jan 2020 16:26:48 +0000 (19:56 +0330)]
start step6 and add the cheaty runtime of cheatiness
AnotherTest [Mon, 6 Jan 2020 07:30:26 +0000 (11:00 +0330)]
fix scoping and backport print patch
add TCO file, no TCO though (seems ok?)
AnotherTest [Sun, 5 Jan 2020 23:40:03 +0000 (03:10 +0330)]
EQUIRECURSION BABY!
fix (cheat) print
AnotherTest [Sun, 5 Jan 2020 20:25:03 +0000 (23:55 +0330)]
...add step4...
AnotherTest [Sun, 5 Jan 2020 20:22:44 +0000 (23:52 +0330)]
fix (= list vector) and the case where (((& x) ...)) assigns nothing
AnotherTest [Sun, 5 Jan 2020 19:59:12 +0000 (23:29 +0330)]
impl step5
cannot print raw strings, so a lot of things fail
AnotherTest [Sun, 5 Jan 2020 17:49:41 +0000 (21:19 +0330)]
step 3 done~
AnotherTest [Sun, 5 Jan 2020 15:08:15 +0000 (18:38 +0330)]
prepare for later
AnotherTest [Sun, 5 Jan 2020 15:05:49 +0000 (18:35 +0330)]
step2 - eval
Since we can't store functions, this is gonna be a _mess_
AnotherTest [Sun, 5 Jan 2020 14:03:09 +0000 (17:33 +0330)]
all tests passing yay
AnotherTest [Sun, 5 Jan 2020 13:36:06 +0000 (17:06 +0330)]
"fix" more reader stuff
AnotherTest [Sun, 5 Jan 2020 11:02:39 +0000 (14:32 +0330)]
basic...? impl
Joel Martin [Fri, 20 Dec 2019 06:43:01 +0000 (00:43 -0600)]
Merge pull request #478 from rjtobin/zig
Zig implementation
Josh Tobin [Fri, 20 Dec 2019 04:24:54 +0000 (23:24 -0500)]
zig: readme and travis
Josh Tobin [Thu, 19 Dec 2019 05:07:11 +0000 (00:07 -0500)]
zig: remove env usage in step2
Joel Martin [Tue, 17 Dec 2019 20:49:15 +0000 (14:49 -0600)]
tests: remove atom metadata test.
This was a commented out test I added early as something that might be
interesting even though Clojure does not support it. However, I hadn't
thought through it fully. Most objects are cloned when meta-data is
added. It is weird to clone an atom because then you have two
references that can diverge (i.e. they are different atoms but start
out pointing to the same underlying object). But mutating an atom is
the wrong behavior too i.e. with-meta would be a pseudo form of
reset! just for the metadata part.
Joel Martin [Tue, 17 Dec 2019 15:13:50 +0000 (09:13 -0600)]
Merge pull request #482 from dubek/fix-defmacro-clone-func
es6, js, python, ruby: defmacro! doesn't mutate original function
Joel Martin [Tue, 17 Dec 2019 15:05:08 +0000 (09:05 -0600)]
Merge pull request #480 from MontakOleg/swift5
swift5: get rid of swift dependency to run tests
Dov Murik [Tue, 17 Dec 2019 11:16:28 +0000 (13:16 +0200)]
es6, js, python, ruby: defmacro! doesn't mutate original function
Josh Tobin [Sat, 14 Dec 2019 21:39:03 +0000 (16:39 -0500)]
zig: tidy, more args, fix empty repl lines
Oleg Montak [Sat, 14 Dec 2019 21:25:22 +0000 (00:25 +0300)]
swift5: get rid of swift dependency to run tests
discussed in https://github.com/kanaka/mal/pull/467#issuecomment-
560435000
Josh Tobin [Sat, 14 Dec 2019 04:49:33 +0000 (23:49 -0500)]
zig: adds missing build script and utility
Josh Tobin [Fri, 13 Dec 2019 06:24:16 +0000 (01:24 -0500)]
Makefile and Dockerfile for zig
Josh Tobin [Sun, 8 Dec 2019 20:07:41 +0000 (15:07 -0500)]
Adds zig implementation
Joel Martin [Thu, 12 Dec 2019 18:40:33 +0000 (12:40 -0600)]
Merge pull request #476 from rectalogic/python.2-env
Fix python.2 Env.find implementation.
Andrew Wason [Wed, 11 Dec 2019 20:43:23 +0000 (15:43 -0500)]
Add a test that eval is in root scope and that newly defined symbols can be found in nested scopes.
Andrew Wason [Sat, 7 Dec 2019 15:47:26 +0000 (10:47 -0500)]
Fix Env.find implementation.
It should search the outer Env
Joel Martin [Wed, 4 Dec 2019 21:27:22 +0000 (16:27 -0500)]
Merge pull request #475 from gautamkrishnar/patch-1
npm update should be npm install
Gautam krishna R [Wed, 4 Dec 2019 08:20:34 +0000 (13:50 +0530)]
npm update should be npm install
Joel Martin [Mon, 2 Dec 2019 16:40:23 +0000 (11:40 -0500)]
Merge pull request #474 from denisidoro/patch-1
Add reference to flk
Denis Isidoro [Mon, 2 Dec 2019 16:38:29 +0000 (13:38 -0300)]
Add reference to flk
Related: https://github.com/chr15m/flk
Joel Martin [Mon, 2 Dec 2019 14:59:12 +0000 (09:59 -0500)]
Merge pull request #467 from MontakOleg/swift5
Swift5 implementation
Joel Martin [Mon, 2 Dec 2019 14:41:59 +0000 (09:41 -0500)]
Merge pull request #473 from chr15m/fix-bash-interop-asterisk-quoting
Fix bash interop asterisk quoting
Chris McCormick [Mon, 2 Dec 2019 10:08:24 +0000 (18:08 +0800)]
Replace __STAR__ in sh* eval and quote result.
This supercedes #470 and includes #471.
This fixes some edge cases when passing an asterisk to an sh* interop call.
Before this fix mal would pass the string with any wildcard character converted to __STAR__ when passing to the subcommand.
For example `(sh* "ls *")` would become `ls __STAR__` when executed.
See the tests for examples of where this would fail to do what the user expects.
See also: https://github.com/chr15m/flk/issues/1
Chris McCormick [Sun, 1 Dec 2019 06:24:19 +0000 (14:24 +0800)]
Bash: tests for multiline outputs from sh*.
Chris McCormick [Sun, 1 Dec 2019 06:23:08 +0000 (14:23 +0800)]
Bash: sh* also captures output not ending with \n.
Chris McCormick [Sun, 1 Dec 2019 06:21:36 +0000 (14:21 +0800)]
Bash: fix \n stripping from sh* output.
Chris McCormick [Sat, 30 Nov 2019 07:47:02 +0000 (15:47 +0800)]
Fix Bash implementation interop carriage returns.
Before this fix the 'sh*' function was joining the lines of the output of whatever command was run in a way that resulted in '\n' instead of a literal carriage return.
Oleg Montak [Wed, 20 Nov 2019 08:19:21 +0000 (11:19 +0300)]
swift5: update run script to guarantee no unnecessary builds happens
Joel Martin [Tue, 19 Nov 2019 19:31:51 +0000 (13:31 -0600)]
Merge pull request #468 from epylar/patch-3
Clarify "rest" builtin in guide.md
Gavin Lewis [Sat, 16 Nov 2019 17:14:55 +0000 (09:14 -0800)]
Clarify "rest" builtin in guide.md
Oleg Montak [Fri, 8 Nov 2019 17:29:42 +0000 (20:29 +0300)]
swift5: refactor a bit
Oleg Montak [Fri, 8 Nov 2019 16:57:33 +0000 (19:57 +0300)]
swift5: dockerfile
Oleg Montak [Thu, 7 Nov 2019 17:22:41 +0000 (20:22 +0300)]
swift5: stepA_mal
Oleg Montak [Wed, 6 Nov 2019 17:01:08 +0000 (20:01 +0300)]
swift5: step9_try
Oleg Montak [Tue, 5 Nov 2019 17:32:08 +0000 (20:32 +0300)]
swift5: step8_macros
Oleg Montak [Mon, 4 Nov 2019 20:53:09 +0000 (23:53 +0300)]
swift5: step7_quote
Oleg Montak [Mon, 4 Nov 2019 12:59:19 +0000 (15:59 +0300)]
swift5: step6_file
Oleg Montak [Sun, 3 Nov 2019 13:14:05 +0000 (16:14 +0300)]
swift5: step5_tco
Oleg Montak [Thu, 31 Oct 2019 20:05:00 +0000 (23:05 +0300)]
swift5: step4_if_fn_do
Oleg Montak [Mon, 28 Oct 2019 17:00:02 +0000 (20:00 +0300)]
swift5: step3_env
Oleg Montak [Wed, 23 Oct 2019 07:56:23 +0000 (10:56 +0300)]
swift5: step2_eval
Oleg Montak [Thu, 10 Oct 2019 21:56:00 +0000 (00:56 +0300)]
swift5: step1_read_print - parser combinators
Oleg Montak [Wed, 9 Oct 2019 20:14:30 +0000 (23:14 +0300)]
swift5: step0_repl
Joel Martin [Sun, 3 Nov 2019 00:41:07 +0000 (19:41 -0500)]
Merge pull request #466 from epylar/patch-2
Update Rust version information in README.md
Gavin Lewis [Sat, 2 Nov 2019 23:43:24 +0000 (16:43 -0700)]
Update Rust version information in README.md