{"id":24917026,"url":"https://github.com/modula-dev/garter","last_synced_at":"2025-04-14T19:22:31.202Z","repository":{"id":60812257,"uuid":"484844992","full_name":"Modula-dev/garter","owner":"Modula-dev","description":"A high level Python-like Assembly Language","archived":false,"fork":false,"pushed_at":"2024-09-24T14:30:22.000Z","size":93,"stargazers_count":22,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"garter","last_synced_at":"2025-03-28T07:43:42.408Z","etag":null,"topics":["compiler","compiler-toolchain","cross-compiler","garter","garter-language","interpreter","language","object-oriented-programming","programming-language"],"latest_commit_sha":null,"homepage":"https://modula.dev/documentation","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Modula-dev.png","metadata":{"files":{"readme":"readme.md","changelog":null,"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":"2022-04-23T20:02:22.000Z","updated_at":"2025-01-27T09:48:59.000Z","dependencies_parsed_at":"2025-01-18T14:25:19.446Z","dependency_job_id":"b77044fb-c252-4162-b997-130a98ea6781","html_url":"https://github.com/Modula-dev/garter","commit_stats":null,"previous_names":["modula-dev/garter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Modula-dev%2Fgarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Modula-dev%2Fgarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Modula-dev%2Fgarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Modula-dev%2Fgarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Modula-dev","download_url":"https://codeload.github.com/Modula-dev/garter/tar.gz/refs/heads/garter","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248943415,"owners_count":21186958,"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":["compiler","compiler-toolchain","cross-compiler","garter","garter-language","interpreter","language","object-oriented-programming","programming-language"],"created_at":"2025-02-02T08:27:59.907Z","updated_at":"2025-04-14T19:22:31.179Z","avatar_url":"https://github.com/Modula-dev.png","language":null,"readme":"# Garter\n\nis an in-development programming language heavily influenced by\nDarkBasic, x86 Assembly, JavaScript, Python, and C\nand built from the ground-up on its own tooling and compiler toolchain\n\n## Update (September 24, 2024)\n\nGetting closer to having my prerelease, just finished moving so it's been a bit\nbut I just refactored a lot of the internals to make it a better _toolchain_.\nIf you're interested, I have info over on my website about\n[how the toolchain works](https://modula.dev/design),\nand the first pre-0.0.0 release is basically gonna look like\n```\ngarter\n  ↳ data\n    ↳ locale\n    ↳ assets\n  ↳ cli\n    ↳ args\n    ↳ daisy\n  ↳ frontends\n    ↳ garter-gy24\n      ↳ gasm\n      ↳ garter\n  ↳ backends\n    ↳ gyb\n      ↳ linker\n      ↳ disassembler\n    ↳ emitters\n      ↳ linux\n        ↳ x86 (32-bit)\n      ↳ windows\n      ↳ macos\n      ↳ c-lang\n        ↳ 64-bit\n        ↳ 32-bit\n  ↳ shared\n    ↳ symtables\n    ↳ string\n    ↳ file i/o\n    ↳ error and tui functions\n```\n\n\n## What's Included\n\nOut of the box, Garter provides a compiler toolchain\n[(compiler)](https://github.com/JohnAlexCO/garter)\n[(assembler)](https://github.com/JohnAlexCO/gasm)\n[(interpreter)](https://github.com/JohnAlexCO/gyb), \nand a lightweight standard library comparable to glibc.\n_Eventually_ Garter will also include additional libraries, \na [language server](https://github.com/JohnAlexCO/gyls), \nand a [package manager](https://github.com/JohnAlexCO/gib).\nDocumentation will also be available over at [Modula.dev](https://modula.dev/garter)\n\n## Implementation\n\nGarter is being written entirely in \n[gasm](https://github.com/JohnAlex.CO/gasm)(_Garter Assembly_)\nby the combination of hand-written code and using C helper functions.\nOnce `garter.gasm` is written, it will be compiled to \nexecutable binaries for 64-bit Windows, Linux, and MacOS,\nas well a bytecode file that can be run in \n[gyb](https://github.com/JohnAlexCO/gyb).\n\n## Resources\n\n__NOTE:__ There's a bug in the currently running version of [Weaver](https://modula.dev/weaver)\nthat is causing the `/garter` route that because certain browsers automagically add a `/` to\nthe end of the uri, and because of a small error in how uris are interally cast in the library,\ncauses an interal service error. If you navigate instead of `/garter?somequery`,\nor just to `/documentation` instead, the pages should work correctly.\n__I do plan to fix the bug in Weaver sometime soon, but finishing the assembler is my priority right now__.\n\n- [Garter Website](https://modula.dev/garter)\n- [YouTube Devlog](https://www.youtube.com/@moduladev)\n\n## Licensing \n\nThis project will be adopting a hybrid licensing model. The main project will ship with a Contributor License Agreement and the AGPLv3. \nAdditional materials and extensions will be available under a proprietary End-User License Agreement which stipulates that modifications to the language implementation must be made publicly available under the CLA and AGPL licenses.\nUsage of Garter's name and branding are permitted as long as they do not imply an endorsement by Modula or its contributors.\n\n[ ![Unlicense logo](https://unlicense.org/pd-icon.png) ](https://www.unlicense.org/)\n[ ![GNU Affero License Logo](https://www.gnu.org/graphics/agplv3-with-text-162x68.png) ](https://www.gnu.org/licenses/agpl-3.0.html)\n\n[Modula © 2024, All Rights Reserved](https://modula.dev)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodula-dev%2Fgarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodula-dev%2Fgarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodula-dev%2Fgarter/lists"}