diff options
Diffstat (limited to 'cs/reader.cs')
| -rw-r--r-- | cs/reader.cs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cs/reader.cs b/cs/reader.cs index a8d09c6..8ab53da 100644 --- a/cs/reader.cs +++ b/cs/reader.cs @@ -125,6 +125,14 @@ namespace Mal { rdr.next(); return new MalList(new MalSymbol("splice-unquote"), read_form(rdr)); + case "^": rdr.next(); + MalVal meta = read_form(rdr); + return new MalList(new MalSymbol("with-meta"), + read_form(rdr), + meta); + case "@": rdr.next(); + return new MalList(new MalSymbol("deref"), + read_form(rdr)); case "(": form = read_list(rdr, new MalList(), '(' , ')'); break; case ")": throw new ParseError("unexpected ')'"); |
