From 1b6da2babfc65c4b8f6f7ac8644c0498e094bab7 Mon Sep 17 00:00:00 2001 From: s-ol Date: Mon, 3 Feb 2020 11:59:10 +0100 Subject: Forward references --- lib/builtin.moon | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3