diff options
| author | Joel Martin <github@martintribe.org> | 2014-04-02 22:23:37 -0500 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2014-04-02 22:23:37 -0500 |
| commit | ea81a8087bcd7953b083a2be9db447f75e7ebf56 (patch) | |
| tree | 6cf47a2dbd55d42efc4a901eaabdec952f40ce89 /c/reader.c | |
| parent | 1617910ad342a55762f3ddabb975849d843cff85 (diff) | |
| download | mal-ea81a8087bcd7953b083a2be9db447f75e7ebf56.tar.gz mal-ea81a8087bcd7953b083a2be9db447f75e7ebf56.zip | |
All: split types into types, env, printer, core.
- types: low-level mapping to the implementation language.
- core: functions on types that are exposed directly to mal.
- printer: implementation called by pr-str, str, prn, println.
- env: the environment implementation
- Also, unindent all TCO while loops so that the diff of step4 and
step5 are minimized.
Diffstat (limited to 'c/reader.c')
| -rw-r--r-- | c/reader.c | 26 |
1 files changed, 13 insertions, 13 deletions
@@ -181,7 +181,7 @@ MalVal *read_list(Reader *reader, MalType type, char start, char end) { MalVal *read_hash_map(Reader *reader) { MalVal *lst = read_list(reader, MAL_LIST, '{', '}'); - MalVal *hm = hash_map(lst); + MalVal *hm = _hash_map(lst); malval_free(lst); return hm; } @@ -207,34 +207,34 @@ MalVal *read_form(Reader *reader) { break; case '\'': reader_next(reader); - form = _list(2, malval_new_symbol("quote"), - read_form(reader)); + form = _listX(2, malval_new_symbol("quote"), + read_form(reader)); break; case '`': reader_next(reader); - form = _list(2, malval_new_symbol("quasiquote"), - read_form(reader)); + form = _listX(2, malval_new_symbol("quasiquote"), + read_form(reader)); break; case '~': reader_next(reader); if (token[1] == '@') { - form = _list(2, malval_new_symbol("splice-unquote"), - read_form(reader)); + form = _listX(2, malval_new_symbol("splice-unquote"), + read_form(reader)); } else { - form = _list(2, malval_new_symbol("unquote"), - read_form(reader)); + form = _listX(2, malval_new_symbol("unquote"), + read_form(reader)); }; break; case '^': reader_next(reader); MalVal *meta = read_form(reader); - form = _list(3, malval_new_symbol("with-meta"), - read_form(reader), meta); + form = _listX(3, malval_new_symbol("with-meta"), + read_form(reader), meta); break; case '@': reader_next(reader); - form = _list(2, malval_new_symbol("deref"), - read_form(reader)); + form = _listX(2, malval_new_symbol("deref"), + read_form(reader)); break; |
