From 5efe74b9eba910d5389e20be07b504b1dad69504 Mon Sep 17 00:00:00 2001
From: Eduardo Julian
Date: Tue, 10 Jul 2018 23:54:36 -0400
Subject: - Improvements to import syntax [part 0].
---
stdlib/source/lux.lux | 36 ++++++++----------------------------
1 file changed, 8 insertions(+), 28 deletions(-)
(limited to 'stdlib/source/lux.lux')
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index 71cdbe716..4710b022b 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -4112,38 +4112,18 @@
_
(return [#Nothing tokens])))
-(def: (split-with' p ys xs)
- (All [a]
- (-> (-> a Bool) (List a) (List a) [(List a) (List a)]))
- (case xs
- #Nil
- [ys xs]
-
- (#Cons x xs')
- (if (p x)
- (split-with' p (list& x ys) xs')
- [ys xs])))
-
-(def: (split-with p xs)
- (All [a]
- (-> (-> a Bool) (List a) [(List a) (List a)]))
- (let [[ys' xs'] (split-with' p #Nil xs)]
- [(list/reverse ys') xs']))
-
(def: (parse-short-referrals tokens)
(-> (List Code) (Meta [Referrals (List Code)]))
(case tokens
- (^ (list& [_ (#Tag "" "+")] tokens'))
- (let [[defs tokens'] (split-with symbol? tokens')]
- (do Monad
- [defs' (extract-defs defs)]
- (return [(#Only defs') tokens'])))
+ (^ (list& [_ (#Form (list& [_ (#Tag "" "+")] defs))] tokens'))
+ (do Monad
+ [defs' (extract-defs defs)]
+ (return [(#Only defs') tokens']))
- (^ (list& [_ (#Tag "" "-")] tokens'))
- (let [[defs tokens'] (split-with symbol? tokens')]
- (do Monad
- [defs' (extract-defs defs)]
- (return [(#Exclude defs') tokens'])))
+ (^ (list& [_ (#Form (list& [_ (#Tag "" "-")] defs))] tokens'))
+ (do Monad
+ [defs' (extract-defs defs)]
+ (return [(#Exclude defs') tokens']))
(^ (list& [_ (#Tag "" "*")] tokens'))
(return [#All tokens'])
--
cgit v1.2.3