From 381ec5920d9ebeb335963778dec182268819e718 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 30 Mar 2022 14:05:57 -0400 Subject: Now demanding mandatory loop names, instead of using default "again" name. --- stdlib/source/library/lux.lux | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'stdlib/source/library/lux.lux') diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux index 67f2dc4d3..da0e84a92 100644 --- a/stdlib/source/library/lux.lux +++ b/stdlib/source/library/lux.lux @@ -4449,11 +4449,8 @@ (macro: .public (loop tokens) (let [?params (case tokens - (pattern (list name [_ {#Tuple bindings}] body)) + (pattern (list [_ {#Form (list name [_ {#Tuple bindings}])}] body)) {#Some [name bindings body]} - - (pattern (list [_ {#Tuple bindings}] body)) - {#Some [(local$ "again") bindings body]} _ {#None})] @@ -4482,9 +4479,8 @@ (is (-> Code (Meta Code)) (function (_ _) (..generated_symbol ""))) inits)] - (meta#in (list (` (let [(~+ (..interleaved aliases inits))] - (.loop (~ name) - [(~+ (..interleaved vars aliases))] + (meta#in (list (` (..let [(~+ (..interleaved aliases inits))] + (..loop ((~ name) [(~+ (..interleaved vars aliases))]) (~ body))))))))) {#None} @@ -4515,9 +4511,9 @@ (macro: .public (with_expansions tokens) (case (parsed (andP (tupleP (someP bindingP)) (someP anyP)) tokens) {#Some [bindings bodies]} - (loop [bindings bindings - map (is (PList (List Code)) - (list))] + (loop (again [bindings bindings + map (is (PList (List Code)) + (list))]) (let [normal (is (-> Code (List Code)) (function (_ it) (list#mix (function (_ [binding expansion] it) -- cgit v1.2.3