From 68ad700b2e631f1ba4122fb3fba1a4285625a466 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 9 Jul 2018 22:07:41 -0400 Subject: - Fixes: Part 1. --- lux-mode/lux-mode.el | 2 +- stdlib/source/lux.lux | 2 +- stdlib/source/lux/concurrency/semaphore.lux | 2 +- stdlib/source/lux/type/refinement.lux | 8 ++------ 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 - [[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}) -- cgit v1.2.3