faylang / fay

A proper subset of Haskell that compiles to JavaScript
https://github.com/faylang/fay/wiki
BSD 3-Clause "New" or "Revised" License
1.29k stars 86 forks source link

Fix optimizations #402

Closed chrisdone closed 10 years ago

chrisdone commented 10 years ago

So the optimizations just stopped activating a while back and nobody noticed because it's based on JsVar for top-level names but it was changed to JsSetQName. This passes the tests but I'm not sure everything's still honky dory. I'm testing it out.

I'll try to accompany this with a change to the test suite to include actually looking at the result of the codegen to see that optimization occurred. The optimizations are to remove redundant thunking and to uncurry saturated function applications.

bergmark commented 10 years ago

Alright, thanks! Let me know when you think it's ready.

chrisdone commented 10 years ago

Okay, I added a test group and split it into "runtime" vs "codegen". What do you think?

bergmark commented 10 years ago

Looking good!

bergmark commented 10 years ago

Hackag'd

chrisdone commented 10 years ago

Cool!