Implementation of the GHC.Integer type using the OpenSSL BIGNUM arbitrary size
integer library contained in libcrypto.
This is currently in development and not yet ready for production. Integration
with GHC is discussed
here. If things work
out, this would be a free BSD-licensed alternative to the LGPL-licensed
integer-gmp - used by default in GHC - with performance significantly faster
than integer-simple - a BSD-licensed Haskell-only integer library.
The test suite gives a rough estimate what currently works as each function is checked against the builtin library.
Recent benchmarks of small, 128bit and 4096bit integers multiplication and
division indicate a 10-20% performance hit against integer-gmp but significant
speedup compared to integer-simple:
The source code for integer-openssl is released under the BSD-3-Clause License.
-  Implement the portable GHC.Integerinterface
-  Test suite covering all functions
-  encodeDoubleIntegerfails for newer LTS / GHC?
-  test gcdInteger
-  test lcmInteger
 
-  
-  32bit support
-  implement and test int64ToInteger
-  implement and test word64ToInteger
-  implement and test integerToInt64
-  implement and test integerToWord64
 
-  implement and test 
- Add some more short cuts
- Look into strictness/lazyness
-  Common Naturalimplementation with integer-gmp (as its the same small/big abstraction)
-  DRY code with integer-gmp
- Integer functions in base and only BigNat/BigNum in libs?
- Re-use BigNat/BigNum and exchange/use FFI/C parts if possible
 
-  Rename library and flags to integer-crypto?
-  Statically link libcryptointo GHC?