jackhill/mal.git
8 years agoMerge pull request #118 from dubek/ocaml-fix-hash-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

8 years agoocaml: fix hash equality
Dov Murik [Sun, 22 Nov 2015 04:00:56 +0000 (23:00 -0500)]
ocaml: fix hash equality

8 years agoVB: fix hash-map equality.
Joel Martin [Thu, 19 Nov 2015 05:56:54 +0000 (23:56 -0600)]
VB: fix hash-map equality.

8 years agomake: fix comparison of empty hash-maps.
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.

8 years agomake: fix list comparison
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 :-(

8 years agoMerge pull request #117 from ivern/kotlin
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

8 years agoperl: fix keys on hash-map in perl 5.20
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".

8 years agoMerge remote-tracking branch 'kanaka/master' into kotlin
Javier Fernandez-Ivern [Thu, 19 Nov 2015 02:26:25 +0000 (20:26 -0600)]
Merge remote-tracking branch 'kanaka/master' into kotlin

8 years agoUpdated kotlinc version in the Dockerfile
Javier Fernandez-Ivern [Wed, 18 Nov 2015 23:15:19 +0000 (17:15 -0600)]
Updated kotlinc version in the Dockerfile

8 years agoMerge branch 'kotlin' of https://github.com/ivern/mal into kotlin
Javier Fernandez-Ivern [Wed, 18 Nov 2015 23:14:01 +0000 (17:14 -0600)]
Merge branch 'kotlin' of https://github.com/ivern/mal into kotlin

8 years agoRemoved unnecessary casts now that Kotlin compiler bug is fixed
Javier Fernandez-Ivern [Wed, 18 Nov 2015 23:13:43 +0000 (17:13 -0600)]
Removed unnecessary casts now that Kotlin compiler bug is fixed

8 years agoUpgraded to Kotlin 1.0.0-beta-2423, fixed new deprecation warnings
Javier Fernandez-Ivern [Wed, 18 Nov 2015 23:04:35 +0000 (17:04 -0600)]
Upgraded to Kotlin 1.0.0-beta-2423, fixed new deprecation warnings

8 years agoMakefile: fix recursive make of compiled impls.
Joel Martin [Wed, 18 Nov 2015 22:32:53 +0000 (16:32 -0600)]
Makefile: fix recursive make of compiled impls.

Should fix #105

8 years agominiMAL, perl: add native hash-map equality.
Joel Martin [Wed, 18 Nov 2015 21:39:46 +0000 (15:39 -0600)]
miniMAL, perl: add native hash-map equality.

8 years agoMerge pull request #115 from dubek/fix-ps-hash-equal
Joel Martin [Wed, 18 Nov 2015 16:12:52 +0000 (10:12 -0600)]
Merge pull request #115 from dubek/fix-ps-hash-equal

ps: Fix hash equal

8 years agops: fix hash-map equality
Dov Murik [Fri, 13 Nov 2015 18:03:32 +0000 (13:03 -0500)]
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

8 years agotests: add more hash equality test cases in step 9
Dov Murik [Fri, 13 Nov 2015 17:47:40 +0000 (12:47 -0500)]
tests: add more hash equality test cases in step 9

8 years agoMerge pull request #114 from dubek/equality-pure-mal
Joel Martin [Tue, 17 Nov 2015 22:32:40 +0000 (16:32 -0600)]
Merge pull request #114 from dubek/equality-pure-mal

add examples/equality.mal

8 years agoadd examples/eqaulity.mal
Dov Murik [Tue, 17 Nov 2015 19:41:06 +0000 (14:41 -0500)]
add examples/eqaulity.mal

Implementations that don't have proper native comparison of hash-maps
and sequences can load examples/equality.mal for a pure-mal
implementation.

8 years agohash-map equality: bash, c, coffee, cs, es6, ...
Joel Martin [Tue, 17 Nov 2015 05:28:58 +0000 (23:28 -0600)]
hash-map equality: bash, c, coffee, cs, es6, ...

- hash-map equality support for bash, c, coffee, cs, es6, java, js,
  julia, make, php.
- also, add another test to catch another hash-map in-equality: same
  keys, different values

8 years agoexamples/: add chouser's protocols.mal file.
Joel Martin [Thu, 12 Nov 2015 23:03:17 +0000 (17:03 -0600)]
examples/: add chouser's protocols.mal file.

Originally from: https://gist.github.com/Chouser/6081ea66d144d13e56fc

8 years agoMove mal code examples from mal/ to examples/
Joel Martin [Thu, 12 Nov 2015 23:00:55 +0000 (17:00 -0600)]
Move mal code examples from mal/ to examples/

8 years agoMerge pull request #111 from dubek/fix-go-hash-equality
Joel Martin [Thu, 12 Nov 2015 15:29:58 +0000 (09:29 -0600)]
Merge pull request #111 from dubek/fix-go-hash-equality

go: fix hash equality

8 years agogo: fix hash-map equality
Dov Murik [Thu, 12 Nov 2015 15:11:34 +0000 (10:11 -0500)]
go: fix hash-map equality

8 years agoMerge pull request #109 from dubek/lua-fix-hash-map-equal
Joel Martin [Wed, 11 Nov 2015 02:52:51 +0000 (20:52 -0600)]
Merge pull request #109 from dubek/lua-fix-hash-map-equal

lua: fix hash-map equality

8 years agoMerge pull request #108 from dubek/tcl-impl
Joel Martin [Tue, 10 Nov 2015 19:28:47 +0000 (13:28 -0600)]
Merge pull request #108 from dubek/tcl-impl

tcl: add --raw flag to allow running without Readline

8 years agolua: fix hash-map equality
Dov Murik [Tue, 10 Nov 2015 19:03:26 +0000 (14:03 -0500)]
lua: fix hash-map equality

8 years agotcl: add --raw flag to allow running without Readline
Dov Murik [Tue, 10 Nov 2015 18:11:49 +0000 (13:11 -0500)]
tcl: add --raw flag to allow running without Readline

The Readline library for Tcl (tclreadline) enables history
substitutions, which means that lines that begin with `^` or `!` are
preprocessed by readline.  This interferes with some step1 tests of the
`^` form (--> with-meta).

Now the Tcl implementation supports a `--raw` command line flag which
disables the readline library and opts for simple input from stdin. The
tests (Makefile) are run with `--raw`.

8 years agoFix hash-map equality in python and rpython.
Joel Martin [Tue, 10 Nov 2015 17:00:56 +0000 (11:00 -0600)]
Fix hash-map equality in python and rpython.

8 years agoMerge pull request #104 from dubek/hashmap-equality-test
Joel Martin [Tue, 10 Nov 2015 15:56:19 +0000 (09:56 -0600)]
Merge pull request #104 from dubek/hashmap-equality-test

tests: step9: add hash-map equality tests

8 years agoTravis: add Tcl
Joel Martin [Tue, 10 Nov 2015 04:53:30 +0000 (22:53 -0600)]
Travis: add Tcl

8 years agoMerge pull request #106 from dubek/tcl-impl
Joel Martin [Tue, 10 Nov 2015 04:19:18 +0000 (22:19 -0600)]
Merge pull request #106 from dubek/tcl-impl

Tcl implementation

8 years agotests: step9: add hash-map equality tests (as soft tests)
Dov Murik [Mon, 9 Nov 2015 21:13:45 +0000 (16:13 -0500)]
tests: step9: add hash-map equality tests (as soft tests)

8 years agoruntest/travis: make soft mode the default.
Joel Martin [Tue, 10 Nov 2015 03:16:38 +0000 (21:16 -0600)]
runtest/travis: make soft mode the default.

Switch runtest.py option to --hard instead of --soft. This changes
tests marked as soft into a hard fail tests.

8 years agoTcl implementation
Dov Murik [Thu, 9 Jul 2015 15:14:16 +0000 (11:14 -0400)]
Tcl implementation

8 years agoMisc cleanup for midwest.io presentation.
Joel Martin [Sat, 7 Nov 2015 21:19:44 +0000 (15:19 -0600)]
Misc cleanup for midwest.io presentation.

8 years agoMerge pull request #102 from nlfiedler/fix-escapes
Joel Martin [Fri, 6 Nov 2015 20:31:21 +0000 (12:31 -0800)]
Merge pull request #102 from nlfiedler/fix-escapes

Fix reading/printing of escaped characters

8 years agoFix reading/printing of escaped characters
Nathan Fiedler [Fri, 6 Nov 2015 19:19:06 +0000 (11:19 -0800)]
Fix reading/printing of escaped characters

Properly read \\n and convert to a newline, and when printing with
readability enabled, convert the newline back to \\n.

Add support for Erlang R18, which was nothing more than tweaking the
requirements in the rebar.config file.

Fixes #100

make test^erlang passes

8 years agoMerge pull request #101 from ivern/kotlin
Joel Martin [Wed, 4 Nov 2015 16:59:45 +0000 (08:59 -0800)]
Merge pull request #101 from ivern/kotlin

Kotlin refactoring (more idiomatic)

8 years agoCleaned up usage of ISeq.count()
Javier Fernandez-Ivern [Wed, 4 Nov 2015 14:54:54 +0000 (08:54 -0600)]
Cleaned up usage of ISeq.count()

8 years agoBumped Kotlin version in the Dockerfile
Javier Fernandez-Ivern [Wed, 4 Nov 2015 14:43:23 +0000 (08:43 -0600)]
Bumped Kotlin version in the Dockerfile

8 years agoKotlin eval refactoring to make it more idiomatic
Javier Fernandez-Ivern [Wed, 4 Nov 2015 04:45:07 +0000 (22:45 -0600)]
Kotlin eval refactoring to make it more idiomatic

8 years agoKotlin dispatch refactoring to make it more idiomatic
Javier Fernandez-Ivern [Wed, 4 Nov 2015 04:36:24 +0000 (22:36 -0600)]
Kotlin dispatch refactoring to make it more idiomatic

8 years agoawk: generate awk.sh. Update docs/TODO.
Joel Martin [Sat, 31 Oct 2015 03:30:56 +0000 (22:30 -0500)]
awk: generate awk.sh. Update docs/TODO.

8 years agoruntest: split debug/log file. Test stats.
Joel Martin [Sat, 31 Oct 2015 03:23:19 +0000 (22:23 -0500)]
runtest: split debug/log file. Test stats.

8 years agoAll: fix read/print of \\, and \n
Joel Martin [Sat, 31 Oct 2015 03:05:49 +0000 (22:05 -0500)]
All: fix read/print of \\, and \n

8 years agoAll: don't ignore */mal. Fixes #99
Joel Martin [Fri, 30 Oct 2015 14:31:38 +0000 (09:31 -0500)]
All: don't ignore */mal. Fixes #99

8 years agoMerge pull request #98 from mrjbq7/factor
Joel Martin [Thu, 29 Oct 2015 17:14:18 +0000 (12:14 -0500)]
Merge pull request #98 from mrjbq7/factor

Factor updates

8 years agofactor: adding some unit tests.
John Benediktsson [Thu, 29 Oct 2015 16:02:44 +0000 (09:02 -0700)]
factor: adding some unit tests.

8 years agofactor: partial fix for with-meta.
John Benediktsson [Thu, 29 Oct 2015 16:02:32 +0000 (09:02 -0700)]
factor: partial fix for with-meta.

8 years agofactor: update FACTOR_ROOTS in Makefile.
John Benediktsson [Thu, 29 Oct 2015 15:27:24 +0000 (08:27 -0700)]
factor: update FACTOR_ROOTS in Makefile.

8 years agofactor: update code.
John Benediktsson [Wed, 28 Oct 2015 23:16:43 +0000 (16:16 -0700)]
factor: update code.

* Works on soon-to-be-released 0.98 (triple quote strings removed)
* 50% more iterations per second on perf3.mal
* Removed 'src' directory, use 'factor' as the root
* Using 'mal' namespace for core, reader, printer, malenv, types
* Fixed issue with "empty" readline input (should be ignored and wasn't)
* Tried to simplify some of the code

8 years agostep5 test: group related test code together.
Joel Martin [Tue, 27 Oct 2015 20:33:53 +0000 (15:33 -0500)]
step5 test: group related test code together.

8 years agoMerge pull request #97 from ivern/kotlin
Joel Martin [Tue, 27 Oct 2015 20:33:05 +0000 (15:33 -0500)]
Merge pull request #97 from ivern/kotlin

Added TCO test for mutually recursive functions

8 years agoReduced the mutually recursive function test size
Javier Fernandez-Ivern [Tue, 27 Oct 2015 20:05:40 +0000 (15:05 -0500)]
Reduced the mutually recursive function test size

8 years agoAdded TCO test for mutually recursive functions
Javier Fernandez-Ivern [Tue, 27 Oct 2015 18:17:56 +0000 (13:17 -0500)]
Added TCO test for mutually recursive functions

8 years agovimscript: fix atom? to return boolean not integer.
Joel Martin [Tue, 27 Oct 2015 17:03:40 +0000 (12:03 -0500)]
vimscript: fix atom? to return boolean not integer.

8 years agoMerge pull request #96 from ivern/kotlin
Joel Martin [Tue, 27 Oct 2015 17:02:34 +0000 (12:02 -0500)]
Merge pull request #96 from ivern/kotlin

Kotlin step cleanup

8 years agoCleaned up some boilerplate code in core
Javier Fernandez-Ivern [Tue, 27 Oct 2015 14:57:10 +0000 (09:57 -0500)]
Cleaned up some boilerplate code in core

8 years agoTravis: add kotlin.
Joel Martin [Tue, 27 Oct 2015 05:11:06 +0000 (00:11 -0500)]
Travis: add kotlin.

8 years agoMerge remote-tracking branch 'kanaka/master' into kotlin
Javier Fernandez-Ivern [Tue, 27 Oct 2015 05:01:54 +0000 (00:01 -0500)]
Merge remote-tracking branch 'kanaka/master' into kotlin

8 years agoMerge remote-tracking branch 'kanaka/master' into kotlin
Javier Fernandez-Ivern [Tue, 27 Oct 2015 05:01:38 +0000 (00:01 -0500)]
Merge remote-tracking branch 'kanaka/master' into kotlin

8 years agoKotlin: minor change to re-use layers from Java image.
Joel Martin [Tue, 27 Oct 2015 05:00:12 +0000 (00:00 -0500)]
Kotlin: minor change to re-use layers from Java image.

8 years agoStep cleanup
Javier Fernandez-Ivern [Tue, 27 Oct 2015 04:59:04 +0000 (23:59 -0500)]
Step cleanup

8 years agoMerge pull request #95 from ivern/kotlin
Joel Martin [Tue, 27 Oct 2015 04:57:38 +0000 (23:57 -0500)]
Merge pull request #95 from ivern/kotlin

Kotlin

8 years agoAdded Dockerfile
Javier Fernandez-Ivern [Tue, 27 Oct 2015 04:36:19 +0000 (23:36 -0500)]
Added Dockerfile

8 years agoUpdated from master, solved conflicts
Javier Fernandez-Ivern [Tue, 27 Oct 2015 04:14:04 +0000 (23:14 -0500)]
Updated from master, solved conflicts

8 years agoMalIntegers are now backed by Longs, added time-ms
Javier Fernandez-Ivern [Tue, 27 Oct 2015 04:12:03 +0000 (23:12 -0500)]
MalIntegers are now backed by Longs, added time-ms

8 years agoCleanup, added stats targets
Javier Fernandez-Ivern [Tue, 27 Oct 2015 03:48:01 +0000 (22:48 -0500)]
Cleanup, added stats targets

8 years agoBash: remove debug print.
Joel Martin [Tue, 27 Oct 2015 03:39:09 +0000 (22:39 -0500)]
Bash: remove debug print.

8 years agoAll: show comments with stats target.
Joel Martin [Tue, 27 Oct 2015 03:33:49 +0000 (22:33 -0500)]
All: show comments with stats target.

- Put guile into correct alphabetical order.

8 years agoTravis: disable perf^vimscript
Joel Martin [Tue, 27 Oct 2015 03:26:27 +0000 (22:26 -0500)]
Travis: disable perf^vimscript

/dev/stdout is used for output by vimscript, but in container running
as a specific user, /dev/stdout is not writable and causes vimscript
to basically hang.

8 years agoFixed final bug with swap, added tests
Javier Fernandez-Ivern [Tue, 27 Oct 2015 02:49:58 +0000 (21:49 -0500)]
Fixed final bug with swap, added tests

8 years agoFixed step 6 tests
Javier Fernandez-Ivern [Tue, 27 Oct 2015 02:31:44 +0000 (21:31 -0500)]
Fixed step 6 tests

8 years agoMerge remote-tracking branch 'kanaka/master' into kotlin
Javier Fernandez-Ivern [Tue, 27 Oct 2015 01:27:42 +0000 (20:27 -0500)]
Merge remote-tracking branch 'kanaka/master' into kotlin

8 years agoFixed several self-hosting issues, added atom? tests
Javier Fernandez-Ivern [Tue, 27 Oct 2015 01:27:29 +0000 (20:27 -0500)]
Fixed several self-hosting issues, added atom? tests

8 years agoCleaned up EOF handling
Javier Fernandez-Ivern [Mon, 26 Oct 2015 19:06:10 +0000 (14:06 -0500)]
Cleaned up EOF handling

8 years agoFinished atoms and readline
Javier Fernandez-Ivern [Mon, 26 Oct 2015 19:02:30 +0000 (14:02 -0500)]
Finished atoms and readline

8 years agoFinished metadata
Javier Fernandez-Ivern [Mon, 26 Oct 2015 18:31:36 +0000 (13:31 -0500)]
Finished metadata

8 years agoCleanup
Javier Fernandez-Ivern [Mon, 26 Oct 2015 15:40:03 +0000 (10:40 -0500)]
Cleanup

8 years agoImplemented conj, (badly) implemented meta--needs to work for all objects and not...
Javier Fernandez-Ivern [Mon, 26 Oct 2015 15:37:17 +0000 (10:37 -0500)]
Implemented conj, (badly) implemented meta--needs to work for all objects and not mutate them

8 years agoFinished additional core functions for step 9
Javier Fernandez-Ivern [Mon, 26 Oct 2015 14:47:30 +0000 (09:47 -0500)]
Finished additional core functions for step 9

8 years agoPartial implementation of step 9, missing some of the deferrable functions
Javier Fernandez-Ivern [Mon, 26 Oct 2015 04:02:43 +0000 (23:02 -0500)]
Partial implementation of step 9, missing some of the deferrable functions

8 years agoImplemented step 8 (macros)
Javier Fernandez-Ivern [Mon, 26 Oct 2015 02:30:51 +0000 (21:30 -0500)]
Implemented step 8 (macros)

8 years agoTravis: do not fail when no log exists (e.g. perf).
Joel Martin [Sun, 25 Oct 2015 21:29:32 +0000 (16:29 -0500)]
Travis: do not fail when no log exists (e.g. perf).

8 years agoTravis: don't fail when log file not there.
Joel Martin [Sun, 25 Oct 2015 21:24:28 +0000 (16:24 -0500)]
Travis: don't fail when log file not there.

8 years agoTravis: fix shell syntax
Joel Martin [Sun, 25 Oct 2015 21:21:02 +0000 (16:21 -0500)]
Travis: fix shell syntax

8 years agoTravis: add perf test.
Joel Martin [Sun, 25 Oct 2015 21:17:09 +0000 (16:17 -0500)]
Travis: add perf test.

8 years agovimscript: add time-ms for perf/timing.
Joel Martin [Sun, 25 Oct 2015 21:11:27 +0000 (16:11 -0500)]
vimscript: add time-ms for perf/timing.

TODO: unfortunately, this relies on external data command (probably
UNIX only). However, this won't break the implementation on other
platforms, it just means the time-ms command won't work there.

8 years agoImplemented step 7 (quoting)
Javier Fernandez-Ivern [Sun, 25 Oct 2015 06:07:43 +0000 (01:07 -0500)]
Implemented step 7 (quoting)

8 years agoImplemented step 6 (files and eval)
Javier Fernandez-Ivern [Sun, 25 Oct 2015 05:22:15 +0000 (00:22 -0500)]
Implemented step 6 (files and eval)

8 years agoAdded TCO support as step 5
Javier Fernandez-Ivern [Sun, 25 Oct 2015 04:13:39 +0000 (23:13 -0500)]
Added TCO support as step 5

8 years agoImplemented Kotlin MAL up to step 4
Javier Fernandez-Ivern [Sun, 25 Oct 2015 03:10:53 +0000 (22:10 -0500)]
Implemented Kotlin MAL up to step 4

8 years agoswift: add status rule. Fix Makefile on Linux.
Joel Martin [Sat, 24 Oct 2015 20:54:11 +0000 (15:54 -0500)]
swift: add status rule. Fix Makefile on Linux.

8 years agofsharp: add time-ms to core.
Joel Martin [Sat, 24 Oct 2015 20:53:41 +0000 (15:53 -0500)]
fsharp: add time-ms to core.

8 years agoJulia: update to verion 0.4. Add time-ms.
Joel Martin [Sat, 24 Oct 2015 20:39:13 +0000 (15:39 -0500)]
Julia: update to verion 0.4. Add time-ms.

8 years agoTravis: activate vimscript build/test.
Joel Martin [Tue, 20 Oct 2015 20:36:24 +0000 (15:36 -0500)]
Travis: activate vimscript build/test.

8 years agovimscript: fix load of readline lib. Update Dockerfile.
Joel Martin [Tue, 20 Oct 2015 20:34:24 +0000 (15:34 -0500)]
vimscript: fix load of readline lib. Update Dockerfile.

8 years agoVimscript implementation
Dov Murik [Tue, 20 Oct 2015 19:02:00 +0000 (15:02 -0400)]
Vimscript implementation

8 years agops: fix self-host and runtest.py parsing issue.
Joel Martin [Tue, 13 Oct 2015 03:14:45 +0000 (22:14 -0500)]
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.