aboutsummaryrefslogtreecommitdiff
path: root/nomsu.moon
diff options
context:
space:
mode:
Diffstat (limited to 'nomsu.moon')
-rwxr-xr-xnomsu.moon4
1 files changed, 4 insertions, 0 deletions
diff --git a/nomsu.moon b/nomsu.moon
index 7ae6f89..0f13a3e 100755
--- a/nomsu.moon
+++ b/nomsu.moon
@@ -136,9 +136,13 @@ class NomsuCompiler
@write = (...)=> io.write(...)
@write_err = (...)=> io.stderr\write(...)
-- Weak-key mapping from objects to randomly generated unique IDs
+ NaN_surrogate = {}
+ nil_surrogate = {}
@ids = setmetatable({}, {
__mode: "k"
__index: (key)=>
+ if key == nil then return @[nil_surrogate]
+ elseif key != key then return @[NaN_surrogate]
id = new_uuid!
@[key] = id
return id