diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/source/lux.lux | 2 | ||||
-rw-r--r-- | stdlib/source/lux/concurrency/semaphore.lux | 2 | ||||
-rw-r--r-- | stdlib/source/lux/type/refinement.lux | 8 |
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}) |