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

5 Commits

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