aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lux-mode/lux-mode.el2
-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
4 files changed, 5 insertions, 9 deletions
diff --git a/lux-mode/lux-mode.el b/lux-mode/lux-mode.el
index 5d42b66b8..a92cb871f 100644
--- a/lux-mode/lux-mode.el
+++ b/lux-mode/lux-mode.el
@@ -225,7 +225,7 @@ Called by `imenu--generic-function'."
"abstract:"
"unit:" "scale:"
"import:"
- ":" ":coerce" ":assume" ":cast" ":share" ":abstraction" ":representation" "^:representation"
+ ":" ":coerce" ":assume" ":cast" ":share" ":abstraction" ":representation" "^:representation" ":~"
"function" "case" "undefined" "ident-for" "static"
"and" "or"
"char"
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})