{"id":18026308,"url":"https://github.com/andrew-johnson-4/lambda-mountain","last_synced_at":"2025-03-27T01:31:08.783Z","repository":{"id":177963045,"uuid":"661157396","full_name":"andrew-johnson-4/lambda-mountain","owner":"andrew-johnson-4","description":"Tiny Functional Language Compiling to Assembly (7000 Lines of Code)","archived":false,"fork":false,"pushed_at":"2024-10-30T00:27:11.000Z","size":174889,"stargazers_count":17,"open_issues_count":190,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-30T00:41:21.344Z","etag":null,"topics":["assisted-reasoning","compiler","coq","css","functional-programming","html","macro-assembler","programming-language","self-hosting","static-site-generator","wasm","x86"],"latest_commit_sha":null,"homepage":"https://andrew-johnson-4.github.io/lambda-mountain/","language":"Assembly","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/andrew-johnson-4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"andrew-johnson-4","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-07-02T01:10:10.000Z","updated_at":"2024-10-30T00:26:48.000Z","dependencies_parsed_at":"2023-11-24T20:27:03.245Z","dependency_job_id":"17bc6472-a69b-43cb-97b5-fddfad784a81","html_url":"https://github.com/andrew-johnson-4/lambda-mountain","commit_stats":null,"previous_names":["andrew-johnson-4/-","andrew-johnson-4/lambda-mountain"],"tags_count":450,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrew-johnson-4%2Flambda-mountain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrew-johnson-4%2Flambda-mountain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrew-johnson-4%2Flambda-mountain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrew-johnson-4%2Flambda-mountain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrew-johnson-4","download_url":"https://codeload.github.com/andrew-johnson-4/lambda-mountain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245764638,"owners_count":20668453,"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":["assisted-reasoning","compiler","coq","css","functional-programming","html","macro-assembler","programming-language","self-hosting","static-site-generator","wasm","x86"],"created_at":"2024-10-30T08:06:05.952Z","updated_at":"2025-03-27T01:31:08.768Z","avatar_url":"https://github.com/andrew-johnson-4.png","language":"Assembly","funding_links":["https://github.com/sponsors/andrew-johnson-4"],"categories":[],"sub_categories":[],"readme":"# [Lambda Mountain](https://github.com/andrew-johnson-4/-/wiki)\n\nλ☶ (pronounced Lambda Mountain) is a typed macro assembler that provides a relatively clean implementation of **System F\u003c: with Specialization**.\n\n* [TUTORIAL](https://github.com/andrew-johnson-4/LSTS/wiki)\n* [WIKI](https://github.com/andrew-johnson-4/-/wiki)\n* [DOCS](https://andrew-johnson-4.github.io/lsts-language-reference/)\n* [DISCORD](https://discord.gg/sW2ksPY9jj)\n\n### Not Your Average Assembler\n\nDespite being an assembler, LM provides\n* self-hosting (LM is written in LM)\n* algebraic data types\n* parameterized code and data\n* hygienic macros\n* platform agnostic standard libraries\n\n### Why Such a Small Codebase?\n\nLM is currently about 4000 lines of code.\nLM solves an N by M Problem with language frontends vs language backends.\nThe LM project might interface with larger codebases that define frontends or backends, but the core LM Calculus can stay small.\n\n### What is a Fragment Assembler?\n\nAn assembler takes pieces of data and sticks them together. Assemblers don't always understand the meaning of what they do, they just do it.\n\nA fragment is a Key-Value Map of Strings to S-Expressions. This data structure permits more detailed manipulation of code than a typical assembler.\n\n### IDE Support\n\nCurrently, there is only Vim and NeoVim syntax highlighting.\n[instructions](./vim/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrew-johnson-4%2Flambda-mountain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrew-johnson-4%2Flambda-mountain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrew-johnson-4%2Flambda-mountain/lists"}