diff options
| author | Joel Martin <github@martintribe.org> | 2014-04-09 21:57:50 -0500 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2014-04-09 21:57:50 -0500 |
| commit | 17ae845ec1dc2c703f99d3cb9f5c01e1b5c52837 (patch) | |
| tree | 878484c58d55c138e9553a1bde0d031772c8bbdb /cs/reader.cs | |
| parent | faee4d12309cec8c90854456fabf4e5e75370518 (diff) | |
| download | mal-17ae845ec1dc2c703f99d3cb9f5c01e1b5c52837.tar.gz mal-17ae845ec1dc2c703f99d3cb9f5c01e1b5c52837.zip | |
C#: add metadata and atoms.
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 ')'"); |
