aboutsummaryrefslogtreecommitdiff
path: root/cs/env.cs
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-12-18 20:33:49 -0600
committerJoel Martin <github@martintribe.org>2015-01-09 16:16:50 -0600
commitb8ee29b22fbaa7a01f2754b4d6dd9af52e02017c (patch)
treef4d977ed220e9a3f665cfbf4f68770a81e4c2095 /cs/env.cs
parentaaba249304b184e12e2445ab22d66df1f39a51a5 (diff)
downloadmal-b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c.tar.gz
mal-b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c.zip
All: add keywords.
Also, fix nth and count to match cloure.
Diffstat (limited to 'cs/env.cs')
-rw-r--r--cs/env.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/cs/env.cs b/cs/env.cs
index cb5318f..39ab100 100644
--- a/cs/env.cs
+++ b/cs/env.cs
@@ -26,8 +26,8 @@ namespace Mal {
}
}
- public Env find(string key) {
- if (data.ContainsKey(key)) {
+ public Env find(MalSymbol key) {
+ if (data.ContainsKey(key.getName())) {
return this;
} else if (outer != null) {
return outer.find(key);
@@ -36,18 +36,18 @@ namespace Mal {
}
}
- public MalVal get(string key) {
+ public MalVal get(MalSymbol key) {
Env e = find(key);
if (e == null) {
throw new Mal.types.MalException(
- "'" + key + "' not found");
+ "'" + key.getName() + "' not found");
} else {
- return e.data[key];
+ return e.data[key.getName()];
}
}
- public Env set(string key, MalVal value) {
- data[key] = value;
+ public Env set(MalSymbol key, MalVal value) {
+ data[key.getName()] = value;
return this;
}
}