aboutsummaryrefslogtreecommitdiff
path: root/luxc
diff options
context:
space:
mode:
Diffstat (limited to 'luxc')
-rw-r--r--luxc/src/lux/analyser/base.clj2
-rw-r--r--luxc/src/lux/analyser/case.clj12
-rw-r--r--luxc/src/lux/analyser/lux.clj8
-rw-r--r--luxc/src/lux/base.clj2
-rw-r--r--luxc/src/lux/compiler/cache/type.clj4
-rw-r--r--luxc/src/lux/host.clj2
-rw-r--r--luxc/src/lux/type.clj20
7 files changed, 25 insertions, 25 deletions
diff --git a/luxc/src/lux/analyser/base.clj b/luxc/src/lux/analyser/base.clj
index 46eafa051..cbcb71933 100644
--- a/luxc/src/lux/analyser/base.clj
+++ b/luxc/src/lux/analyser/base.clj
@@ -74,7 +74,7 @@
(return ?module))]
(return (&/T [module* ?name]))))
-(let [tag-names #{"HostT" "VoidT" "UnitT" "SumT" "ProdT" "LambdaT" "BoundT" "VarT" "ExT" "UnivQ" "ExQ" "AppT" "NamedT"}]
+(let [tag-names #{"HostT" "VoidT" "UnitT" "SumT" "ProdT" "FunctionT" "BoundT" "VarT" "ExT" "UnivQ" "ExQ" "AppT" "NamedT"}]
(defn type-tag? [module name]
(and (= "lux" module)
(contains? tag-names name))))
diff --git a/luxc/src/lux/analyser/case.clj b/luxc/src/lux/analyser/case.clj
index 5b25115ea..2f3a4d575 100644
--- a/luxc/src/lux/analyser/case.clj
+++ b/luxc/src/lux/analyser/case.clj
@@ -74,9 +74,9 @@
(&/$HostT ?name (&/|map (partial clean! level ?tid bound-idx)
?params))
- (&/$LambdaT ?arg ?return)
- (&/$LambdaT (clean! level ?tid bound-idx ?arg)
- (clean! level ?tid bound-idx ?return))
+ (&/$FunctionT ?arg ?return)
+ (&/$FunctionT (clean! level ?tid bound-idx ?arg)
+ (clean! level ?tid bound-idx ?return))
(&/$AppT ?lambda ?param)
(&/$AppT (clean! level ?tid bound-idx ?lambda)
@@ -135,9 +135,9 @@
_
type)
- (&/$LambdaT ?input ?output)
- (&/$LambdaT (beta-reduce! level env ?input)
- (beta-reduce! level env ?output))
+ (&/$FunctionT ?input ?output)
+ (&/$FunctionT (beta-reduce! level env ?input)
+ (beta-reduce! level env ?output))
(&/$BoundT ?idx)
(|case (&/|at (- ?idx (* 2 level)) env)
diff --git a/luxc/src/lux/analyser/lux.clj b/luxc/src/lux/analyser/lux.clj
index 04ef66683..16ba17583 100644
--- a/luxc/src/lux/analyser/lux.clj
+++ b/luxc/src/lux/analyser/lux.clj
@@ -40,7 +40,7 @@
(&/$UnivQ env (embed-inferred-input input output*))
_
- (&/$LambdaT input output)))
+ (&/$FunctionT input output)))
;; [Exports]
(defn analyse-unit [analyse ?exo-type]
@@ -354,7 +354,7 @@
type* (&type/apply-type ?fun-type* $var)]
(analyse-apply* analyse exo-type type* ?args))
- (&/$LambdaT ?input-t ?output-t)
+ (&/$FunctionT ?input-t ?output-t)
(|do [[=output-t =args] (analyse-apply* analyse exo-type ?output-t ?args*)
=arg (&/with-attempt
(&&/analyse-1 analyse ?input-t ?arg)
@@ -476,7 +476,7 @@
(fn [$input]
(&type/with-var
(fn [$output]
- (|do [[[function-type function-cursor] function-analysis] (analyse-function* analyse (&/$LambdaT $input $output) ?self ?arg ?body)
+ (|do [[[function-type function-cursor] function-analysis] (analyse-function* analyse (&/$FunctionT $input $output) ?self ?arg ?body)
=input (&type/resolve-type $input)
=output (&type/resolve-type $output)
inferred-type (clean-func-inference $input $output =input (embed-inferred-input =input =output))
@@ -503,7 +503,7 @@
=expr (analyse-function* analyse exo-type** ?self ?arg ?body)]
(&&/clean-analysis $var =expr))))
- (&/$LambdaT ?arg-t ?return-t)
+ (&/$FunctionT ?arg-t ?return-t)
(|do [[=scope =captured =body] (&&function/with-function ?self exo-type*
?arg ?arg-t
(&&/analyse-1 analyse ?return-t ?body))
diff --git a/luxc/src/lux/base.clj b/luxc/src/lux/base.clj
index da6dcbf0a..2fe9952ee 100644
--- a/luxc/src/lux/base.clj
+++ b/luxc/src/lux/base.clj
@@ -91,7 +91,7 @@
("UnitT" 0)
("SumT" 2)
("ProdT" 2)
- ("LambdaT" 2)
+ ("FunctionT" 2)
("BoundT" 1)
("VarT" 1)
("ExT" 1)
diff --git a/luxc/src/lux/compiler/cache/type.clj b/luxc/src/lux/compiler/cache/type.clj
index 26a08e193..5715866f7 100644
--- a/luxc/src/lux/compiler/cache/type.clj
+++ b/luxc/src/lux/compiler/cache/type.clj
@@ -39,7 +39,7 @@
(&/$SumT left right)
(str "+" (serialize-type left) (serialize-type right))
- (&/$LambdaT left right)
+ (&/$FunctionT left right)
(str ">" (serialize-type left) (serialize-type right))
(&/$UnivQ env body)
@@ -100,7 +100,7 @@
^:private deserialize-sum "+" &/$SumT
^:private deserialize-prod "*" &/$ProdT
- ^:private deserialize-lambda ">" &/$LambdaT
+ ^:private deserialize-lambda ">" &/$FunctionT
^:private deserialize-app "%" &/$AppT
)
diff --git a/luxc/src/lux/host.clj b/luxc/src/lux/host.clj
index f0b45723d..e222baf10 100644
--- a/luxc/src/lux/host.clj
+++ b/luxc/src/lux/host.clj
@@ -55,7 +55,7 @@
(= &host-type/null-data-tag ?name) (return (&host-generics/->type-signature "java.lang.Object"))
:else (return (&host-generics/->type-signature ?name)))
- (&/$LambdaT _ _)
+ (&/$FunctionT _ _)
(return (&host-generics/->type-signature function-class))
(&/$UnitT)
diff --git a/luxc/src/lux/type.clj b/luxc/src/lux/type.clj
index 47b4b9c38..561d81795 100644
--- a/luxc/src/lux/type.clj
+++ b/luxc/src/lux/type.clj
@@ -53,7 +53,7 @@
(def IO
(&/$NamedT (&/T ["lux/codata" "IO"])
(&/$UnivQ empty-env
- (&/$LambdaT &/$VoidT (&/$BoundT 1)))))
+ (&/$FunctionT &/$VoidT (&/$BoundT 1)))))
(def List
(&/$NamedT (&/T ["lux" "List"])
@@ -98,7 +98,7 @@
;; ProdT
TypePair
(&/$SumT
- ;; LambdaT
+ ;; FunctionT
TypePair
(&/$SumT
;; BoundT
@@ -335,10 +335,10 @@
(|do [=params (&/map% (partial clean* ?tid) ?params)]
(return (&/$HostT ?name =params)))
- (&/$LambdaT ?arg ?return)
+ (&/$FunctionT ?arg ?return)
(|do [=arg (clean* ?tid ?arg)
=return (clean* ?tid ?return)]
- (return (&/$LambdaT =arg =return)))
+ (return (&/$FunctionT =arg =return)))
(&/$AppT ?lambda ?param)
(|do [=lambda (clean* ?tid ?lambda)
@@ -379,7 +379,7 @@
(defn ^:private unravel-fun [type]
(|case type
- (&/$LambdaT ?in ?out)
+ (&/$FunctionT ?in ?out)
(|let [[??out ?args] (unravel-fun ?out)]
(&/T [??out (&/$Cons ?in ?args)]))
@@ -462,7 +462,7 @@
(&/$SumT _)
(str "(| " (->> (flatten-sum type) (&/|map show-type) (&/|interpose " ") (&/fold str "")) ")")
- (&/$LambdaT input output)
+ (&/$FunctionT input output)
(|let [[?out ?ins] (unravel-fun type)]
(str "(-> " (->> ?ins (&/|map show-type) (&/|interpose " ") (&/fold str "")) " " (show-type ?out) ")"))
@@ -519,7 +519,7 @@
(and (type= xL yL)
(type= xR yR))
- [(&/$LambdaT xinput xoutput) (&/$LambdaT yinput youtput)]
+ [(&/$FunctionT xinput xoutput) (&/$FunctionT yinput youtput)]
(and (type= xinput yinput)
(type= xoutput youtput))
@@ -618,8 +618,8 @@
_
type)
- (&/$LambdaT ?input ?output)
- (&/$LambdaT (beta-reduce env ?input) (beta-reduce env ?output))
+ (&/$FunctionT ?input ?output)
+ (&/$FunctionT (beta-reduce env ?input) (beta-reduce env ?output))
(&/$BoundT ?idx)
(|case (&/|at ?idx env)
@@ -852,7 +852,7 @@
[(&/$UnitT) (&/$UnitT)]
(return fixpoints)
- [(&/$LambdaT eI eO) (&/$LambdaT aI aO)]
+ [(&/$FunctionT eI eO) (&/$FunctionT aI aO)]
(|do [fixpoints* (check* fixpoints invariant?? aI eI)]
(check* fixpoints* invariant?? eO aO))