{"id":13749281,"url":"https://github.com/nixpulvis/lambash","last_synced_at":"2025-03-17T12:30:51.474Z","repository":{"id":142605736,"uuid":"189762002","full_name":"nixpulvis/lambash","owner":"nixpulvis","description":"A λ-calculus shell (because I love writing shells).","archived":false,"fork":false,"pushed_at":"2020-01-02T04:23:44.000Z","size":35,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-22T22:32:27.749Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nixpulvis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-06-01T17:48:26.000Z","updated_at":"2023-03-02T06:20:53.000Z","dependencies_parsed_at":"2023-04-21T09:46:45.136Z","dependency_job_id":null,"html_url":"https://github.com/nixpulvis/lambash","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nixpulvis%2Flambash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nixpulvis%2Flambash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nixpulvis%2Flambash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nixpulvis%2Flambash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nixpulvis","download_url":"https://codeload.github.com/nixpulvis/lambash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221676378,"owners_count":16861975,"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-08-03T07:00:58.421Z","updated_at":"2024-10-27T12:49:27.123Z","avatar_url":"https://github.com/nixpulvis.png","language":"Rust","funding_links":[],"categories":["Lambda Calculus"],"sub_categories":["Libraries"],"readme":"# `lambash`\n\nRun the shell with `cargo run`.\n\n```\n\\f.((\\x.x) date) -R -u f\n\n-p (λf.(((((λx.x) date) -R) -u) f))\n-\u003e (λf.(((date -R) -u) f))\n-η ((date -R) -u)\nFri, 11 Oct 2019 22:28:09 +0000\n```\n\n### λ Normalization\n\n```sh\n(\\x.x) 1\n-p ((λx.x) 1)\n-\u003e 1\n-η 1\n\n\\x.f x\n-p (λx.(f x))\n-\u003e (λx.(f x))\n-η f\n```\n\nA POSIX-like shell written for and using lambda calculus and it's derivatives.\n\n```sh\n# Application (foreground call).\n(λx.x) echo 1\n1\n(\\x.y) 2\ny: command not found\n\n# Abstraction (background call).\n\\.ping localhost\n\n# TODO\nλx.x\nλx.y\n\n```\n\n### Next Steps\n\n```\n# This is a comment.\n\n# Definition (syntactic)\nid := \\x.x\n\n# Assignment (semantic)\nipi = \\x.x 3.1415\n\n# Equality\n1 ≡ 1\nλx.x ≡ λx.x\nipi ≡ id 3.1415\nipi ≢ 3.1415\n\n# Primitives\n### Boolean\ntrue = true\ntrue ≠ false\n\n### Number\n0\n1.0\n3.1415\n271e-2\n\n### Character\n'f'\n‘β’\n\n### String\n\"foo\"\n“Γον”\n\n### Void / Null\nnull = void\n\n### None () / Tuple\n()\n(1, 2)\n\n### Array\n[]\n[1, 2]\n\n# POSIX\n\n### Path (all unbound variables will be treated as a path)\nfoo.rb\n./folder/file.ext\n/somewhere/else\nhttps://nixpulvis.com\n\n### Operations\nwrite foo.rb 3.1415\n()\n\nread foo.rb\n3.1415\n\nexecp cat foo.rb\n3.1415\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnixpulvis%2Flambash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnixpulvis%2Flambash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnixpulvis%2Flambash/lists"}