{"id":20996829,"url":"https://github.com/sfultong/stand-in-language","last_synced_at":"2025-05-14T22:32:51.301Z","repository":{"id":72255978,"uuid":"80025211","full_name":"sfultong/stand-in-language","owner":"sfultong","description":"a simple total pure functional language, eventually to have powerful static checking and optimization","archived":false,"fork":false,"pushed_at":"2025-02-28T14:58:30.000Z","size":1670,"stargazers_count":33,"open_issues_count":18,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-03T00:04:59.056Z","etag":null,"topics":["language","pure-function"],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/sfultong.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":"2017-01-25T15:06:03.000Z","updated_at":"2024-05-19T18:28:27.000Z","dependencies_parsed_at":"2023-02-23T05:46:25.663Z","dependency_job_id":"2de83b88-210b-443a-993e-c5319d8b2e0f","html_url":"https://github.com/sfultong/stand-in-language","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/sfultong%2Fstand-in-language","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfultong%2Fstand-in-language/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfultong%2Fstand-in-language/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfultong%2Fstand-in-language/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfultong","download_url":"https://codeload.github.com/sfultong/stand-in-language/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254240170,"owners_count":22037836,"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":["language","pure-function"],"created_at":"2024-11-19T07:37:27.598Z","updated_at":"2025-05-14T22:32:47.737Z","avatar_url":"https://github.com/sfultong.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telomare\n\u003e A simple but robust virtual machine\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://github.com/Stand-in-Language/stand-in-language/actions/workflows/telomare-ci.yml/badge.svg\" /\u003e\n  \u003ca href=\"https://gitter.im/stand-in-language/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\"\n     title=\"Join the chat at https://gitter.im/stand-in-language/Lobby\"\u003e\n    \u003cimg src=\"https://badges.gitter.im/stand-in-language/Lobby.svg\" /\u003e \n  \u003c/a\u003e\n\u003c/p\u003e\n\n\nA virtual machine with a simple grammar evolved from simply typed lambda calculus, that eventually will have powerful static checking and an optimizing backend.\n\n## Warning\nThis project is in active development. Do expect bugs and general trouble, and please let us know if you run into any by creating a new issue if one does not already exist.\n\n## Quick Start\n\n1. Clone this repository and change directory to it:\n   ```\n   $ git clone https://github.com/Stand-In-Language/stand-in-language.git\n   $ cd stand-in-language\n   ```\n2. [Install Nix](https://nixos.org/nix/download.html):\n   ```\n   $ curl https://nixos.org/nix/install | sh\n   ```\n3. Optional (reduces build time by using telomare's cache):\n   ```\n   # Install cachix with nix-env or adding `cachix` to your `/etc/nixos/configuration.nix`'s' `environment.systemPackages` if in NixOS.\n   $ nix-env -iA cachix -f https://cachix.org/api/v1/install\n   $ cachix use telomare\n   ```\n4. Enter a Nix shell. This will setup an environment where all external dependencies will be available (such as `cabal` for building):\n   ```\n   $ nix-shell shell.nix\n   ```\n5. Build the project:\n   ```\n   $ cabal new-build\n   ```\n6. Run the tictactoe example and start playing with a friend (or run your own telomare file):\n   ```\n   $ cabal new-run telomare -- tictactoe.tel\n   ```\n7. Profit!\n\n## Running `cabal new-repl`\n\nThere is a known issue (#7) for getting a repl.\n\nTo get around it, you should copy `libgc.so.1` (provided by the `bohem` garbage collector) into your repository (telomare/lib is a good choice) and rename it to `libgc.so`. You will also need to reference it on `telomare.cabal` under the `library` stanza. Be sure to use the complete path for `libgc.so` on `telomare.cabal` (a commented version on `telomare.cabal` is provided as an example).\n\n## Telomare REPL\n1. Run:\n   ```\n   $ cd \u003cyour/local/proyect/location\u003e/telomare\n   $ nix-shell shell.nix\n   $ cabal new-build\n   $ cabal new-run telomare-repl -- --haskell\n   ```\n2. Profit!\n   \n## Contributing\nIf you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.\n\n## Links\n1. [A Better Model of Computation](http://sfultong.blogspot.com/2016/12/a-better-model-of-computation.html?m=1) by Sfultong\n2. [SIL: Explorations in non-Turing Completeness](http://sfultong.blogspot.com/2017/09/sil-explorations-in-non-turing.html?m=1) by Sfultong\n3. [Deconstructing Lambdas, Closures and Application](http://sfultong.blogspot.com/2018/04/deconstructing-lambdas-closures-and.html?m=1) by Sfultong\n4. [Join the community's chat](https://gitter.im/stand-in-language/Lobby)\n\n\n## Licensing\nThe code in this project is licensed under the Apache License 2.0. For more information, please refer to the [LICENSE file](https://github.com/Stand-In-Language/stand-in-language/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsfultong%2Fstand-in-language","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsfultong%2Fstand-in-language","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsfultong%2Fstand-in-language/lists"}