Joel Martin [Tue, 26 Jan 2016 03:58:06 +0000 (21:58 -0600)]
Merge pull request #143 from dubek/add-gensym
Add gensym and clean `or` macro
Dov Murik [Sat, 23 Jan 2016 05:48:31 +0000 (00:48 -0500)]
Add gensym and clean `or` macro to stepA of 19 implementations (part 3)
* awk
* cpp
* cs
* es6
* factor
* fsharp
* groovy
* haskell
* java
* julia
* kotlin
* matlab
* php
* r
* rpython
* rust
* scala
* swift
* vb
Dov Murik [Sat, 23 Jan 2016 05:30:28 +0000 (00:30 -0500)]
Add gensym and clean `or` macro to stepA of 13 implementations (part 2)
* bash
* c
* clojure
* coffee
* crystal
* d
* elixir
* erlang
* forth
* lua
* make
* nim
* perl
Dov Murik [Thu, 21 Jan 2016 03:51:43 +0000 (22:51 -0500)]
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
Dov Murik [Thu, 21 Jan 2016 04:18:06 +0000 (23:18 -0500)]
process/guide: add gensym instructions to stepA
Dov Murik [Thu, 21 Jan 2016 04:16:52 +0000 (23:16 -0500)]
core.mal: Clean `and` and `or` macros with gensym
Dov Murik [Thu, 21 Jan 2016 03:53:16 +0000 (22:53 -0500)]
process/stepA: add gensym and clean `or` macro
Dov Murik [Thu, 21 Jan 2016 03:50:37 +0000 (22:50 -0500)]
tests/stepA: add gensym and clean `or` macro tests
Dov Murik [Sat, 23 Jan 2016 03:59:28 +0000 (22:59 -0500)]
tests/step8: remove `and` macro tests, add ->> macro tests
1. `gensym` isn't yet available in step8
2. `and` tests are very slow in some implementations
3. ->> macro is more complex
4. moved core.mal to the end so it won't override the builtin `or` macro
Joel Martin [Fri, 22 Jan 2016 17:15:43 +0000 (11:15 -0600)]
Merge pull request #145 from ivern/kotlin
Implemented hashmap equality (addresses #116, #123)
Javier Fernandez-Ivern [Fri, 22 Jan 2016 16:53:25 +0000 (10:53 -0600)]
Implemented hashmap equality (addresses #116, #123)
Joel Martin [Wed, 20 Jan 2016 21:28:55 +0000 (15:28 -0600)]
Add macro result eval test.
Test to cover bug https://github.com/kanaka/mal/issues/142
Joel Martin [Mon, 11 Jan 2016 17:58:28 +0000 (11:58 -0600)]
Merge branch 'issue130_matlab_fixes'
Joel Martin [Mon, 11 Jan 2016 17:58:16 +0000 (11:58 -0600)]
Merge branch 'issue130_diagram_updates'
Joel Martin [Sat, 9 Jan 2016 02:49:45 +0000 (20:49 -0600)]
matlab: missed octave support fixes.
Dov Murik [Tue, 5 Jan 2016 21:23:12 +0000 (23:23 +0200)]
factor: fix atom `swap!` in step6 and later
Copy mal-apply definition from step9 to earlier steps (swap! calls
mal-apply).
Dov Murik [Tue, 5 Jan 2016 21:19:17 +0000 (23:19 +0200)]
factor: remove unrelated vim swap file
Dov Murik [Tue, 5 Jan 2016 20:16:27 +0000 (22:16 +0200)]
forth: implement atom swap! in step6 (and later)
The `swap!` implementation calls invoke and eval, and therefore require
backporting the implementation of invoke for MalUserFn and MalNativeFn
from step9 all the way back to step6.
Dov Murik [Mon, 14 Dec 2015 06:20:20 +0000 (01:20 -0500)]
guile: modify step6 (and later) to handle atoms
Dov Murik [Mon, 14 Dec 2015 04:37:11 +0000 (23:37 -0500)]
process, tests: move atoms implementation from stepA to step6
Joel Martin [Mon, 4 Jan 2016 21:53:52 +0000 (15:53 -0600)]
Merge pull request #141 from rcantangus/master
Update guide.md
rcantangus [Mon, 4 Jan 2016 06:56:25 +0000 (17:56 +1100)]
Update guide.md
Fix typo; libnoise is a noise generating library.
Joel Martin [Sat, 2 Jan 2016 05:04:54 +0000 (23:04 -0600)]
Update process diagrams with atoms in step6.
Related to https://github.com/kanaka/mal/pull/130
Joel Martin [Thu, 31 Dec 2015 21:35:18 +0000 (15:35 -0600)]
Merge pull request #140 from rhysd/crystal-0.10.0
Crystal: bump up crystal version to 0.10.0
Joel Martin [Thu, 31 Dec 2015 21:21:18 +0000 (15:21 -0600)]
matlab: update Dockerfile and Makefile
Joel Martin [Thu, 31 Dec 2015 19:43:55 +0000 (13:43 -0600)]
matlab: support Octave 4.0.0
- Workarounds for Octave 4.0.0:
- no containers.Map yet so use new Dict
structure when running under Octave.
- weird error when +FOO/ directory and FOO.m file both exist so
rename types.m to type_utils.m
- no getReport so implement custom stack printer
- workaround weird issue that happens when a class initializer is
called with the first argument of the same class as per
Env(outer, ...). The class is not properly initialized. So for
now, wrap the outer in a cell as Env({outer}, ...)
- missing MException object types so when in Octave, use a global
variable to store the error object.
- missing native2unicode so just use 0xff character for keyword
prefix.
- workaround some function calling/passing differences. For
example, the "@" anonymous function symbol does not seem to work
for conveying an existing function but only for defininign a new
one. E.g. this works:
@(a,b) a+b
but this doesn't
@my_adder_fn.
so just do this:
@(a,b) my_adder_fn(a,b)
- Add Dockerfile with Octave
- Active Travis for matlab implementation using Octave
rhysd [Thu, 31 Dec 2015 16:46:18 +0000 (01:46 +0900)]
Crystal: bump up crystal version to 0.10.0
Joel Martin [Wed, 30 Dec 2015 17:34:53 +0000 (10:34 -0700)]
Merge pull request #138 from dubek/js-fix-quasiquote-nil
js: Fix exception in `(nil)
Joel Martin [Wed, 30 Dec 2015 17:34:21 +0000 (10:34 -0700)]
Groovy, coffee: fix (quasiquote (nil))
Related to https://github.com/kanaka/mal/pull/138
Joel Martin [Wed, 30 Dec 2015 17:18:14 +0000 (10:18 -0700)]
Merge pull request #139 from wendelb/wendelb-patch-malhtml
Updated mal.html
wendelb [Tue, 29 Dec 2015 20:32:02 +0000 (21:32 +0100)]
Updated mal.html
Make the demo working again on current Firefox & Chrome Versions
Dov Murik [Mon, 28 Dec 2015 21:06:36 +0000 (23:06 +0200)]
miniMAL: Fix exception in `(nil)
Dov Murik [Mon, 28 Dec 2015 08:22:58 +0000 (10:22 +0200)]
js: Fix exception in `(nil)
Joel Martin [Mon, 28 Dec 2015 04:50:27 +0000 (21:50 -0700)]
Merge pull request #137 from ivern/kotlin
Upgraded to Kotlin 1.0.0 Beta 4, got rid of remaining compiler warnings
Javier Fernandez-Ivern [Sat, 26 Dec 2015 06:18:10 +0000 (00:18 -0600)]
Upgraded to Kotlin 1.0.0 Beta 4, got rid of remaining compiler warnings
Joel Martin [Wed, 23 Dec 2015 05:28:55 +0000 (22:28 -0700)]
LICENSE.txt: remove, not missed after all.
I forgot that LICENSE was already there and that is the name that
github expects.
Joel Martin [Wed, 23 Dec 2015 05:26:23 +0000 (22:26 -0700)]
LICENSE.txt: long missing license file.
Joel Martin [Fri, 18 Dec 2015 23:24:02 +0000 (17:24 -0600)]
Makefile: add REGRESS functionality
- Fixes #107
Joel Martin [Fri, 18 Dec 2015 19:29:08 +0000 (13:29 -0600)]
Joel Martin [Fri, 18 Dec 2015 19:27:27 +0000 (13:27 -0600)]
Clojure: No comma hash-map printing. Fix str nil printing.
- This is again related to https://github.com/kanaka/mal/pull/134
Joel Martin [Fri, 18 Dec 2015 18:00:45 +0000 (12:00 -0600)]
Merge pull request #132 from sdt/native-swap
Native swap! implementation for cpp
Joel Martin [Thu, 17 Dec 2015 22:14:43 +0000 (16:14 -0600)]
Clojure: *print-readably* for str. Use 1.8.0-RC4
- This is related to https://github.com/kanaka/mal/pull/134
- The str function now force *print-readably* to false. Otherwise str
only prints the first level with non-readable printing, but every
embedded structure after the first will have readable printing. The
mal way is that str is non-readable all the way down.
- One remaining bug prior to Clojure 1.8.0 was improperly printing
empty lists as the object name. This was fixed in
https://github.com/clojure/clojure/commit/
828d82fb5bae9a985f32279b819e22ae436022da
so change the project.clj to require Clojure 1.8.0-RC4 so that all
string tests pass.
Dov Murik [Tue, 15 Dec 2015 18:35:20 +0000 (13:35 -0500)]
erlang: pr-str: fix quoting of strings in hash-maps
Refactored: first arrange the hash map in a sequence of [K1, V1, K2, V2,
...] and then use pr_list to print all the elements.
Dov Murik [Tue, 15 Dec 2015 17:52:47 +0000 (12:52 -0500)]
guile: use readable/not-readable when printing hash-maps
Dov Murik [Tue, 15 Dec 2015 17:47:36 +0000 (12:47 -0500)]
ocaml: don't print commas in hash-maps
Dov Murik [Tue, 15 Dec 2015 17:46:16 +0000 (12:46 -0500)]
forth: don't print commas in hash-maps
Dov Murik [Tue, 15 Dec 2015 03:50:56 +0000 (22:50 -0500)]
tests: Add str and pr-str tests in step4 and step9
Specifically test serializing nil, empty collections and `str` of
collections. The Mal implementation is *not* identical to Clojure for
these cases.
Joel Martin [Thu, 17 Dec 2015 15:20:16 +0000 (09:20 -0600)]
python: fix string/unicode comparison.
Fixes #135.
Joel Martin [Thu, 17 Dec 2015 14:23:47 +0000 (08:23 -0600)]
.gitignore: ignore built erlang/mal.
Joel Martin [Thu, 17 Dec 2015 14:23:03 +0000 (08:23 -0600)]
.travis.yml: one line for each impl.
Thanks @dubek for the suggestion.
Joel Martin [Thu, 17 Dec 2015 14:12:10 +0000 (08:12 -0600)]
vimscript: hack for make perf to work in docker
Joel Martin [Tue, 15 Dec 2015 20:08:48 +0000 (14:08 -0600)]
Merge pull request #136 from dubek/add-vimscript-to-travis
travis: add vimscript to matrix
Dov Murik [Tue, 15 Dec 2015 19:15:26 +0000 (14:15 -0500)]
travis: add vimscript to matrix
Joel Martin [Tue, 15 Dec 2015 04:33:51 +0000 (22:33 -0600)]
Merge pull request #133 from dubek/runtest-repeat-failures
runtest.py: Repeat failed test cases at the bottom
Dov Murik [Tue, 15 Dec 2015 03:27:52 +0000 (22:27 -0500)]
runtest.py: Repeat failed test cases at the bottom
Stephen Thirlwall [Mon, 14 Dec 2015 07:06:50 +0000 (18:06 +1100)]
Don't pass an env to apply
Due to some initial confusion about which env to pass to the eval
builtin, I'd been needlessly passing an env to apply all along.
No need.
Joel Martin [Mon, 14 Dec 2015 18:39:48 +0000 (12:39 -0600)]
Merge pull request #131 from dubek/repl-invocation
Makefile: add REPL invocation rules
Dov Murik [Mon, 14 Dec 2015 13:50:27 +0000 (08:50 -0500)]
Makefile: add REPL invocation rules
Stephen Thirlwall [Mon, 14 Dec 2015 06:40:55 +0000 (17:40 +1100)]
Implement native swap! function
Joel Martin [Thu, 10 Dec 2015 18:39:42 +0000 (12:39 -0600)]
Merge pull request #129 from dubek/examples-memoize
examples: add memoize.mal as a usage example for atoms
Dov Murik [Thu, 10 Dec 2015 17:50:36 +0000 (12:50 -0500)]
examples: add memoize.mal as a usage example for atoms
Joel Martin [Wed, 9 Dec 2015 21:27:41 +0000 (15:27 -0600)]
Merge pull request #128 from sleep/actual-zsh-fix
quoted all make args in documentation for zsh compatibility
Sean Lee [Wed, 9 Dec 2015 19:49:15 +0000 (14:49 -0500)]
quoted all make args in documentation for zsh compatibility
Joel Martin [Fri, 4 Dec 2015 22:44:10 +0000 (16:44 -0600)]
Merge pull request #127 from dubek/fix-nim-tokenizer-oom
nim: fix tokenizer endless loop (and out-of-memory) on bad input
Dov Murik [Fri, 4 Dec 2015 20:35:39 +0000 (15:35 -0500)]
nim: fix tokenizer endless loop (and out-of-memory) on bad input
The input string `(prn "abc` caused the nim implementaion (from step1
onwards) to enter an endless loop in tokenize (which eventually caused
out-of-memory).
The fix verfies that indeed the regex matches a non-empty substring
before adding that substring as a token.
Joel Martin [Thu, 3 Dec 2015 22:27:47 +0000 (16:27 -0600)]
Haskell: fix simple vector equality. Add test.
- Was missing vector to vector equality but never noticed because test
was missing.
- Related to #123
Joel Martin [Thu, 3 Dec 2015 22:19:22 +0000 (16:19 -0600)]
Bash, PHP: fix nested hash-map equality.
Joel Martin [Thu, 3 Dec 2015 05:26:50 +0000 (23:26 -0600)]
Scala: fix hash-map nil values and printing.
Joel Martin [Wed, 2 Dec 2015 22:06:17 +0000 (16:06 -0600)]
Travis: add D implementation.
Joel Martin [Wed, 2 Dec 2015 21:18:49 +0000 (15:18 -0600)]
Merge pull request #125 from dubek/d-impl
D implementation
Dov Murik [Tue, 17 Nov 2015 03:17:13 +0000 (22:17 -0500)]
D implementation
Dov Murik [Wed, 2 Dec 2015 18:12:56 +0000 (13:12 -0500)]
tests: add tests for nil hashmap values
Joel Martin [Wed, 2 Dec 2015 17:17:54 +0000 (11:17 -0600)]
Scala: fix nested sequence/hash-map equality.
Related to #123
Joel Martin [Wed, 2 Dec 2015 17:16:09 +0000 (11:16 -0600)]
Tests: add nested hash-map tests.
Joel Martin [Wed, 2 Dec 2015 16:57:32 +0000 (10:57 -0600)]
Julia: fix nested sequence equality.
Joel Martin [Mon, 30 Nov 2015 21:09:17 +0000 (16:09 -0500)]
Merge pull request #124 from dubek/fix-guile-hash-list-equality
guile: fix equality of hash-maps and lists/vectors
Dov Murik [Mon, 30 Nov 2015 20:00:10 +0000 (15:00 -0500)]
guile: fix equality of hash-maps and lists/vectors
As part of #116 and #123
Joel Martin [Mon, 30 Nov 2015 20:09:38 +0000 (14:09 -0600)]
Matlab: fix hash-map equality and keywords.
- hash-map equality is related to #161.
Joel Martin [Mon, 30 Nov 2015 19:06:53 +0000 (14:06 -0500)]
R: add native hash-map equality
- part of #116
Joel Martin [Mon, 30 Nov 2015 18:53:26 +0000 (13:53 -0500)]
Merge pull request #122 from dubek/nested-vector-list-tests
tests: add soft tests for nested vector/list equality in step 4
Dov Murik [Mon, 30 Nov 2015 15:35:14 +0000 (10:35 -0500)]
tests: add soft tests for nested vector/list equality in step 4
Joel Martin [Tue, 24 Nov 2015 16:06:05 +0000 (11:06 -0500)]
Travis: fix docker use with matrix.
- Move the service: [docker] into each matrix item instead of
top-level.
Joel Martin [Tue, 24 Nov 2015 03:13:50 +0000 (22:13 -0500)]
Travis: test without language setting.
Joel Martin [Tue, 24 Nov 2015 02:58:25 +0000 (21:58 -0500)]
Travis: fix global language to "node_js"
Joel Martin [Mon, 23 Nov 2015 20:48:56 +0000 (15:48 -0500)]
nim: update Dockerfile to use version 0.12
Joel Martin [Mon, 23 Nov 2015 19:32:29 +0000 (14:32 -0500)]
Merge pull request #120 from def-/master
Nim fixes
Joel Martin [Mon, 23 Nov 2015 19:10:01 +0000 (14:10 -0500)]
Merge pull request #121 from dubek/lua-time-ms
lua: fix time-ms to return actual millisecond resolution timestamp
Joel Martin [Mon, 23 Nov 2015 19:02:22 +0000 (14:02 -0500)]
Merge pull request #119 from dubek/racket-fix-hash-equality
racket: fix hash-map equality
Joel Martin [Mon, 23 Nov 2015 19:01:57 +0000 (14:01 -0500)]
Merge pull request #118 from dubek/ocaml-fix-hash-equality
ocaml: fix hash equality
Dov Murik [Mon, 23 Nov 2015 16:41:54 +0000 (11:41 -0500)]
lua: fix time-ms to return actual millisecond resolution timestamp
def [Mon, 23 Nov 2015 14:41:23 +0000 (15:41 +0100)]
Nim: Fix hash map behaviour when key is not in it
def [Mon, 23 Nov 2015 14:40:56 +0000 (15:40 +0100)]
Nim: Add sequtils import for map proc
Dov Murik [Sun, 22 Nov 2015 04:57:47 +0000 (23:57 -0500)]
racket: fix hash-map equality
Dov Murik [Sun, 22 Nov 2015 04:00:56 +0000 (23:00 -0500)]
ocaml: fix hash equality
Joel Martin [Thu, 19 Nov 2015 05:56:54 +0000 (23:56 -0600)]
VB: fix hash-map equality.
Joel Martin [Thu, 19 Nov 2015 04:58:27 +0000 (22:58 -0600)]
make: fix comparison of empty hash-maps.
Again, combine checks onto a single line to prevent newline/whitespace
breakage in the check.
Joel Martin [Thu, 19 Nov 2015 03:53:09 +0000 (21:53 -0600)]
make: fix list comparison
Multiline check introduces bug in certain sequential comparisons.
So make it one line :-(
Joel Martin [Thu, 19 Nov 2015 03:50:25 +0000 (21:50 -0600)]
Merge pull request #117 from ivern/kotlin
Upgraded Kotlin to a newer beta, solved new deprecation warnings
Joel Martin [Thu, 19 Nov 2015 03:44:58 +0000 (21:44 -0600)]
perl: fix keys on hash-map in perl 5.20
Otherwise throw error "keys on reference is experimental".
Javier Fernandez-Ivern [Thu, 19 Nov 2015 02:26:25 +0000 (20:26 -0600)]
Merge remote-tracking branch 'kanaka/master' into kotlin