{"id":24551972,"url":"https://github.com/mlabs-haskell/uplc-benchmark","last_synced_at":"2025-03-16T13:41:34.302Z","repository":{"id":203027895,"uuid":"701970113","full_name":"mlabs-haskell/uplc-benchmark","owner":"mlabs-haskell","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-30T02:49:08.000Z","size":2004,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-01T11:46:44.976Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlabs-haskell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-08T05:34:22.000Z","updated_at":"2024-05-09T04:40:15.599Z","dependencies_parsed_at":"2023-11-22T06:23:06.193Z","dependency_job_id":"9b1f8f5d-b1a1-4650-ac50-991427ffc31c","html_url":"https://github.com/mlabs-haskell/uplc-benchmark","commit_stats":null,"previous_names":["mlabs-haskell/uplc-benchmark"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlabs-haskell%2Fuplc-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlabs-haskell%2Fuplc-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlabs-haskell%2Fuplc-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlabs-haskell%2Fuplc-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlabs-haskell","download_url":"https://codeload.github.com/mlabs-haskell/uplc-benchmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878408,"owners_count":20362431,"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":"2025-01-23T01:19:36.435Z","updated_at":"2025-03-16T13:41:34.279Z","avatar_url":"https://github.com/mlabs-haskell.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uplc-benchmark\n\nSee [website](https://mlabs-haskell.github.io/uplc-benchmark).\n\n## Components\n\n### Specification\n\nValidator specifications are written in LaTeX and sources are available in this repository under `./specifications` directory.\n\n- [dex](./specifications/dex)\n- [nft-marketplace](./specifications/nft-marketplace)\n\nCompiled PDF artifacts are available for download from the projects [website](https://mlabs-haskell.github.io/uplc-benchmark/specifications.html). These are automatically rebuilt on each push to `master` branch.\n\n### Implementation\n\nAforementioned specification had been implemented in four Cardano languages that compile to UPLC. Plutarch implementation is considered the reference one but all implementations are tested in the same test framework.\n\n- [Plutarch](./implementations/plutarch)\n- [PlutusTx](./implementations/plutus-tx)\n- [Opshin](./implementations/opshin)\n- [Aiken](./implementations/aiken)\n\n### Results (in progress)\n\n## Building\n\nWhole project uses [Nix](https://nixos.org/) as a build system with [Flakes](https://nixos.wiki/wiki/Flakes) enabled. Although various dev shells will provide with native tooling such as `cabal` or `python` they are used only for development environment and all builds happen inside Nix sandbox.\n\nEach component comes with its own \"Usage\" section that describes both development and building commands. Throughout this repository it is assumed that user is in a dev shell provided for each of the components in `.envrc` files, loading these can be automated with [nix-direnv](https://github.com/nix-community/nix-direnv).\n\nWhile not required, it is recommended to use [IOG Nix Binary Cache](https://github.com/input-output-hk/iogx/blob/8f26fda1b8dd97898b968c78598513e5648e84d9/doc/nix-setup-guide.md#setting-up-iog-binary-cache) to avoid building multiple GHC versions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlabs-haskell%2Fuplc-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlabs-haskell%2Fuplc-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlabs-haskell%2Fuplc-benchmark/lists"}