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

Question about Changes to HERMIT.Monad and HERMIT.Dictionary #144

Open anshulmalvi opened 8 years ago

anshulmalvi commented 8 years ago

I am trying to compile conal/hermit-extras with the latest version of hermit (1.0.0.0) using ghc 7.10.2 but am running into the the compile error listed below. I think hermit-extras requires hermit-0.5.0.1 or greater. HERMIT.Extras relies on symbols that are no longer exported from HERMIT.Monad and HERMIT.Dictionary. Has the functionality been removed or refactored? Thanks

[1 of 1] Compiling HERMIT.Extras ( src/HERMIT/Extras.hs, dist/build/HERMIT/Extras.o )

src/HERMIT/Extras.hs:126:12: Module ‘HERMIT.Monad’ does not export ‘HasHscEnv(..)’

src/HERMIT/Extras.hs:126:51: Module ‘HERMIT.Monad’ does not export ‘RememberedName(..)’

src/HERMIT/Extras.hs:126:70: Module ‘HERMIT.Monad’ does not export ‘saveDef’

src/HERMIT/Extras.hs:126:78: Module ‘HERMIT.Monad’ does not export ‘lookupDef’

src/HERMIT/Extras.hs:126:88: Module ‘HERMIT.Monad’ does not export ‘getStash’

src/HERMIT/Extras.hs:137:27: Module ‘HERMIT.Dictionary’ does not export ‘inScope’

src/HERMIT/Extras.hs:138:5: Module ‘HERMIT.Dictionary’ does not export ‘buildTypeable’

xich commented 8 years ago

Note that (as discussed in #141) 7.10.2 is not recommended with HERMIT right now. 7.10.3 should fix things, when it is released.

Regarding changes:

src/HERMIT/Extras.hs:126:12: Module ‘HERMIT.Monad’ does not export ‘HasHscEnv(..)’

getHscEnv now requires a LiftCoreM constraint. HasHscEnv is no more.

src/HERMIT/Extras.hs:126:51: Module ‘HERMIT.Monad’ does not export ‘RememberedName(..)’

src/HERMIT/Extras.hs:126:70: Module ‘HERMIT.Monad’ does not export ‘saveDef’

src/HERMIT/Extras.hs:126:78: Module ‘HERMIT.Monad’ does not export ‘lookupDef’

src/HERMIT/Extras.hs:126:88: Module ‘HERMIT.Monad’ does not export ‘getStash’

These stash-related functions were refactored away in favor of using lemmas. The functionality in HERMIT.Dictionary.Remembered should get you back on track. For instance, the expression constT (saveDef (RememberedName lab) def) could be replaced by rememberR (fromString lab).

src/HERMIT/Extras.hs:137:27: Module ‘HERMIT.Dictionary’ does not export ‘inScope’

inScope is now in HERMIT.Context

src/HERMIT/Extras.hs:138:5: Module ‘HERMIT.Dictionary’ does not export ‘buildTypeable’

This is fixed in 449a7de02a782e1fa3487d6d282e7b934c1ff91a

anshulmalvi commented 8 years ago

Thanks! This helps

andygill commented 8 years ago

@anshulmalvi - we should do a phone meeting to chat about HERMIT, and how KU can sync up/help. If you are going to ICFP, we can chat there. We want to make HERMIT usable by others.

anshulmalvi commented 8 years ago

Hi @andygill ,

Thanks for reaching out. I am still getting up to speed with what HERMIT is and how @conal uses it in his lambda-ccc and circat projects. I would at least like to learn the basics to make our conversation productive. Besides the resources on http://ku-fpg.github.io/software/hermit/ do you recommend any other materials that may help me? Thanks

Anshul PS: I will not be attending ICFP.

andygill commented 8 years ago

Thanks. I'm talking to Conal tomorrow, and I'll mention you are interested in these projects.

anshulmalvi commented 8 years ago

@andygill yes. Initially my interest is in understanding @conal's lambda-ccc. He and I are also in touch.