{"id":16719368,"url":"https://github.com/erikd/haskell-big-integer-experiment","last_synced_at":"2025-03-21T21:30:35.172Z","repository":{"id":16234437,"uuid":"18981994","full_name":"erikd/haskell-big-integer-experiment","owner":"erikd","description":"An experiment in re-implementing big integers in Haskell.","archived":false,"fork":false,"pushed_at":"2022-12-09T07:49:54.000Z","size":1219,"stargazers_count":40,"open_issues_count":1,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-01T09:51:24.008Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erikd.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-21T04:20:19.000Z","updated_at":"2022-08-21T05:31:52.000Z","dependencies_parsed_at":"2023-01-11T20:24:43.789Z","dependency_job_id":null,"html_url":"https://github.com/erikd/haskell-big-integer-experiment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fhaskell-big-integer-experiment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fhaskell-big-integer-experiment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fhaskell-big-integer-experiment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fhaskell-big-integer-experiment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erikd","download_url":"https://codeload.github.com/erikd/haskell-big-integer-experiment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244160020,"owners_count":20408019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T21:41:31.533Z","updated_at":"2025-03-21T21:30:34.547Z","avatar_url":"https://github.com/erikd.png","language":"Haskell","readme":"# haskell-big-integer-experiment\n\nThis project aims to compare and contrast the two exisiting Haskell big\ninteger implementations (integer-simple and integer-gmp) to a a new\nimplementation that will hopefully replace the other two.\n\nThe reasons why a replacement for the above two is needed is explained\n[here][reason].\n\nThe Git checkout for this project contains copies of the integer-simple and\ninteger-gmp trees (with some slight mods) as well as a number of alternative\nimplementations of the new library. When a decent implementation for the new\ninteger library emerges from this work it will be extracted and submitted for\ninclusion in the GHC tree.\n\n__This is still very much a work in progress. Patches and pull requests more\nthan welcome.__\n\n## Benchmarks\n\nBenchmarks comparing the four versions of this library with integer-gmp and\ninteger-simple are available [here][benchmarks].\n\n\n## Requirements\n\nSince we need to benchmark against the very latest versions of the integer-simple\nand inetger-gmp we need to run the latest versions of GHC which at the time of\nwriting is 8.2.x (other versions will not work).\n\nGNU Make is used for the build system.\n\nThe project is designed to use a cabal sandbox. The sandbox can be set up (and\nre-initialialized) using:\n\n\tmake sandbox-reinit\n\n## Kicking the tires\n\nA real good place to start with this is running the test suite which is as\neasy as:\n\n\tmake check\n\nTo run the crierion benchmarks  using:\n\n    make view-bench\n\nwhich will run the bench marks and display them in firefox or whatever browser\nyou set with the $BROWSER environment variable.\n\n\n## TODO\n\nThis is the TODO list, with highest priority first.\n\n* Improve Big Integer multiplication.\n* Benchmark division operations.\n\n\n[reason]: http://www.mega-nerd.com/erikd/Blog/CodeHacking/Haskell/integer_pt1.html\n[benchmarks]: http://www.mega-nerd.com/haskell-big-integer-experiment/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikd%2Fhaskell-big-integer-experiment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferikd%2Fhaskell-big-integer-experiment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikd%2Fhaskell-big-integer-experiment/lists"}