1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 10:07:45 +03:00
Commit Graph

208 Commits

Author SHA1 Message Date
Joel Martin
644e5ff95e Merge pull request #3 from Chouser/ocaml
Ocaml
2015-01-30 12:06:45 -06:00
Chouser
bc6448bce9 OCaml: add to README.md 2015-01-30 12:54:55 -05:00
Chouser
1ac37587be OCaml: Fix stepA command-line script running 2015-01-30 12:54:43 -05:00
Chouser
f5fc0c98ee OCaml: Add time-ms 2015-01-30 12:54:43 -05:00
Chouser
2b8e0ea420 OCaml: put macro flag in metadata rather than special type field 2015-01-30 12:54:43 -05:00
Chouser
fd3adc5254 OCaml: self-hosting 2015-01-30 12:54:43 -05:00
Chouser
ecd3b6d8e5 OCaml: Add step 9 2015-01-30 12:54:43 -05:00
Chouser
fb21afa71b OCaml: Add Step 8 2015-01-30 12:54:43 -05:00
Chouser
efb850b5d5 Ocaml: Add step 7 2015-01-30 12:54:43 -05:00
Chouser
776cf57706 Ocaml: Finish adding step 6 2015-01-30 12:54:43 -05:00
Chouser
f64fac7bd1 Ocaml: Add step 6 2015-01-30 12:54:43 -05:00
Chouser
387da0bba9 Ocaml: fix list and comment parsing 2015-01-30 12:54:43 -05:00
Chouser
16b177329c Ocaml: fix string escaping and printing 2015-01-30 12:54:43 -05:00
Chouser
cc916d9d81 Ocaml: Use builtin String.concat instead of own join fun 2015-01-30 12:54:43 -05:00
Chouser
44d4e31fc8 Ocaml: Add step 5, TCO worked automatically in Ocaml 2015-01-30 12:54:43 -05:00
Chouser
04e33074cc Ocaml: All optional tests passing up thru step 4 2015-01-30 12:54:43 -05:00
Chouser
e64878d0af Ocaml: add meta, with-meta, and ^ reader support 2015-01-30 12:54:43 -05:00
Chouser
a878f3bb77 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.
2015-01-30 12:54:42 -05:00
Chouser
b7ffcab961 Ocaml: Add read, print for vector, map 2015-01-30 12:54:42 -05:00
Chouser
f2f11f6279 Ocaml: rename Types.MalList to Types.List 2015-01-30 12:54:42 -05:00
Chouser
de04357cd5 Ocaml: Add string functions 2015-01-30 12:54:42 -05:00
Chouser
9115534dc7 Ocaml: Add step 4, but not str fns or optionals. 2015-01-30 12:54:42 -05:00
Chouser
79ba3d6088 Ocaml: Finally fix race conditions in compilation
Also, use native compilation for everything except Ocaml REPL.
2015-01-30 12:54:42 -05:00
Chouser
67736cf90b Ocaml: Add step 3 2015-01-30 12:54:42 -05:00
Chouser
81e073cf20 Ocaml: made minor fixes, mostly to Makefile 2015-01-30 12:54:42 -05:00
Chouser
921a951fe4 Ocaml: Add step 2, nothing optional 2015-01-30 12:54:42 -05:00
Chouser
59d10e1bd7 Ocaml: Added step 1, missing some optional functionality 2015-01-30 12:54:42 -05:00
Chouser
ca51c4f772 OCaml: add step 0 2015-01-30 12:54:42 -05:00
Joel Martin
bf518367d0 guide.md: add link to langpop.corger.nl
Also, fix grammar.
2015-01-29 23:49:41 -06:00
Joel Martin
0f4ca9d1de Draft guide and architecture diagrams. 2015-01-29 23:40:10 -06:00
Joel Martin
899ff7fa98 Template cleanup. 2015-01-17 01:34:21 -06:00
Joel Martin
9d42904e47 Lua: all steps and self-hosting.
Also some misc docs/TODO updates.
2015-01-08 23:25:40 -06:00
Joel Martin
fd888612ca Move template to top level. Add license.
Also, cleanup TODO a bit.
2015-01-08 22:56:12 -06:00
Joel Martin
5e02d6956c TODO: misc cleanup. 2015-01-09 16:16:57 -06:00
Joel Martin
d706ed5041 Python: fix python3 support with keywords. 2015-01-09 16:16:56 -06:00
Joel Martin
47930f7463 Clojure: only load readline history once. 2015-01-09 16:16:56 -06:00
Joel Martin
f4c8a091aa 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
2015-01-09 16:16:56 -06:00
Joel Martin
0f352c382c Racket: add readline/line edit support. 2015-01-09 16:16:56 -06:00
Joel Martin
96f1845afd Misc cleanup. Move *host-language* to stepA. 2015-01-09 16:16:55 -06:00
Joel Martin
f522319598 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).
2015-01-09 16:16:55 -06:00
Joel Martin
5400d4bf5e Haskell: add error handling and try*/catch*.
Achieve self-hosting!
2015-01-09 16:16:54 -06:00
Joel Martin
c150ec41f4 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).
2015-01-09 16:16:53 -06:00
Joel Martin
2988d38e84 Haskell: add step7 and 8. 2015-01-09 16:16:53 -06:00
Joel Martin
fa9a9758e0 Haskell: steps 4-6. Line editing. Simpler fn calls. 2015-01-09 16:16:52 -06:00
Joel Martin
b76aa73bc7 Haskell: steps 0-3 2015-01-09 16:16:52 -06:00
Joel Martin
a816262a05 Scala: refactor collections with metadata.
Convert numeric to Long. Add time-ms.

Add Makefile for stats targets.
2015-01-09 16:16:51 -06:00
Joel Martin
821930dbd9 Scala: all steps 0-9 but no metadata. 2015-01-09 16:16:51 -06:00
Joel Martin
b8ee29b22f All: add keywords.
Also, fix nth and count to match cloure.
2015-01-09 16:16:50 -06:00
Joel Martin
aaba249304 VB.Net, C#: fix cmd line arg handling with --raw 2015-01-09 16:16:47 -06:00
Joel Martin
ee7cd5859e VB.Net: port of C# version. 2015-01-09 16:16:47 -06:00