diff options
author | Eduardo Julian | 2015-09-12 15:06:14 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-09-12 15:06:14 -0400 |
commit | 5fd179352bbf25bbe4000ae51132fd5553ba256a (patch) | |
tree | 8a242937777a76bd420fb6da414ed97280e513f5 /src/lux/analyser/lux.clj | |
parent | 5148900e02c8e05808afc8a3ec7fc51a901bcc7b (diff) |
- Primitive data-types can now be parameterized by other types.
Diffstat (limited to '')
-rw-r--r-- | src/lux/analyser/lux.clj | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/lux/analyser/lux.clj b/src/lux/analyser/lux.clj index b8239d1a9..6205adccb 100644 --- a/src/lux/analyser/lux.clj +++ b/src/lux/analyser/lux.clj @@ -364,7 +364,7 @@ (|do [;; :let [_ (prn 'MACRO-EXPAND|PRE (&/ident->text real-name))] macro-expansion #(-> macro (.apply ?args) (.apply %)) ;; :let [_ (prn 'MACRO-EXPAND|POST (&/ident->text real-name))] - ;; :let [_ (when (or (= "defsig" (aget real-name 1)) + ;; :let [_ (when (or (= "zip" (aget real-name 1)) ;; ;; (= "..?" (aget real-name 1)) ;; ;; (= "try$" (aget real-name 1)) ;; ) @@ -431,13 +431,9 @@ (|do [exo-type* (&type/actual-type exo-type)] (|case exo-type (&/$UnivQ _) - (&type/with-var - (fn [$var] - (|do [exo-type** (&type/apply-type exo-type* $var)] - (analyse-lambda* analyse exo-type** ?self ?arg ?body)))) - ;; (|do [$var &type/existential - ;; exo-type** (&type/apply-type exo-type* $var)] - ;; (analyse-lambda* analyse exo-type** ?self ?arg ?body)) + (|do [$var &type/existential + exo-type** (&type/apply-type exo-type* $var)] + (analyse-lambda* analyse exo-type** ?self ?arg ?body)) (&/$LambdaT ?arg-t ?return-t) (|do [[=scope =captured =body] (&&lambda/with-lambda ?self exo-type* |