aboutsummaryrefslogtreecommitdiff
path: root/rust/src/reader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/reader.rs')
-rw-r--r--rust/src/reader.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/rust/src/reader.rs b/rust/src/reader.rs
index 652a7d7..e3ec55e 100644
--- a/rust/src/reader.rs
+++ b/rust/src/reader.rs
@@ -166,6 +166,13 @@ fn read_form(rdr : &mut Reader) -> MalRet {
Err(e) => Err(e),
}
},
+ "@" => {
+ let _ = rdr.next();
+ match read_form(rdr) {
+ Ok(f) => Ok(list(vec![symbol("deref"), f])),
+ Err(e) => Err(e),
+ }
+ },
")" => err_str("unexected ')'"),
"(" => read_list(rdr),