diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-24 12:37:52 -0800 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-01-24 12:38:09 -0800 |
| commit | d173e9ae88380bb1217b3f775e6c3cec71a6606c (patch) | |
| tree | a385dbe31e3a71cae667c64458a837efc25d5b3d /nomsu.moon | |
| parent | 566b7d09c860bb719e69c54ea0618da7c90c2dff (diff) | |
Fixed id for nil/NaN and cleaned up collection metatable stuff.
Diffstat (limited to 'nomsu.moon')
| -rwxr-xr-x | nomsu.moon | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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 |
