{"id":20285559,"url":"https://github.com/csjh/mite","last_synced_at":"2025-04-11T08:39:04.915Z","repository":{"id":200912469,"uuid":"694440102","full_name":"csjh/mite","owner":"csjh","description":"A high performance language for Javascript accompaniment","archived":false,"fork":false,"pushed_at":"2024-05-22T04:20:44.000Z","size":438,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-22T12:44:23.312Z","etag":null,"topics":["compiler","javascript","language","programming-language","webassembly"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/csjh.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":"2023-09-21T02:15:23.000Z","updated_at":"2024-05-28T07:17:28.497Z","dependencies_parsed_at":null,"dependency_job_id":"1206993f-8ce9-4867-b2f9-79c8dd60b79c","html_url":"https://github.com/csjh/mite","commit_stats":null,"previous_names":["csjh/mite"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csjh%2Fmite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csjh%2Fmite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csjh%2Fmite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csjh%2Fmite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csjh","download_url":"https://codeload.github.com/csjh/mite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248362190,"owners_count":21091065,"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","javascript","language","programming-language","webassembly"],"created_at":"2024-11-14T14:27:30.321Z","updated_at":"2025-04-11T08:39:04.889Z","avatar_url":"https://github.com/csjh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Mite Programming Language\n\nMite is a programming language designed as a high-performance language to accompany Javascript. It compiles to a small, (hopefully) efficient WebAssembly binary using the binaryen toolchain. A major goal of the project is to keep language features to a minimum to prevent binary size bloat.\n\nThe compiler is written in Typescript at the moment, with plans to port it to C++ after a solid baseline PoC is established. The language itself is mostly inspired by C, with some other modern features that add minimal overhead which I find useful in other languages.\n\nMite was made to accompany my learning during my introduction to C university course, and is not intended for production use. Currently, it is not anywhere near feature complete.\n\n## Features\n\n-   All the basic arithmetic, logical, comparison, and bitwise operators\n-   Variables\n-   Functions\n-   If, for, while, do-while expressions\n-   Stack-allocated structs, arrays\n-   First class SIMD support\n\n## Roadmap\n\n\u003e In no particular order\n\n-   [x] 0-copy Mite -\u003e Javascript Interop (other than strings)\n-   [x] Javascript Helper Mode\n-   [ ] Standard Library\n-   [ ] Closures\n-   [ ] C++ Port\n-   [x] Heap [^1]\n-   [ ] (Graph-based?) IR for optimzations\n-   [x] Strings [^2]\n\n[^1]: A traditional heap (with malloc and free and stuff) is kinda iffy right now, unsure of where it will land atm.\n[^2]: This might be pending for the WebAssembly story for strings to be figured out. Right now it seems like one of `stringref` or `JS String Builtins`. String builtins could be polyfilled (albeit possibly slowly), so for now they might be what I go with.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsjh%2Fmite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsjh%2Fmite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsjh%2Fmite/lists"}