aboutsummaryrefslogtreecommitdiffstats
path: root/base.moon
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-02-01 21:29:10 +0000
committers-ol <s-ol@users.noreply.github.com>2020-02-01 21:29:10 +0000
commitf4b5543b33de9ce6e5c3a1bcc65db36eb3eb5b03 (patch)
tree636cbcbbcd8be60d39cba2e4cf04b4edc7011233 /base.moon
parentfix README typo (diff)
downloadalive-f4b5543b33de9ce6e5c3a1bcc65db36eb3eb5b03.tar.gz
alive-f4b5543b33de9ce6e5c3a1bcc65db36eb3eb5b03.zip
first-class scopes
Diffstat (limited to 'base.moon')
-rw-r--r--base.moon9
1 files changed, 7 insertions, 2 deletions
diff --git a/base.moon b/base.moon
index acade78..863305d 100644
--- a/base.moon
+++ b/base.moon
@@ -1,9 +1,14 @@
+import is_object from require 'moon'
+
class Const
- new: (@value) =>
+ types = { str: true, num: true, op: true, opdef: true }
+ new: (@type, @value) =>
+ assert types[@type], "invalid Const type: #{@type}"
+
get: => @value
getc: => @value
- __tostring: => "<const: #{@value}>"
+ __tostring: => "<#{@type}: #{@value}>"
class Op
new: (@node) =>