Current status of this project
Opened this issue · 2 comments
First, thanks so much for the work on this @ch1bo!
I'm currently looking into replacing integer-gmp
with integer-simple
in a closed source project, so that I may distribute my application in a license-compliant manner. Unfortunately I've found integer-simple
to be prohibitively expensive for some of the operations I'm performing, and as such I've been looking for alternatives.
@nh2 mentioned this project to me in a thread elsewhere, so I wanted to follow-up and see what the current status is.
If possible, I'd be interested contributing to help fill out some features we'd need and get this upstreamed to GHC as an alternative integer library.
Any help is welcome!
As you also mention upstreaming the whole thing, I opened a GHC proposal during the last code sprint on Munihac 2018: ghc-proposals/ghc-proposals#183
I have not done anything on the project since December, but might have some additional commits lying around on my work notebook - will check tomorrow.
Rough status from the top of my head (I should write that down in a README section):
- Replicate the portable GHC.Integer interface (as integer-gmp and integer-simple implement it)
- Implement all functions validating against gmp or simple via test suite (~80%)
- Benchmark most expensive functions (divisions, multiplications,...) to verify POC
- Compile into GHC Stage 2 using make
- Compile into GHC Stage 2 using hadrian
- Fix GHC test suites
- Use an integer-openssl GHC to build some projects
- Upstream into GHC like this
- Do the whole thing again for Libtommath or go the backpack avenue
There is more as TODOs in the code I suppose.
In the end, I had a GHC stage 2 compiled and ghci was able to run. Compiling was not possible though as some not yet implemented functions were required.
Your post here got my motivation up to take another go on the project .. however I have a big project launch this and next week .. in April then!
however I have a big project launch this and next week .. in April then!
Just throwing this out here, in case it is interesting for you @jkachmar:
Finishing and upstreaming cool work like this is something that my team at FP Complete does regularly. If this task needs more manpower, you need it for work and would like to see it done with full-time effort instead of volunteers' free time, and @ch1bo would be up for giving us overall directions, we can provide the extra hands. Just let me know :)