{"id":19351573,"url":"https://github.com/lukaszcz/hcpl","last_synced_at":"2026-01-29T03:41:27.090Z","repository":{"id":92465469,"uuid":"410333363","full_name":"lukaszcz/hcpl","owner":"lukaszcz","description":"A prototypical proof checker and programming language based on illative combinatory logic","archived":false,"fork":false,"pushed_at":"2024-09-12T18:45:36.000Z","size":358,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T12:15:20.365Z","etag":null,"topics":["combinatory-logic","functional-programming","proof-checking","theorem-proving"],"latest_commit_sha":null,"homepage":"","language":"OCaml","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/lukaszcz.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-25T17:07:33.000Z","updated_at":"2025-02-06T14:14:47.000Z","dependencies_parsed_at":"2025-01-06T15:48:51.594Z","dependency_job_id":"5fc45728-defd-43a9-82c7-88f93509e855","html_url":"https://github.com/lukaszcz/hcpl","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lukaszcz/hcpl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszcz%2Fhcpl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszcz%2Fhcpl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszcz%2Fhcpl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszcz%2Fhcpl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukaszcz","download_url":"https://codeload.github.com/lukaszcz/hcpl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukaszcz%2Fhcpl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28862126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"online","status_checked_at":"2026-01-29T02:00:06.714Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["combinatory-logic","functional-programming","proof-checking","theorem-proving"],"created_at":"2024-11-10T04:36:39.249Z","updated_at":"2026-01-29T03:41:27.075Z","avatar_url":"https://github.com/lukaszcz.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"HCPL is a programming language and a proof checker based on illative\ncombinatory logic - a foundational system dating back to the work of\nHaskell Curry and his school. In brief, one could say that the logic is dynamically \ntyped. As a programming language, HCPL is similar to Lisp but with more \nsyntactic sugar.\n\nFeatures\n--------\n* Functional language with pattern matching, macros, modules and\n  custom syntax extensions.\n* Relatively efficient interpreter with unboxed values.\n* Higher-order illative logic with basic support for inductive\n  datatypes.\n* Rudimentary tactics and standard library.\n* Syntax highlighting for Kate.\n\nThe current version is a prototype, but it is complete and stable\nenough to be usable.\n\nRequirements\n------------\n* OCaml\n* dune\n* m4, sed, diff, GNU make\n* Kate text editor (optional)\n\nInstallation and usage\n----------------------\n\nTo compile HCPL type:\n```\nmake\n```\n\nTo run tests type:\n```\nmake test\n```\n\nTo install HCPL type:\n```\nmake configure\nmake\nmake install\n```\n\nDuring installation you will be asked for the data directory. In this\ndirectory the examples, the standard library and other data files of\nHCPL will be stored.\n\nAfter installation you should be able to run HCPL with: `hcpl\nfile.hcpl` or `hcpl -i` for REPL.  Type `hcpl --help` for a list of\noptions. To remove HCPL from your system type: `uninstall-hcpl` (note:\nthis will remove the data directory completely).\n\nExamples\n--------\n\nThe [`examples/`](examples) subdirectory of the data directory\ncontains commented examples which form a tutorial introduction to\nHCPL. Some knowledge of logic and functional programming is necessary\nto understand them. You should read the examples in their numerical\norder. Preferably, `*.hcpl` files should be edited in Kate as syntax\nhighlighting is installed for this editor. In case the highlighting\ndoes not work, there are also html versions of the examples.\n\nCopyright and license\n---------------------\n\nCopyright (C) 2013-2021 by Lukasz Czajka.\n\nHCPL is distributed under the MIT license. See the [LICENSE](LICENSE)\nfile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszcz%2Fhcpl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukaszcz%2Fhcpl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukaszcz%2Fhcpl/lists"}