rhysd
d21ef941e8
crystal: implement step6
2015-06-03 02:26:59 +09:00
rhysd
436f169cf1
crystal: implemented step5
...
the test (def! res1 (sum-to 10000)) failed in my environment because it
could compute the result even if TCO is not available. If stack
overflow happens, the interpreter will go into SEGV.
2015-06-03 02:26:59 +09:00
rhysd
51be5007ee
crystal: complete step4
2015-06-03 02:26:59 +09:00
rhysd
4499e5c813
crystal: add "&" param and 'not' function
2015-06-03 02:26:59 +09:00
rhysd
9b8a3da957
crystal: add relational operators
2015-06-03 02:26:59 +09:00
rhysd
2c76c2ff16
crystal: refactor member names and errors
2015-06-03 02:26:59 +09:00
rhysd
7fe6282ef6
crystal: define Mal::Type class instead of simple alias of union
2015-06-03 02:26:59 +09:00
rhysd
b31653d57a
crystal: make core.cr and implement +, -, *, /, list, list?, empty?, count and =
2015-06-03 02:26:59 +09:00
rhysd
bed63064c5
crystal: eval all types, not only a list
2015-06-03 02:26:58 +09:00
rhysd
095b73ea45
crystal: start step4, implement 'do', 'if' and 'fn*'
2015-06-03 02:26:58 +09:00
rhysd
66f3d7a489
crystal: read_*() functions are member of Reader class
2015-06-03 02:26:58 +09:00
rhysd
e014087da3
crystal: allow Vector in binding of 'let*'
...
all tests passed in step3
2015-06-03 02:26:58 +09:00
rhysd
b26be0222d
crystal: implement step3 basic functionality
2015-06-03 02:26:58 +09:00
rhysd
eec5fc4f5b
crystal: implement step2
...
Crystal seems to treat 'Proc(Args..., Ret)' as '(Args...) -> Ret' but
distinguishes 'Proc(Args..., Ret)' from '(Args...) -> Ret'.
It causes a type-mismatch error. I added some workarounds for it.
2015-06-03 02:26:58 +09:00
rhysd
afc3a8d584
crystal: add vector and hash-map, fix with-meta and error output
2015-06-03 02:26:58 +09:00
rhysd
448769e3b6
crystal: add symbols and fix ignoring comment
2015-06-03 02:26:58 +09:00
rhysd
fdf28b7657
crystal: basic implementation of step1
2015-06-03 02:26:58 +09:00
rhysd
2c436e30c0
crystal: implement mal in Mal module
2015-06-03 02:26:58 +09:00
rhysd
85c1b0c0d8
crystal: implement step0
2015-06-03 02:26:58 +09:00
rhysd
58b84dd5ca
crystal: Prepare to implement with Crystal
2015-06-03 02:26:58 +09:00
Joel Martin
7ab0f63e30
README: add Groovy info. Bump count to 34.
2015-05-19 11:07:23 -07:00
Joel Martin
a9cd654347
Add groovy implementation.
...
I'm away from my main workstation for a week and unfortunately, I only
copied the code but not the branch with full history so this is just
the implementation. However, the history isn't all that interesting
(mostly just the steps one at a time) and I wanted to get this out
there.
2015-05-18 19:54:18 -07:00
Joel Martin
daf6831735
Merge pull request #69 from def-/master
...
Use Nim 0.11.0
2015-04-30 11:37:30 -05:00
def
de69b63902
Use Nim 0.11.0
2015-04-30 17:51:20 +02:00
Joel Martin
cf70df1f12
guide: add links for fogus blog posts on interesting languages.
2015-04-23 09:32:06 -05:00
Joel Martin
5e67723661
Merge pull request #66 from martinklepsch/master
...
minor improvements
2015-04-17 15:39:11 -05:00
Martin Klepsch
4e3fd73bb5
remove redudant "debate"
2015-04-17 21:54:29 +02:00
Martin Klepsch
a727d6e890
escape let\*
2015-04-17 21:53:58 +02:00
Joel Martin
836726fc76
Merge pull request #63 from def-/master
...
Make Nim implementation a bit nicer
2015-04-10 07:52:16 -05:00
Joel Martin
9eabc84127
Merge pull request #65 from petethepig/readme-fix
...
Fixed a typo
2015-04-10 07:50:12 -05:00
Joel Martin
13e0601b8b
Merge pull request #64 from sunzenshen/patch-2
...
Typo fixes for several sections in the guide
2015-04-10 07:49:48 -05:00
Dmitrii Filimonov
0303d60480
fixed a typo
2015-04-09 23:28:54 -07:00
Alan Shen
10a76646bf
Typo fixes for several sections in the guide
2015-04-09 22:45:38 -06:00
def
3faa513e83
Make Nim implementation a bit nicer
...
- Use re from standard library instead of nre
- Allow make -j4
- Rebuild binaries after source changed
2015-04-09 19:09:55 +02:00
Joel Martin
4625a89ba7
Merge pull request #62 from notduncansmith/master
...
Require correct node_readline file
2015-04-08 20:46:07 -05:00
Duncan Smith
89524f4c0f
Require correct node_readline file
2015-04-08 20:27:45 -05:00
Joel Martin
cd80c38146
Dockerfile: move Julia & Erlang. Add guile & factor.
2015-04-08 17:31:01 -05:00
Joel Martin
8560520495
Merge pull request #61 from keith-rollin/optimize
...
Optimize, refactor, and convert to Swift 1.2
2015-04-08 17:30:27 -05:00
Keith Rollin
1c76df7dc6
Convert to Swift 1.2:
...
* Change "Array" to "ArraySlice"
* Change "as" keyword to "as!"
* Use count(str.utf16) rather than str.utf16count)
* Add "combine:" parameter label to call to slice.reduce
2015-04-08 14:38:22 -07:00
Keith Rollin
3829ee8cb4
refactor: use a switch instead of a ramp of if's.
2015-04-08 14:38:22 -07:00
Keith Rollin
b3ec2290a4
refactor: move some code out of EVAL into their own functions for clarity (and, for profiling purposes, to help idenfity hotspots).
2015-04-08 14:38:22 -07:00
Keith Rollin
7728b50bd5
optimization: for small Environment records, store names/values in hard-coded slots rather than general dictionary
2015-04-08 14:38:22 -07:00
Keith Rollin
2c4b8bd1f8
optimization: conditionally remove some debugging code
2015-04-08 14:38:22 -07:00
Joel Martin
132f9c9c42
Merge pull request #60 from sunzenshen/patch-1
...
Clean up typos in section "Step 4: If Fn Do"
2015-04-07 09:24:07 -05:00
Alan Shen
1af1f7f163
Cleanup typos in section "Step 4: If Fn Do"
2015-04-07 01:23:15 -06:00
Joel Martin
5c6ef19e31
Merge pull request #59 from NalaGinrut/master
...
guile: perf tests OK
2015-04-06 16:43:29 -05:00
Nala Ginrut
4b3eaa7436
guile: perf tests OK
2015-04-07 05:13:11 +08:00
Joel Martin
65f62aefaf
README: make NalaGinrut user name into a link.
2015-04-06 15:24:21 -05:00
Joel Martin
7c6882f2a5
README: update count to 33 with Guile.
2015-04-06 15:23:20 -05:00
Joel Martin
9f21caf388
Merge pull request #56 from NalaGinrut/master
...
Added GNU Guile implementation
2015-04-06 15:18:50 -05:00