aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEduardo Julian2016-07-01 19:06:04 -0400
committerEduardo Julian2016-07-01 19:06:04 -0400
commit512598de80963203cf162d2f353d43b47273ffaf (patch)
treee24f68a1a7a4a79cb6eb5741566804f08d70718c /src
parent7d31a4df9b6582b9abb11c221b18a27a788c6f91 (diff)
- Small fixes to reader & type-system.
- Test suites for reader, lexer and parser got updated. - Added unit-tests for type-system.
Diffstat (limited to 'src')
-rw-r--r--src/lux/type.clj14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/lux/type.clj b/src/lux/type.clj
index 70a2f69fa..295d7bfdb 100644
--- a/src/lux/type.clj
+++ b/src/lux/type.clj
@@ -756,21 +756,15 @@
[(&/$ExQ e!env e!def) _]
(with-var
(fn [$arg]
- (|do [:let [expected* (beta-reduce (->> e!env
- (&/$Cons $arg)
- (&/$Cons expected))
- e!def)]
+ (|do [expected* (apply-type expected $arg)
=output (check* class-loader fixpoints invariant?? expected* actual)
_ (clean $arg actual)]
(return =output))))
[_ (&/$ExQ a!env a!def)]
- (|do [$arg existential]
- (|let [actual* (beta-reduce (->> a!env
- (&/$Cons $arg)
- (&/$Cons expected))
- a!def)]
- (check* class-loader fixpoints invariant?? expected actual*)))
+ (|do [$arg existential
+ actual* (apply-type actual $arg)]
+ (check* class-loader fixpoints invariant?? expected actual*))
[(&/$HostT e!data) (&/$HostT a!data)]
(&&host/check-host-types (partial check* class-loader fixpoints true)