{"id":13682696,"url":"https://github.com/pikelet-lang/pikelet","last_synced_at":"2025-04-30T09:33:44.414Z","repository":{"id":40211751,"uuid":"114722008","full_name":"pikelet-lang/pikelet","owner":"pikelet-lang","description":"A friendly little systems language with first-class types. Very WIP! 🚧 🚧 🚧","archived":false,"fork":false,"pushed_at":"2021-05-16T05:04:56.000Z","size":5831,"stargazers_count":610,"open_issues_count":31,"forks_count":26,"subscribers_count":30,"default_branch":"main","last_synced_at":"2024-10-07T14:47:18.364Z","etag":null,"topics":["bidirectional-typechecking","compiler","dependent-record-types","dependent-records","dependent-types","programming-language","rust","systems-language","systems-programming","type-system","type-theory","typechecker"],"latest_commit_sha":null,"homepage":"https://pikelet-lang.github.io/pikelet/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pikelet-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-19T05:15:40.000Z","updated_at":"2024-09-01T15:19:36.000Z","dependencies_parsed_at":"2022-06-27T00:04:12.909Z","dependency_job_id":null,"html_url":"https://github.com/pikelet-lang/pikelet","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/pikelet-lang%2Fpikelet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikelet-lang%2Fpikelet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikelet-lang%2Fpikelet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pikelet-lang%2Fpikelet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pikelet-lang","download_url":"https://codeload.github.com/pikelet-lang/pikelet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224206161,"owners_count":17273400,"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":["bidirectional-typechecking","compiler","dependent-record-types","dependent-records","dependent-types","programming-language","rust","systems-language","systems-programming","type-system","type-theory","typechecker"],"created_at":"2024-08-02T13:01:51.330Z","updated_at":"2024-11-12T02:31:30.157Z","avatar_url":"https://github.com/pikelet-lang.png","language":"Rust","funding_links":[],"categories":["Programming Language","Rust","Functional"],"sub_categories":["Libraries"],"readme":"# Pikelet!\n\n![Pikelet Mascot][pikelet-mascot]\n\n[pikelet-mascot]: ./book/assets/pikelet.png\n\n[![Actions Status][actions-badge]][actions-url]\n[![Matrix][matrix-badge]][matrix-lobby]\n[![License][license-badge]][license-url]\n\n[actions-badge]: https://github.com/pikelet-lang/pikelet/workflows/ci/badge.svg\n[actions-url]: https://github.com/pikelet-lang/pikelet/actions\n[matrix-badge]: https://img.shields.io/matrix/pikelet:matrix.org?label=%23pikelet%3Amatrix.org\n[matrix-lobby]: https://app.element.io/#/room/#pikelet:matrix.org\n[license-badge]: https://img.shields.io/github/license/pikelet-lang/pikelet\n[license-url]: ./LICENSE\n\nPikelet is a small, functional, dependently typed programming language.\n\nDependent types allow us to do a bunch of really interesting things, like using\nrecords for modules, declaring the length of arrays at the type level, and\nmuch more — many of great utility for low-level and high-level code alike!\n\nWe hope to one day grow Pikelet into fully-fledged systems programming language,\nwith support for unboxed data types, control over memory layout and allocation\nstrategy, linear types, and a flexible phase distinction and support for calling\nother languages. At the moment however we've only implemented a type checker and\nvery slow  interpreter, so don't get your hopes up too much yet! There's still a\nwhole lot to do before it is even remotely useful to anyone! 😅\n\n## Roadmap\n\nCheck out our plans in [the roadmap](./book/src/development/roadmap.md).\n\n## Code of Conduct\n\nPlease note that this project is released with a [Code of Conduct](./CODE_OF_CONDUCT.md).\nBy participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpikelet-lang%2Fpikelet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpikelet-lang%2Fpikelet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpikelet-lang%2Fpikelet/lists"}