diff options
author | Eduardo Julian | 2015-04-19 19:50:10 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-04-19 19:50:10 -0400 |
commit | e1df2642c538293f1dfd0faffad72b48a626148a (patch) | |
tree | ba62cd4c50b193a8c147957f7ca6339f16dd1ff3 /src/lux/analyser/host.clj | |
parent | 6676e1bb8e79ed4336b113b573f3b9f9dd8399af (diff) |
- Fixed several bugs in lux.lux
- Fixed an error in lux.base/analyse-2
- Modified the analyser so the symbols that identify all of the special forms must mandatorily have "" as their prefix.
- Fixed a bug in the binary operations at lux.analyser.host wherein the types where being omitted.
- Fixed a bug when closing-over variables inside lambda bodies wherein the names of bindings where being stores as (incomparable) arrays, instead of as (comparable) strings.
Diffstat (limited to 'src/lux/analyser/host.clj')
-rw-r--r-- | src/lux/analyser/host.clj | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/lux/analyser/host.clj b/src/lux/analyser/host.clj index 404573de4..b282f806e 100644 --- a/src/lux/analyser/host.clj +++ b/src/lux/analyser/host.clj @@ -23,11 +23,7 @@ (let [input-type (&/V "lux;DataT" <input-class>) output-type (&/V "lux;DataT" <output-class>)] (defn <name> [analyse ?x ?y] - (|do [[=x =y] (&&/analyse-2 analyse ?x ?y) - =x-type (&&/expr-type =x) - =y-type (&&/expr-type =y) - _ (&type/check input-type =x-type) - _ (&type/check input-type =y-type)] + (|do [[=x =y] (&&/analyse-2 analyse input-type ?x input-type ?y)] (return (&/|list (&/V "Expression" (&/T (&/V <output-tag> (&/T =x =y)) output-type))))))) analyse-jvm-iadd "jvm-iadd" "java.lang.Integer" "java.lang.Integer" |