From 1914249e3bd23063bdddb5569a3c70e431343dcd Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 8 Jan 2019 16:30:21 -0800 Subject: Made (external $x = $y) work using ($x = $y), so e.g. (external [$x, $y] = [1, 2]) now works properly. --- core/operators.nom | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/operators.nom b/core/operators.nom index fa37a11..4d72643 100644 --- a/core/operators.nom +++ b/core/operators.nom @@ -84,7 +84,10 @@ test: $y = "inner" set global x local y unless (($foozle == "inner") and ($y == "outer")): fail "external failed." -(external $var = $value) compiles to "\($var as lua) = \($value as lua)" +(external $var = $value) compiles to: + $lua = ((SyntaxTree {.type = "Action", .source = $var.source, .1 = $var, .2 = "=", .3 = $value}) as lua) + $lua, remove free vars + return $lua test: [$foozle, $y] = ["outer", "outer"] externally (set global x local y) means: -- cgit v1.2.3