aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source
diff options
context:
space:
mode:
authorEduardo Julian2018-07-09 22:07:41 -0400
committerEduardo Julian2018-07-09 22:07:41 -0400
commit68ad700b2e631f1ba4122fb3fba1a4285625a466 (patch)
treee95c9cc379b3ecee386387f0d91859b00f8ba806 /stdlib/source
parent604e6b0bf1a363b0bb03460d1d6512c36f3c8120 (diff)
- Fixes: Part 1.
Diffstat (limited to 'stdlib/source')
-rw-r--r--stdlib/source/lux.lux2
-rw-r--r--stdlib/source/lux/concurrency/semaphore.lux2
-rw-r--r--stdlib/source/lux/type/refinement.lux8
3 files changed, 4 insertions, 8 deletions
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index 5872b624a..8d6a1d323 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -2798,7 +2798,7 @@
#Nil))))]
(` ("lux in-module" (~ (text$ module)) (~ (walk-type type'))))
- [_ (#Form (#Cons [_ (#Symbol ["" "~"])] (#Cons expression #Nil)))]
+ [_ (#Form (#Cons [_ (#Symbol ["" ":~"])] (#Cons expression #Nil)))]
expression
[_ (#Form (#Cons type-fn args))]
diff --git a/stdlib/source/lux/concurrency/semaphore.lux b/stdlib/source/lux/concurrency/semaphore.lux
index fa312fcc8..a3ce1174f 100644
--- a/stdlib/source/lux/concurrency/semaphore.lux
+++ b/stdlib/source/lux/concurrency/semaphore.lux
@@ -97,7 +97,7 @@
)
(def: #export limit (refinement.refinement (n/> +0)))
-(type: #export Limit (~ (refinement.type limit)))
+(`` (type: #export Limit (~~ (refinement.type limit))))
(abstract: #export Barrier
{#.doc "A barrier that blocks all processes from proceeding until a given number of processes are parked at the barrier."}
diff --git a/stdlib/source/lux/type/refinement.lux b/stdlib/source/lux/type/refinement.lux
index 39b6393ce..7833e3db0 100644
--- a/stdlib/source/lux/type/refinement.lux
+++ b/stdlib/source/lux/type/refinement.lux
@@ -86,12 +86,8 @@
(-> Type (Error Type))
(<| (poly.run constructor-type)
(do p.Monad<Parser>
- [[un-refinedT outputT] (poly.function poly.any poly.any)
- refined-ex (<| (poly.local (list outputT))
- poly.apply (p.after (poly.this .Maybe))
- poly.apply (p.after (poly.this ..Refined))
- (p.after (poly.this un-refinedT))
- poly.existential)]
+ [[un-refinedT refined-ex] (poly.apply (p.after (poly.this ..Refiner)
+ (p.seq poly.any poly.existential)))]
(wrap (.type (..Refined un-refinedT (#.Ex refined-ex)))))))
(syntax: #export (type {refinement s.symbol})