aboutsummaryrefslogtreecommitdiff
path: root/src/lux.clj
diff options
context:
space:
mode:
authorEduardo Julian2015-04-17 17:54:35 -0400
committerEduardo Julian2015-04-17 17:54:35 -0400
commit6676e1bb8e79ed4336b113b573f3b9f9dd8399af (patch)
tree86058e335da36fd4d0734ad642eae16556b5758c /src/lux.clj
parent61f70deb6d4e8ad2f9e06122c3591a075c5b1bbc (diff)
- Solved the bug wherein type-inferencing was causing computational complexity to explode and cause the compiler to become very slow (solved it by removing type-inference from tuples).
- Also removed type-inference from functions/lambdas. - Added a small optimization to improve the efficiency of type-checking by not doing a thorough type-check when a global or local binding has a type variant with the same cases as Type, and it's exo-type is also like this (hopefully, it will never happen that someone will exploit this to make the compiler do something weird...)
Diffstat (limited to '')
-rw-r--r--src/lux.clj1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/lux.clj b/src/lux.clj
index e035e92c8..103c15565 100644
--- a/src/lux.clj
+++ b/src/lux.clj
@@ -16,7 +16,6 @@
;; TODO: Change &type/check to it returns a tuple with the new expected & actual types
;; TODO: Stop passing-along the exo-types and instead pass-along endo-types where possible
- ;; TODO: Optimize analyser to avoid redundant checks when dealing with type-checking (making sure check* is being handed a type)
(time (&compiler/compile-all (&/|list "lux")))
(System/gc)