1
1
mirror of https://github.com/kanaka/mal.git synced 2024-11-10 12:47:45 +03:00
Commit Graph

610 Commits

Author SHA1 Message Date
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