Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build with ghc 9.6 #469

Merged
merged 6 commits into from
Nov 1, 2024
Merged

Build with ghc 9.6 #469

merged 6 commits into from
Nov 1, 2024

Conversation

alexfmpe
Copy link
Member

@alexfmpe alexfmpe commented Apr 12, 2024

On top of #468

Tested only with ghc & jsaddle-warp

@@ -278,6 +279,15 @@ elementConfig_eventSpec f (ElementConfig a b c d) = (\d' -> ElementConfig a b c
{-# INLINE elementConfig_eventSpec #-}
#endif

instance (Reflex t, er ~ EventResult, DomSpace s) => Default (ElementConfig er t s) where
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html

Breaking change: Template Haskell splices now act as separation points between constraint solving passes. It is no longer possible to use an instance of a class before a splice and define that instance after a splice. For example, this code now reports a missing instance for C Bool:

@@ -58,7 +58,7 @@ import Reflex.Profiled

{-# INLINE mainHydrationWidgetWithHead #-}
mainHydrationWidgetWithHead :: (forall x. HydrationWidget x ()) -> (forall x. HydrationWidget x ()) -> JSM ()
mainHydrationWidgetWithHead = mainHydrationWidgetWithHead'
mainHydrationWidgetWithHead head' body = mainHydrationWidgetWithHead' head' body
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html

GHC now implements simplified subsumption, as described in GHC Proposal #287. This change simplifies the type system, and prevents the possibility of GHC silently changing the semantics of user programs, but it does mean that some libraries may need eta-expansion to typecheck. More info here: Subsumption.

@@ -226,7 +226,7 @@ test-suite hydration
, websockets
, which
hs-source-dirs: test
ghc-options: -rtsopts -with-rtsopts=-T -Wall -fwarn-tabs -funbox-strict-fields -O2 -ferror-spans
ghc-options: -rtsopts "-with-rtsopts=-T -V0" -Wall -fwarn-tabs -funbox-strict-fields -O2 -ferror-spans
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hydration test suite was failing on 9.4+
redneb/hs-linux-namespaces#3

Copy link
Contributor

@maralorn maralorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, imo you can merge this if you are ready and tests pass.

@alexfmpe
Copy link
Member Author

alexfmpe commented Nov 1, 2024

Nix CI is green - going ahead and merging this without waiting for the slow full cabal builds.
Will circle back to non-nix CI after the other bump PRs are merged

@alexfmpe alexfmpe merged commit 554a5c2 into reflex-frp:develop Nov 1, 2024
1 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants