diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/builtin.moon | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/builtin.moon b/lib/builtin.moon index 369c3b3..8615afa 100644 --- a/lib/builtin.moon +++ b/lib/builtin.moon @@ -1,4 +1,4 @@ -import Macro, Const from require 'base' +import Macro, Const, Forward from require 'base' import Scope from require 'scope' class def extends Macro @@ -12,8 +12,13 @@ class def extends Macro name, val = @node[i], @node[i+1] assert name.atom_type == 'sym', "'def's argument ##{i} has to be a symbol" val\expand @node.scope - scope\set name.raw, val.value + if val.value + -- expand-time constant + scope\set name.raw, val.value + else + -- patch-time expression + scope\set name.raw, Forward val nil class _require extends Macro |
