diff --git a/README.md b/README.md index 7322c6ad23..fe7cd5c5cd 100644 --- a/README.md +++ b/README.md @@ -339,33 +339,17 @@ patter synonym to deal with changes in type constructors. Currently, no. Only one version of GHC is supported and that is the one that can be tested with `./scripts/test/test_plugin.sh`. -# GHC Plugin Development FAQs - -## Why is the GHC.Interface using slightly different types than the GHC.Plugin module? - -Mostly for backward-compatibility and for historical reasons. Types like [BareSpec][] used to be type alias -rather than `newtype`s, and things were slightly renamed to reflect better purpose when the support for the -plugin was added. While doing so we also added a compatibility layer in the form of some `optics` that can be used -to map back and forth (sometimes in a partial way) between old and new data structures. When in doubt, -**consider the GHC.Plugin as the single source of truth, and prefer whichever data structure the latter is -using**. - [GHC.API]: liquidhaskell-boot/src-ghc/Liquid/GHC/API.hs [Plugin]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs [GHC.Plugin]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs [GHC.Interface]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Interface.hs [SpecFinder]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin/SpecFinder.hs -[BareSpec]: liquidhaskell-boot/src/Language/Haskell/Liquid/Types/Specs.hs#L362 [LiftedSpec]: liquidhaskell-boot/src/Language/Haskell/Liquid/Types/Specs.hs#L559 [TargetSrc]: liquidhaskell-boot/src/Language/Haskell/Liquid/Types/Specs.hs#L158 -[Ghc monad]: https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:Ghc -[HscEnv]: https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:HscEnv -[DynFlags]: https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:DynFlags -[GhcMonad]: https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:GhcMonad [typechecking phase]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs#L211-L226 [ghcide]: https://github.com/haskell/ghcide [findRelevantSpecs]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin/SpecFinder.hs#L65 -[core binds]: https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC-Core.html#t:CoreBind +[core binds]: https://hackage.haskell.org/package/ghc-9.4.7/docs/GHC-Core.html#t:CoreBind [configureGhcTargets]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Interface.hs#L254 [processTargetModule]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Interface.hs#L483 [processModule]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs#L509 diff --git a/docs/mkDocs/docs/install.md b/docs/mkDocs/docs/install.md index 5fefbd3d76..4ea62eeb72 100644 --- a/docs/mkDocs/docs/install.md +++ b/docs/mkDocs/docs/install.md @@ -19,7 +19,8 @@ LiquidHaskell itself is installed&enabled by adding it as a dependency in your p Depending on your version of GHC, you might want to use a build of LiquidHaskell from github or from Hackage. -* `ghc-9.2.8`: use LiquidHaskell from github +* `ghc-9.4.7`: use LiquidHaskell from github +* `ghc-9.2.8`: use liquidhaskell-0.9.2.8.0 from Hackage * `ghc-9.2.5`: use liquidhaskell-0.9.2.5.0 from Hackage * `ghc-9.0.2`: use liquidhaskell-0.9.0.2.1 and liquid-base-0.4.15.1.0 from Hackage * `ghc-8.10.7`: use liquidhaskell-0.8.10.7 and liquid-base-0.4.15.0.0 from Hackage