I know Haskell has native data types which allow you to have really big integers so things like
>> let x = 131242358045284502395482305 >> x 1312
If you need a high precision /fast/ floating point calculations, you may need to use FFI and long doubles, as the native Haskell type is not implemented yet (see https://ghc.haskell.org/trac/ghc/ticket/3353).