{"id":23143672,"url":"https://github.com/HigherOrderCO/HVM3","last_synced_at":"2025-08-17T14:33:47.613Z","repository":{"id":261706666,"uuid":"884541105","full_name":"HigherOrderCO/HVM3","owner":"HigherOrderCO","description":"HVM3","archived":false,"fork":false,"pushed_at":"2024-12-03T02:00:00.000Z","size":436,"stargazers_count":83,"open_issues_count":2,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-12-03T03:17:32.417Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HigherOrderCO.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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":"2024-11-07T00:01:23.000Z","updated_at":"2024-12-03T02:00:03.000Z","dependencies_parsed_at":"2024-11-08T01:26:42.486Z","dependency_job_id":"56171b04-49ab-4a8e-a3ef-a4f12ac6551f","html_url":"https://github.com/HigherOrderCO/HVM3","commit_stats":null,"previous_names":["higherorderco/hvm3"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HigherOrderCO%2FHVM3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HigherOrderCO%2FHVM3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HigherOrderCO%2FHVM3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HigherOrderCO%2FHVM3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HigherOrderCO","download_url":"https://codeload.github.com/HigherOrderCO/HVM3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230136098,"owners_count":18178814,"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-12-17T15:13:57.374Z","updated_at":"2025-08-17T14:33:47.594Z","avatar_url":"https://github.com/HigherOrderCO.png","language":"Haskell","funding_links":[],"categories":["Implementations"],"sub_categories":[],"readme":"# HVM3 - Work In Progress\n\nThe **HVM** is an efficient implementation of the [Interaction Calculus](https://github.com/VictorTaelin/Interaction-Calculus) (IC).\n\nThe Interaction Calculus is a new foundation for computing, similar to the\nLambda Calculus, but theoretically optimal. The HVM is an efficient\nimplementation of this new paradigm, and can be seen as a fast engine for\nsymbolic computations.\n\nIn some ways, it is very similar to Haskell, but it has some key differences:\n- Lambdas must be linear oraffine, making it resource-aware\n- Lambdas have no scope boundaries, enabling global substitutions\n- First-class duplications allow a term to be copied into to two locations\n- First-class superpositions allow 2 terms to be stored in 1 location\n\nThese primitives allow HVM to natively represent concepts that are not present\nin the traditional λ-Calculus, including continuations, linear HOAS interpreters\nand mutable references. Moreover, superpositions and duplications allow it to\nperform optimal beta-reduction, allowing some expressions to be evaluated with\nan exponential speedup. Finally, being fully affine makes its garbage collector\nvery efficient, and greatly simplifies parallelism.\n\nThe HVM3 is the successor to HVM1 and HVM2, combining their strengths. It aims\nto be the main compile target of [Bend](https://github.com/HigherOrderCO/Bend).\nIt is a WIP under active development.\n\n## Specifications\n\n- [IC.md](./IC.md): Interaction Calculus, the theoretical foundation behind HVM\n\n- [HVM.md](./HVM.md): the HVM language, which extends IC with pragmatic primitives\n\n## Install\n\n1. Install Cabal.\n\n3. Clone this repository.\n\n3. Run `cabal install`.\n\n## Usage\n\n```bash\nhvm run file.hvml    # runs interpreted (slow)\nhvm run file.hvml -c # runs compiled (fast)\n```\n\nNote: the `-c` flag will also generate a standalone `.main.c` file, which if you\nwant, you can compile and run it independently. See examples on the [book/](book/) directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHigherOrderCO%2FHVM3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHigherOrderCO%2FHVM3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHigherOrderCO%2FHVM3/lists"}