aboutsummaryrefslogtreecommitdiff
path: root/cs/reader.cs
diff options
context:
space:
mode:
Diffstat (limited to 'cs/reader.cs')
-rw-r--r--cs/reader.cs8
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 ')'");