Cardano
$0.15545 -2.90%
ADA · 18w

Improving Haskell’s big numbers support

Haskell is vital to IOHK’s work in ensuring Cardano is a secure blockchain for the future of decentralized finance. As part of this, we use the language to develop the [Plutus smart contract platform](https://prod.playground.plutus.iohkdev.io/tutorial/), and you may have read about the training courses run by our engineers, including a [Haskell course in Mongolia](https://www.montsame.mn/en/read/231778) this month. Smart contract applications are a powerful way for a distributed network to generate value, allowing individuals and businesses to agree to conditions and automatically execute exchanges of information and wealth, without relying on third parties. Plutus contracts contain a substantial amount of code that is run off the chain, on users’ computers. To make it easy to create portable executables for these, we want to compile the off-chain Haskell code into JavaScript or WebAssembly. To reach that goal, we take part in the development of the Glasgow Haskell Compiler ([GHC](https://www.haskell.org/ghc/)), [GHCJS](https://github.com/ghcjs/ghcjs) (Haskell to JavaScript compiler) and [Asterius](https://github.com/tweag/asterius/) (Haskell to WebAssembly compiler). Recently we have been working on improving GHC’s support for big numbers, ie, numbers larger than 64-bit (both Integer and Natural types in Haskell). We have developed an implementation of big number operations in Haskell that is faster than the previous one (integer-simple ). We have also improved the way GHC deals with the different implementations to make it more robust and evolutive. These contributions are part of the [latest GHC release, version 9.0](https://gitlab.haskell.org/ghc/ghc/-/wikis/status/ghc-9.0.1). Read more here [https://iohk.io/en/blog/posts/2020/07/28/improving-haskells-big-numbers-support/](https://iohk.io/en/blog/posts/2020/07/28/improving-haskells-big-numbers-support/)
Go to self.cardano
Recent news