1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-21 18:48:12 +03:00
Commit Graph

1102 Commits

Author SHA1 Message Date
Dov Murik
d50fe7d153 factor: remove unrelated vim swap file 2016-01-06 14:33:57 +02:00
Dov Murik
7148ddb621 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.
2016-01-06 14:33:56 +02:00
Dov Murik
dcd1519937 guile: modify step6 (and later) to handle atoms 2016-01-06 14:33:56 +02:00
Dov Murik
627bd6f766 process, tests: move atoms implementation from stepA to step6 2016-01-06 14:33:55 +02:00
Joel Martin
f3caff3404 Merge pull request #141 from rcantangus/master
Update guide.md
2016-01-04 15:53:52 -06:00
rcantangus
94a954f58e Update guide.md
Fix typo; libnoise is a noise generating library.
2016-01-04 17:56:25 +11:00
Joel Martin
a46e6d5329 Update process diagrams with atoms in step6.
Related to https://github.com/kanaka/mal/pull/130
2016-01-01 23:04:54 -06:00
Joel Martin
8b7aa2e070 Merge pull request #140 from rhysd/crystal-0.10.0
Crystal: bump up crystal version to 0.10.0
2015-12-31 15:35:18 -06:00
Joel Martin
7c56c6a572 matlab: update Dockerfile and Makefile 2015-12-31 15:21:18 -06:00
Joel Martin
4769962955 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
2015-12-31 13:55:18 -06:00
rhysd
d3ce5b49ca Crystal: bump up crystal version to 0.10.0 2016-01-01 01:46:18 +09:00
Joel Martin
61fb553d02 Merge pull request #138 from dubek/js-fix-quasiquote-nil
js: Fix exception in `(nil)
2015-12-30 10:34:53 -07:00
Joel Martin
c963be7a9e Groovy, coffee: fix (quasiquote (nil))
Related to https://github.com/kanaka/mal/pull/138
2015-12-30 10:34:21 -07:00
Joel Martin
85227f50eb Merge pull request #139 from wendelb/wendelb-patch-malhtml
Updated mal.html
2015-12-30 10:18:14 -07:00
wendelb
fc5c2c6fb3 Updated mal.html
Make the demo working again on current Firefox & Chrome Versions
2015-12-29 21:32:02 +01:00
Dov Murik
49994fc248 miniMAL: Fix exception in `(nil) 2015-12-28 23:06:36 +02:00
Dov Murik
3dcaa6ce43 js: Fix exception in `(nil) 2015-12-28 10:22:58 +02:00
Joel Martin
9b5d21a10b Merge pull request #137 from ivern/kotlin
Upgraded to Kotlin 1.0.0 Beta 4, got rid of remaining compiler warnings
2015-12-27 21:50:27 -07:00
Javier Fernandez-Ivern
a0d4df3ef6 Upgraded to Kotlin 1.0.0 Beta 4, got rid of remaining compiler warnings 2015-12-26 00:18:10 -06:00
Joel Martin
202be861b5 LICENSE.txt: remove, not missed after all.
I forgot that LICENSE was already there and that is the name that
github expects.
2015-12-22 22:28:55 -07:00
Joel Martin
713503a50e LICENSE.txt: long missing license file. 2015-12-22 22:26:23 -07:00
Joel Martin
17180e8583 Makefile: add REGRESS functionality
- Fixes #107
2015-12-18 17:24:02 -06:00
Joel Martin
27dfab373a Merge commit '069f90b' 2015-12-18 13:29:08 -06:00
Joel Martin
7636474971 Clojure: No comma hash-map printing. Fix str nil printing.
- This is again related to https://github.com/kanaka/mal/pull/134
2015-12-18 13:27:27 -06:00
Joel Martin
93cba02fb9 Merge pull request #132 from sdt/native-swap
Native swap! implementation for cpp
2015-12-18 12:00:45 -06:00
Joel Martin
aa716df67c 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
  828d82fb5b
  so change the project.clj to require Clojure 1.8.0-RC4 so that all
  string tests pass.
2015-12-17 16:14:43 -06:00
Dov Murik
069f90b2b5 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.
2015-12-17 22:01:33 +02:00
Dov Murik
3c1b95d2b3 guile: use readable/not-readable when printing hash-maps 2015-12-17 22:01:33 +02:00
Dov Murik
68409f8c49 ocaml: don't print commas in hash-maps 2015-12-17 22:01:32 +02:00
Dov Murik
6703e76ad8 forth: don't print commas in hash-maps 2015-12-17 22:01:32 +02:00
Dov Murik
c4cd270022 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.
2015-12-17 22:01:31 +02:00
Joel Martin
672618d8b8 python: fix string/unicode comparison.
Fixes #135.
2015-12-17 09:21:06 -06:00
Joel Martin
0840bfda6d .gitignore: ignore built erlang/mal. 2015-12-17 08:23:47 -06:00
Joel Martin
908e46ea52 .travis.yml: one line for each impl.
Thanks @dubek for the suggestion.
2015-12-17 08:23:03 -06:00
Joel Martin
5f66fc069e vimscript: hack for make perf to work in docker 2015-12-17 08:12:10 -06:00
Joel Martin
8bba098c87 Merge pull request #136 from dubek/add-vimscript-to-travis
travis: add vimscript to matrix
2015-12-15 14:08:48 -06:00
Dov Murik
a1c9250c82 travis: add vimscript to matrix 2015-12-15 14:15:26 -05:00
Joel Martin
69dd85abcf Merge pull request #133 from dubek/runtest-repeat-failures
runtest.py: Repeat failed test cases at the bottom
2015-12-14 22:33:51 -06:00
Dov Murik
0072404965 runtest.py: Repeat failed test cases at the bottom 2015-12-14 22:29:12 -05:00
Stephen Thirlwall
494c160856 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.
2015-12-15 11:22:25 +11:00
Joel Martin
78410fdff6 Merge pull request #131 from dubek/repl-invocation
Makefile: add REPL invocation rules
2015-12-14 12:39:48 -06:00
Dov Murik
854cf2a6ba Makefile: add REPL invocation rules 2015-12-14 08:50:27 -05:00
Stephen Thirlwall
19a6c2061e Implement native swap! function 2015-12-14 17:40:55 +11:00
Joel Martin
33ff3e2dee Merge pull request #129 from dubek/examples-memoize
examples: add memoize.mal as a usage example for atoms
2015-12-10 12:39:42 -06:00
Dov Murik
a624ba4b67 examples: add memoize.mal as a usage example for atoms 2015-12-10 12:51:39 -05:00
Joel Martin
be2957cc4a Merge pull request #128 from sleep/actual-zsh-fix
quoted all make args in documentation for zsh compatibility
2015-12-09 15:27:41 -06:00
Sean Lee
e5737b082f quoted all make args in documentation for zsh compatibility 2015-12-09 14:49:15 -05:00
Joel Martin
a136ea497e Merge pull request #127 from dubek/fix-nim-tokenizer-oom
nim: fix tokenizer endless loop (and out-of-memory) on bad input
2015-12-04 16:44:10 -06:00
Dov Murik
539427f0db 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.
2015-12-04 15:35:39 -05:00
Joel Martin
c46b421a24 Haskell: fix simple vector equality. Add test.
- Was missing vector to vector equality but never noticed because test
  was missing.
- Related to #123
2015-12-03 16:27:47 -06:00