ku-fpg / hermit

Haskell Equational Reasoning Model-to-Implementation Tunnel
http://www.ittc.ku.edu/csdl/fpg/Tools/HERMIT
BSD 2-Clause "Simplified" License
49 stars 8 forks source link

Documentation: clarify that callDataConT succeeds for only *saturated* data constructors, ... #158

Closed conal closed 8 years ago

conal commented 8 years ago

as does the underlying exprIsConApp_maybe from GHC.

xich commented 8 years ago

Would it be more valuable to match partial applications of datacons? We could rewrite callDataConT to do that.

conal commented 8 years ago

I don't know. I first assumed that it worked for non-saturated as well, and so I added code to exclude those cases (for my use), only to find that callDataConT already did so.

conal commented 8 years ago

But then I also handle non-saturated data constructor applications by eta-expanding and re-trying my transformation on the new lambda body (recursively).