-
Notifications
You must be signed in to change notification settings - Fork 126
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
GHC 9.* integer primitive support #1098
Comments
It may be a while before we get to the point where
The other is
So we'll definitely need to figure out what the
|
Are Cryptol's dependencies in a good enough shape that we should start thinking about this again? |
The dependencies which are not 9.0-ready are, by my count:
All of these can be worked around with |
It's also worth noting that many of the alternatives that GHC recommends in #1098 (comment) don't have quite the same types. For example, |
CF #1233 We seem blocked on https://gitlab.haskell.org/ghc/ghc/-/issues/19645. A fix for this bug is merged into the branch for 9.0.2, but there is currently no timeline set for the release. |
GHC 9.2.1 dropped today. https://www.haskell.org/ghc/blog/20211029-ghc-9.2.1-released.html Still no word on a timeline for 9.0.2, so we may just have to leapfrog that release sequence for now. |
FWIW, the GHC release manager expects to release GHC 9.0.2 within the coming week: https://old.reddit.com/r/haskell/comments/qif499/announce_ghc_921_released/hin31o5/ |
Fixed in #1233. |
The GHC 9.* series has made some pretty significant internal changes regarding how integer values are represented. Cryptol currently uses some internal support for GMP operations that aren't part of the "stable" Integer API, and we may need to do some work to be able to support these going forward.
From memory, the operations we care about that aren't part of the public API are:
p
)We also make use of the nonpublic
BigNat
type internal to thePrimeECC
module. This is primarily done to avoid boxing, allocations and small integer code paths related theInteger
datatype itself. It provides a modest, but nontrival, improvement to the affected operations.The text was updated successfully, but these errors were encountered: