jackhill/mal.git
9 years agoforth: Add support for & var-args
Chouser [Sun, 15 Feb 2015 21:46:34 +0000 (16:46 -0500)]
forth: Add support for & var-args

9 years agoforth: Split types for user fns vs native fns
Chouser [Sun, 15 Feb 2015 19:10:47 +0000 (14:10 -0500)]
forth: Split types for user fns vs native fns

9 years agoforth: Add step 4, but not varargs
Chouser [Sun, 15 Feb 2015 18:33:44 +0000 (13:33 -0500)]
forth: Add step 4, but not varargs

9 years agoforth: Add defspecial for Mal special ops
Chouser [Sat, 14 Feb 2015 21:08:17 +0000 (16:08 -0500)]
forth: Add defspecial for Mal special ops

9 years agoforth: Get rid of invoke+
Chouser [Sat, 14 Feb 2015 20:44:22 +0000 (15:44 -0500)]
forth: Get rid of invoke+

Fold 'invoke+' into 'invoke'. Allows (:k m nf) to evaluate nf lazily!

9 years agoforth: Get rid of car/cdr style lists
Chouser [Sat, 14 Feb 2015 20:18:18 +0000 (15:18 -0500)]
forth: Get rid of car/cdr style lists

Rename MalArray to MalList

9 years agoforth: Add step 3
Chouser [Sat, 14 Feb 2015 18:40:07 +0000 (13:40 -0500)]
forth: Add step 3

9 years agoforth: Add step 2
Chouser [Fri, 13 Feb 2015 00:27:00 +0000 (19:27 -0500)]
forth: Add step 2

9 years agoforth: Finished step 1
Chouser [Sat, 7 Feb 2015 15:01:31 +0000 (10:01 -0500)]
forth: Finished step 1

9 years agoforth: Add step 1, but not maps
Chouser [Sat, 7 Feb 2015 04:58:41 +0000 (23:58 -0500)]
forth: Add step 1, but not maps

9 years agoforth: Add string printing
Chouser [Fri, 6 Feb 2015 07:38:58 +0000 (02:38 -0500)]
forth: Add string printing

9 years agoforth: Added lists, ints, symbols for step 1
Chouser [Fri, 6 Feb 2015 05:38:34 +0000 (00:38 -0500)]
forth: Added lists, ints, symbols for step 1

9 years agoforth: Add step 0
Chouser [Thu, 5 Feb 2015 23:47:32 +0000 (18:47 -0500)]
forth: Add step 0

9 years agoforth: protocols and some pr-str working
Chouser [Thu, 5 Feb 2015 02:44:37 +0000 (21:44 -0500)]
forth: protocols and some pr-str working

9 years agoforth: Add basic protocol functionality
Chouser [Thu, 5 Feb 2015 01:05:03 +0000 (20:05 -0500)]
forth: Add basic protocol functionality

9 years agoforth: Start experimenting
Chouser [Wed, 4 Feb 2015 05:45:07 +0000 (00:45 -0500)]
forth: Start experimenting

9 years agoAdd tests for problems uncovered during forth self-hosted tests
Chouser [Thu, 19 Feb 2015 23:37:21 +0000 (18:37 -0500)]
Add tests for problems uncovered during forth self-hosted tests

9 years agotest step1: Add input for existing output case
Chouser [Mon, 16 Feb 2015 23:43:51 +0000 (18:43 -0500)]
test step1: Add input for existing output case

9 years agoMerge pull request #5 from alandipert/master
Joel Martin [Wed, 11 Feb 2015 02:57:56 +0000 (20:57 -0600)]
Merge pull request #5 from alandipert/master

bash: use env in shebang

9 years agoUse env in Makefile
Alan Dipert [Tue, 10 Feb 2015 23:32:19 +0000 (18:32 -0500)]
Use env in Makefile

9 years agobash: use env in shebang
Alan Dipert [Tue, 10 Feb 2015 20:59:50 +0000 (15:59 -0500)]
bash: use env in shebang

- Now works on Macs with Bash4 from homebrew

9 years agomatlab: add to README. 24th implementation!
Joel Martin [Tue, 10 Feb 2015 18:15:24 +0000 (12:15 -0600)]
matlab: add to README. 24th implementation!

9 years agomatlab: fix do/slice, strings. Self-hosting!
Joel Martin [Tue, 10 Feb 2015 07:51:28 +0000 (01:51 -0600)]
matlab: fix do/slice, strings. Self-hosting!

Fix Makefile stats/stats-lisp.

9 years agomatlab: add metadata and atom support.
Joel Martin [Tue, 10 Feb 2015 07:34:56 +0000 (01:34 -0600)]
matlab: add metadata and atom support.

9 years agomatlab: add keyword, vector, hash-map support.
Joel Martin [Tue, 10 Feb 2015 05:20:23 +0000 (23:20 -0600)]
matlab: add keyword, vector, hash-map support.

Switch List to full object like vector and hash-map.

9 years agomatlab: stepA, perf test, comments.
Joel Martin [Mon, 9 Feb 2015 06:23:10 +0000 (00:23 -0600)]
matlab: stepA, perf test, comments.

9 years agomatlab: Add step9.
Joel Martin [Mon, 9 Feb 2015 05:50:12 +0000 (23:50 -0600)]
matlab: Add step9.

9 years agomatlab: add step8
Joel Martin [Mon, 9 Feb 2015 02:35:44 +0000 (20:35 -0600)]
matlab: add step8

9 years agomatlab: step7, fix reader bug.
Joel Martin [Mon, 9 Feb 2015 01:23:49 +0000 (19:23 -0600)]
matlab: step7, fix reader bug.

9 years agomatlab: add step6
Joel Martin [Mon, 9 Feb 2015 00:56:13 +0000 (18:56 -0600)]
matlab: add step6

9 years agomatlab: add step5_tco
Joel Martin [Mon, 9 Feb 2015 00:35:03 +0000 (18:35 -0600)]
matlab: add step5_tco

9 years agomatlab: all step4 except optional.
Joel Martin [Sun, 8 Feb 2015 19:18:08 +0000 (13:18 -0600)]
matlab: all step4 except optional.

9 years agomatlab: start of step4
Joel Martin [Sun, 8 Feb 2015 07:13:41 +0000 (01:13 -0600)]
matlab: start of step4

9 years agomatlab: step3
Joel Martin [Sun, 8 Feb 2015 04:07:16 +0000 (22:07 -0600)]
matlab: step3

9 years agomatlab: step2
Joel Martin [Sun, 8 Feb 2015 03:03:43 +0000 (21:03 -0600)]
matlab: step2

9 years agomatlab: step0 and step1 basics.
Joel Martin [Sun, 8 Feb 2015 02:32:06 +0000 (20:32 -0600)]
matlab: step0 and step1 basics.

9 years agoMerge pull request #4 from Chouser/ocaml
Joel Martin [Fri, 30 Jan 2015 22:50:18 +0000 (16:50 -0600)]
Merge pull request #4 from Chouser/ocaml

OCaml: add make targets for stats

9 years agoOCaml: add make targets for stats
Chouser [Fri, 30 Jan 2015 19:26:00 +0000 (14:26 -0500)]
OCaml: add make targets for stats

9 years agoguide.md: step9,A stubs. TODO. More vector tests.
Joel Martin [Fri, 30 Jan 2015 19:21:10 +0000 (13:21 -0600)]
guide.md: step9,A stubs. TODO. More vector tests.

9 years agoREADME: update count to 23 to reflect OCaml addition.
Joel Martin [Fri, 30 Jan 2015 18:10:08 +0000 (12:10 -0600)]
README: update count to 23 to reflect OCaml addition.

9 years agoMerge pull request #3 from Chouser/ocaml
Joel Martin [Fri, 30 Jan 2015 18:06:45 +0000 (12:06 -0600)]
Merge pull request #3 from Chouser/ocaml

Ocaml

9 years agoOCaml: add to README.md
Chouser [Fri, 30 Jan 2015 17:53:52 +0000 (12:53 -0500)]
OCaml: add to README.md

9 years agoOCaml: Fix stepA command-line script running
Chouser [Fri, 30 Jan 2015 17:38:44 +0000 (12:38 -0500)]
OCaml: Fix stepA command-line script running

9 years agoOCaml: Add time-ms
Chouser [Fri, 30 Jan 2015 17:38:32 +0000 (12:38 -0500)]
OCaml: Add time-ms

9 years agoOCaml: put macro flag in metadata rather than special type field
Chouser [Fri, 30 Jan 2015 14:10:24 +0000 (09:10 -0500)]
OCaml: put macro flag in metadata rather than special type field

9 years agoOCaml: self-hosting
Chouser [Fri, 30 Jan 2015 05:17:57 +0000 (00:17 -0500)]
OCaml: self-hosting

9 years agoOCaml: Add step 9
Chouser [Fri, 30 Jan 2015 04:29:54 +0000 (23:29 -0500)]
OCaml: Add step 9

9 years agoOCaml: Add Step 8
Chouser [Thu, 30 Jan 2014 01:05:05 +0000 (20:05 -0500)]
OCaml: Add Step 8

9 years agoOcaml: Add step 7
Chouser [Thu, 29 Jan 2015 04:43:21 +0000 (23:43 -0500)]
Ocaml: Add step 7

9 years agoOcaml: Finish adding step 6
Chouser [Wed, 28 Jan 2015 18:13:44 +0000 (13:13 -0500)]
Ocaml: Finish adding step 6

9 years agoOcaml: Add step 6
Chouser [Wed, 28 Jan 2015 14:07:21 +0000 (09:07 -0500)]
Ocaml: Add step 6

9 years agoOcaml: fix list and comment parsing
Chouser [Wed, 28 Jan 2015 14:06:53 +0000 (09:06 -0500)]
Ocaml: fix list and comment parsing

9 years agoOcaml: fix string escaping and printing
Chouser [Wed, 28 Jan 2015 13:27:32 +0000 (08:27 -0500)]
Ocaml: fix string escaping and printing

9 years agoOcaml: Use builtin String.concat instead of own join fun
Chouser [Wed, 28 Jan 2015 13:24:52 +0000 (08:24 -0500)]
Ocaml: Use builtin String.concat instead of own join fun

9 years agoOcaml: Add step 5, TCO worked automatically in Ocaml
Chouser [Tue, 27 Jan 2015 16:30:05 +0000 (11:30 -0500)]
Ocaml: Add step 5, TCO worked automatically in Ocaml

9 years agoOcaml: All optional tests passing up thru step 4
Chouser [Tue, 27 Jan 2015 04:05:13 +0000 (23:05 -0500)]
Ocaml: All optional tests passing up thru step 4

9 years agoOcaml: add meta, with-meta, and ^ reader support
Chouser [Tue, 27 Jan 2015 00:16:23 +0000 (19:16 -0500)]
Ocaml: add meta, with-meta, and ^ reader support

9 years agoOcaml: Use a real map type
Chouser [Mon, 26 Jan 2015 04:30:37 +0000 (23:30 -0500)]
Ocaml: Use a real map type

T.Map is now a real OCaml binary-tree map, and supports arbitrary mal value
types for both keys and values.  Metadata support is provided in the data
objects, but not yet in the printer, reader, or core library.

9 years agoOcaml: Add read, print for vector, map
Chouser [Sat, 24 Jan 2015 05:44:51 +0000 (00:44 -0500)]
Ocaml: Add read, print for vector, map

9 years agoOcaml: rename Types.MalList to Types.List
Chouser [Sat, 24 Jan 2015 03:54:15 +0000 (22:54 -0500)]
Ocaml: rename Types.MalList to Types.List

9 years agoOcaml: Add string functions
Chouser [Sat, 24 Jan 2015 01:05:03 +0000 (20:05 -0500)]
Ocaml: Add string functions

9 years agoOcaml: Add step 4, but not str fns or optionals.
Chouser [Fri, 23 Jan 2015 23:11:45 +0000 (18:11 -0500)]
Ocaml: Add step 4, but not str fns or optionals.

9 years agoOcaml: Finally fix race conditions in compilation
Chouser [Fri, 23 Jan 2015 21:55:06 +0000 (16:55 -0500)]
Ocaml: Finally fix race conditions in compilation

Also, use native compilation for everything except Ocaml REPL.

9 years agoOcaml: Add step 3
Chouser [Fri, 23 Jan 2015 13:17:35 +0000 (08:17 -0500)]
Ocaml: Add step 3

9 years agoOcaml: made minor fixes, mostly to Makefile
Chouser [Thu, 22 Jan 2015 20:55:22 +0000 (15:55 -0500)]
Ocaml: made minor fixes, mostly to Makefile

9 years agoOcaml: Add step 2, nothing optional
Chouser [Thu, 22 Jan 2015 07:59:48 +0000 (02:59 -0500)]
Ocaml: Add step 2, nothing optional

9 years agoOcaml: Added step 1, missing some optional functionality
Chouser [Thu, 22 Jan 2015 07:59:48 +0000 (02:59 -0500)]
Ocaml: Added step 1, missing some optional functionality

9 years agoOCaml: add step 0
Chouser [Thu, 22 Jan 2015 01:53:51 +0000 (20:53 -0500)]
OCaml: add step 0

9 years agoguide.md: add link to langpop.corger.nl
Joel Martin [Fri, 30 Jan 2015 05:49:41 +0000 (23:49 -0600)]
guide.md: add link to langpop.corger.nl

Also, fix grammar.

9 years agoDraft guide and architecture diagrams.
Joel Martin [Fri, 30 Jan 2015 03:59:09 +0000 (21:59 -0600)]
Draft guide and architecture diagrams.

9 years agoTemplate cleanup.
Joel Martin [Sat, 17 Jan 2015 07:34:21 +0000 (01:34 -0600)]
Template cleanup.

9 years agoLua: all steps and self-hosting.
Joel Martin [Fri, 9 Jan 2015 05:25:40 +0000 (23:25 -0600)]
Lua: all steps and self-hosting.

Also some misc docs/TODO updates.

9 years agoMove template to top level. Add license.
Joel Martin [Fri, 9 Jan 2015 04:56:12 +0000 (22:56 -0600)]
Move template to top level. Add license.

Also, cleanup TODO a bit.

9 years agoTODO: misc cleanup.
Joel Martin [Wed, 7 Jan 2015 03:03:04 +0000 (21:03 -0600)]
TODO: misc cleanup.

9 years agoPython: fix python3 support with keywords.
Joel Martin [Wed, 7 Jan 2015 02:58:33 +0000 (20:58 -0600)]
Python: fix python3 support with keywords.

9 years agoClojure: only load readline history once.
Joel Martin [Wed, 7 Jan 2015 02:55:35 +0000 (20:55 -0600)]
Clojure: only load readline history once.

9 years agoMake: refactor number type. Support large numbers.
Joel Martin [Sun, 4 Jan 2015 21:47:20 +0000 (15:47 -0600)]
Make: refactor number type. Support large numbers.

- Can support numbers up to 100 decimal digits in length.
- Still no support for negative numbers or floating point.
- Change time-secs to time-ms and remove conditional in perf.mal

9 years agoRacket: add readline/line edit support.
Joel Martin [Sat, 3 Jan 2015 05:55:11 +0000 (23:55 -0600)]
Racket: add readline/line edit support.

9 years agoMisc cleanup. Move *host-language* to stepA.
Joel Martin [Sat, 3 Jan 2015 05:33:50 +0000 (23:33 -0600)]
Misc cleanup. Move *host-language* to stepA.

9 years agoRacket: add steps0-A. Self-hosting.
Joel Martin [Sat, 3 Jan 2015 05:20:00 +0000 (23:20 -0600)]
Racket: add steps0-A. Self-hosting.

- Some additioanl tests.
- Split step9 tests into optional but self-hosting requirements
  (metadata on functions) and other optional (conj, metadata on
  collections).

9 years agoHaskell: add error handling and try*/catch*.
Joel Martin [Thu, 25 Dec 2014 06:17:38 +0000 (23:17 -0700)]
Haskell: add error handling and try*/catch*.

Achieve self-hosting!

9 years agoHaskell: Add steps9-A, metadata, and atoms.
Joel Martin [Thu, 25 Dec 2014 04:51:23 +0000 (21:51 -0700)]
Haskell: Add steps9-A, metadata, and atoms.

Some refactoring of Core.hs to make better use of pattern matching.

Only remaining thing is exception handling (generic try/throw).

9 years agoHaskell: add step7 and 8.
Joel Martin [Wed, 24 Dec 2014 06:49:23 +0000 (23:49 -0700)]
Haskell: add step7 and 8.

9 years agoHaskell: steps 4-6. Line editing. Simpler fn calls.
Joel Martin [Wed, 24 Dec 2014 05:37:43 +0000 (22:37 -0700)]
Haskell: steps 4-6. Line editing. Simpler fn calls.

9 years agoHaskell: steps 0-3
Joel Martin [Wed, 24 Dec 2014 03:35:48 +0000 (20:35 -0700)]
Haskell: steps 0-3

9 years agoScala: refactor collections with metadata.
Joel Martin [Fri, 19 Dec 2014 05:52:59 +0000 (23:52 -0600)]
Scala: refactor collections with metadata.

Convert numeric to Long. Add time-ms.

Add Makefile for stats targets.

9 years agoScala: all steps 0-9 but no metadata.
Joel Martin [Fri, 19 Dec 2014 05:21:39 +0000 (23:21 -0600)]
Scala: all steps 0-9 but no metadata.

9 years agoAll: add keywords.
Joel Martin [Fri, 19 Dec 2014 02:33:49 +0000 (20:33 -0600)]
All: add keywords.

Also, fix nth and count to match cloure.

9 years agoVB.Net, C#: fix cmd line arg handling with --raw
Joel Martin [Sun, 16 Nov 2014 05:51:59 +0000 (23:51 -0600)]
VB.Net, C#: fix cmd line arg handling with --raw

9 years agoVB.Net: port of C# version.
Joel Martin [Sun, 16 Nov 2014 05:15:09 +0000 (23:15 -0600)]
VB.Net: port of C# version.

9 years agoC#: use closure for RE func. Shorter type names.
Joel Martin [Sun, 16 Nov 2014 02:38:50 +0000 (20:38 -0600)]
C#: use closure for RE func. Shorter type names.

9 years agoCoffeeScript: add missed node_readline.coffee
Joel Martin [Sun, 16 Nov 2014 05:53:58 +0000 (23:53 -0600)]
CoffeeScript: add missed node_readline.coffee

9 years agoCoffeeScript: add all steps. Self-hosting.
Joel Martin [Sat, 8 Nov 2014 22:56:36 +0000 (16:56 -0600)]
CoffeeScript: add all steps. Self-hosting.

9 years agoR: add time-ms. Readline history. Misc cleanups.
Joel Martin [Tue, 4 Nov 2014 05:50:55 +0000 (23:50 -0600)]
R: add time-ms. Readline history. Misc cleanups.

9 years agoR: atom support, fixes for self-hosting.
Joel Martin [Tue, 4 Nov 2014 04:29:51 +0000 (22:29 -0600)]
R: atom support, fixes for self-hosting.

9 years agoR: add hash-map and metadata support.
Joel Martin [Tue, 4 Nov 2014 03:19:13 +0000 (21:19 -0600)]
R: add hash-map and metadata support.

9 years agoR: add step8_macros and step9_try.
Joel Martin [Tue, 4 Nov 2014 02:32:46 +0000 (20:32 -0600)]
R: add step8_macros and step9_try.

9 years agoR: add step6_file and step7_quote
Joel Martin [Tue, 4 Nov 2014 02:02:09 +0000 (20:02 -0600)]
R: add step6_file and step7_quote

Change symbols to be special class.

9 years agoR: add step4_if_fn_do and step5_tco.
Joel Martin [Mon, 3 Nov 2014 03:32:33 +0000 (21:32 -0600)]
R: add step4_if_fn_do and step5_tco.

Switch nil from NULL to special class.

9 years agoR: step0-3, readline FFI.
Joel Martin [Sat, 1 Nov 2014 20:54:48 +0000 (15:54 -0500)]
R: step0-3, readline FFI.