{"id":13398800,"url":"https://github.com/evincarofautumn/kitten","last_synced_at":"2025-05-16T12:10:13.814Z","repository":{"id":2077937,"uuid":"3017189","full_name":"evincarofautumn/kitten","owner":"evincarofautumn","description":"A statically typed concatenative systems programming language.","archived":false,"fork":false,"pushed_at":"2023-04-10T00:10:33.000Z","size":2914,"stargazers_count":1100,"open_issues_count":67,"forks_count":40,"subscribers_count":70,"default_branch":"master","last_synced_at":"2024-10-29T17:56:08.401Z","etag":null,"topics":["concatenative","effects","forth","haskell","language","programming-language","static-types"],"latest_commit_sha":null,"homepage":"http://kittenlang.org/","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"00o0o/LZAutoScrollView","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evincarofautumn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2011-12-20T04:17:17.000Z","updated_at":"2024-10-29T09:38:57.000Z","dependencies_parsed_at":"2023-07-06T15:16:35.335Z","dependency_job_id":null,"html_url":"https://github.com/evincarofautumn/kitten","commit_stats":{"total_commits":1106,"total_committers":13,"mean_commits":85.07692307692308,"dds":0.05696202531645567,"last_synced_commit":"a5301fe24dbb9ea91974abee73ad544156ee4722"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evincarofautumn%2Fkitten","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evincarofautumn%2Fkitten/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evincarofautumn%2Fkitten/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evincarofautumn%2Fkitten/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evincarofautumn","download_url":"https://codeload.github.com/evincarofautumn/kitten/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254527100,"owners_count":22085919,"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":["concatenative","effects","forth","haskell","language","programming-language","static-types"],"created_at":"2024-07-30T19:00:31.752Z","updated_at":"2025-05-16T12:10:13.774Z","avatar_url":"https://github.com/evincarofautumn.png","language":"Haskell","funding_links":[],"categories":["Uncategorized","Haskell"],"sub_categories":["Uncategorized"],"readme":"# The Kitten Programming Language\n\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)][gitter] [![Build Status](https://travis-ci.org/evincarofautumn/kitten.svg?branch=master)](https://travis-ci.org/evincarofautumn/kitten)\n\n**Kitten** is a statically typed, [stack-based functional programming language][concatenative] designed for simplicity, speed, and safety. This is an in-progress implementation of that language, including:\n\n * An interactive console for testing code\n\n * An interpreter\n\n * A native-code compiler producing static executables (incomplete)\n\n## Contributing\n\nI need help to make Kitten a reality! If you’re interested in helping in any way, you’re more than welcome, even if you’re not experienced with Haskell or compiler development. You can look at the project for the [initial release] to see what I’m working on, and check out the [contribution guidelines][contributing] for suggestions on how you can help.\n\n## Resources\n\n * Browse some [examples][examples] to get a feel for the language\n\n * Join the [chat room][gitter] to ask questions\n\n * Skim a quick [intro][intro] on the [official site][site]\n\n * Read the most recent updates to the [ebook][ebook]\n\n * Read my article introducing some interesting things about concatenative programming, [Why Concatenative Programming Matters][wcpm]\n\n * Watch my lecture describing the theory, history, and implementation techniques of the paradigm, [Concatenative Programming: From Ivory to Metal][cpim]\n\n## Building and Installing\n\nIf you’re building the compiler just to try it out or work on it, you can follow the preferred build method of using [Stack]:\n\n```\ngit clone https://github.com/evincarofautumn/kitten.git\ncd kitten\nstack setup  # only necessary on first build\nstack build\n\nstack exec kitten\nstack exec kitten -- \u003cflags\u003e\n```\n\nHowever, if you want to *install* Kitten in a standard location outside the build directory, due to a deficiency in Stack’s support for Cabal’s `data-files` feature, it is **not** recommended to use `stack install` to install a copy of the executable, because this will not install the *common vocabulary* `common.ktn` containing Kitten’s standard library.\n\nThere are two workarounds. One is to forgo Stack, and build and install Kitten using Cabal directly:\n\n```\ncabal sandbox init\ncabal install --only-dependencies\ncabal install --prefix=\"$HOME/.local\"\n```\n\nThis will correctly install the common vocab so that Kitten can find it. The preferred install location for Kitten is `~/.local` on Unix-like systems (so the executable resides at `~/.local/bin/kitten`) or `%APPDATA%\\local` on Windows (resp. `%APPDATA%\\local\\bin\\kitten.exe`).\n\nThe other option is to manually copy `common.ktn` to the install directory:\n\n```\nstack install\ncp common.ktn ~/.local/bin/\n```\n\nIt’s also recommended to add the install directory (`~/.local/bin` or `%APPDATA\\local\\bin`) to your `PATH` so that you can invoke `kitten` directly without a path prefix.\n\nThese are the only files installed by Kitten, so to uninstall it, you only need to delete the compiler and common vocab from the install directory.\n\n## Miscellany\n\nKitten is distributed under the terms of the [MIT license][license]. Contributors should agree to abide by the [code of conduct].\n\n[concatenative]: http://concatenative.org/\n[examples]: https://github.com/evincarofautumn/kitten/tree/master/examples\n[intro]: http://kittenlang.org/intro/\n[site]: http://kittenlang.org/\n[Stack]: https://docs.haskellstack.org/en/stable/README/\n[license]: https://github.com/evincarofautumn/kitten/blob/master/LICENSE.md\n[code of conduct]: https://github.com/evincarofautumn/kitten/blob/master/CODE_OF_CONDUCT.md\n[wcpm]: http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html\n[cpim]: https://www.youtube.com/watch?v=_IgqJr8jG8M\n[ebook]: https://evincarofautumn.gitbooks.io/programming-with-kitten/\n[initial release]: https://github.com/evincarofautumn/kitten/projects/1\n[contributing]: https://github.com/evincarofautumn/kitten/blob/master/CONTRIBUTING.md\n[gitter]: https://gitter.im/kittenlang/Lobby\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevincarofautumn%2Fkitten","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevincarofautumn%2Fkitten","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevincarofautumn%2Fkitten/lists"}