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

27 Commits

Author SHA1 Message Date
Joel Martin
b6dc3e37aa awk-es6, Makefile: dist ruiles 2016-02-24 00:33:20 -06:00
Dov Murik
866042440b cpp, haxe, rust: Fix (first nil) and (rest nil) 2016-02-03 21:23:48 -05:00
Dov Murik
29ba1fb6c0 Add gensym and clean or macro to stepA of 19 implementations (part 3)
* awk
* cpp
* cs
* es6
* factor
* fsharp
* groovy
* haskell
* java
* julia
* kotlin
* matlab
* php
* r
* rpython
* rust
* scala
* swift
* vb
2016-01-25 16:30:54 -05:00
Stephen Thirlwall
494c160856 Don't pass an env to apply
Due to some initial confusion about which env to pass to the eval
builtin, I'd been needlessly passing an env to apply all along.

No need.
2015-12-15 11:22:25 +11:00
Stephen Thirlwall
19a6c2061e Implement native swap! function 2015-12-14 17:40:55 +11:00
Joel Martin
f15b4021db All: show comments with stats target.
- Put guile into correct alphabetical order.
2015-10-26 22:33:49 -05:00
Joel Martin
ecdbada174 Travis: add C++(cpp), factor and julia. 2015-10-06 18:28:46 -05:00
Joel Martin
5c99a323e9 C++: add Makefile stats targets. 2015-03-28 11:53:30 -05:00
Stephen Thirlwall
0997015d97 Split ASSERT into ASSERT and MAL_CHECK/MAL_FAIL
* ASSERT is to check for internal errors
* MAL_CHECK / MAL_FAIL is to check mal code errors
2015-03-28 22:54:26 +11:00
Stephen Thirlwall
208abaae43 Fix bugs introduced in reader hash-map/{} change
Only apparent in double-self-hosting mode.

eg. ../cpp/stepA_mal ./stepA_mal.mal ./stepA_mal.mal

Throws an error that MACROEXPAND is not defined.

TODO: figure out why modifying he hash in-place doesn't work.
2015-03-28 16:31:06 +11:00
Stephen Thirlwall
50263ccae3 Fix *host-language* 2015-03-28 15:41:19 +11:00
Stephen Thirlwall
86eae5ec38 Revert { X } -> ( hash-map X ) reader macro
The macro breaks the step 2 tests.
2015-03-28 15:20:04 +11:00
Stephen Thirlwall
f01c26838d Replace table iterations with new for-loop syntax
Didn't even know this existed!
2015-03-28 12:41:54 +11:00
Stephen Thirlwall
778f6278b7 Use g++-4.9 instead of clang-3.5 on Linux
Using the linker fix from @kanaka
2015-03-28 12:17:25 +11:00
Stephen Thirlwall
fc9009e076 Fix Reader issues on Linux
* use regex_search rather than regex_iterator

* use multiple individual whitespace and token regexes,
  rather than one giant regex

This appears to work on 14.10 and 15.04
2015-03-28 11:47:00 +11:00
Stephen Thirlwall
e78c38d020 Add README.md 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
cb25284585 c++11: step A 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
2f61492a1e c++11: step 9 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
3a8e11b85b c++11: step 8 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
5f8f337a42 c++11: step 7 2015-03-27 20:44:43 +11:00
Stephen Thirlwall
ad50bab2e5 c++11: step 6 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
ff15fb140a c++11: step 5 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
ad0fc149de c++11: step 4 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
dc9b184b66 c++11: step 3 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
179e8eafe4 c++11: step 2
Note that the optional tests for step 1 now fail because I no longer create a
hash directly in the reader, rather handle this as a reader macro:

    { LIST } -> ( hash-map LIST )

This way, once the constructor has built the hash-map, the hash is now evaluated,
and its evaluation procedure is a no-op.

I'd like to do the same with vectors, but this isn't so easy, as we use vectors
as parameter lists in fn* later on.

ie. we'd have this situation, which is incorrect (and I don't see an obvious workaround)

    (fn* [params] body) -> (fn* (vector params) body)
2015-03-27 20:44:42 +11:00
Stephen Thirlwall
8bd091e3ad c++11: step 1 2015-03-27 20:44:42 +11:00
Stephen Thirlwall
9ddaa0b91b c++11: step 0 2015-03-27 20:44:42 +11:00