{"id":35273357,"url":"https://github.com/chemicallang/chemical","last_synced_at":"2026-02-14T15:04:45.064Z","repository":{"id":223319694,"uuid":"735372285","full_name":"chemicallang/chemical","owner":"chemicallang","description":"High Performance Native Programming Language With Minimal Syntax","archived":false,"fork":false,"pushed_at":"2026-02-11T18:13:37.000Z","size":26754,"stargazers_count":25,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-11T20:51:07.340Z","etag":null,"topics":["chemical","compiler","compilers","javascript","js-framework","language","llvm","lsp-server","programming-language","tinycc"],"latest_commit_sha":null,"homepage":"https://chemicallang.com","language":"C","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/chemicallang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"chemicallang","patreon":"wakaztahir","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"wakaztahir","custom":null}},"created_at":"2023-12-24T17:13:58.000Z","updated_at":"2026-02-11T18:13:40.000Z","dependencies_parsed_at":"2024-03-08T07:23:50.699Z","dependency_job_id":"ceb7cb8c-550c-4ace-bbb9-012fb6355008","html_url":"https://github.com/chemicallang/chemical","commit_stats":null,"previous_names":["qinetik/chemical","chemicallang/chemical"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/chemicallang/chemical","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chemicallang%2Fchemical","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chemicallang%2Fchemical/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chemicallang%2Fchemical/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chemicallang%2Fchemical/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chemicallang","download_url":"https://codeload.github.com/chemicallang/chemical/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chemicallang%2Fchemical/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29447768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T14:10:32.461Z","status":"ssl_error","status_checked_at":"2026-02-14T14:09:49.945Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["chemical","compiler","compilers","javascript","js-framework","language","llvm","lsp-server","programming-language","tinycc"],"created_at":"2025-12-30T13:16:11.500Z","updated_at":"2026-02-14T15:04:45.059Z","avatar_url":"https://github.com/chemicallang.png","language":"C","funding_links":["https://github.com/sponsors/chemicallang","https://patreon.com/wakaztahir","https://buymeacoffee.com/wakaztahir","https://github.com/sponsors/wakaztahir"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" style=\"display:grid;place-items:center;\"\u003e\r\n\u003cp\u003e\r\n    \u003ca href=\"https://chemical.qinetik.org/\" target=\"_blank\"\u003e\u003cimg height=\"220\" src=\"https://raw.githubusercontent.com/chemicallang/chemical/main/lang/assets/Logo.svg?sanitize=true\" alt=\"Chemical logo\"\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\u003ch1\u003eThe Chemical Programming Language\u003c/h1\u003e\r\n\r\n[Website](https://chemicallang.com)\r\n| [Docs](https://chemicallang.github.io/learn-chemical)\r\n| [Changelog](https://github.com/chemicallang/chemical/releases)\r\n| [Speed](https://chemicallang.com/speed)\r\n| [Contributing \u0026 compiler design](https://github.com/chemicallang/chemical/blob/main/CONTRIBUTING.md)\r\n\r\n\u003c/div\u003e\r\n\r\n\u003cdiv align=\"center\" style=\"display:grid;place-items:center;\"\u003e\r\n\r\n[![Sponsor][SponsorBadge]][SponsorUrl]\r\n[![Patreon][PatreonBadge]][PatreonUrl]\r\n[![Discord][DiscordBadge]][DiscordUrl]\r\n[![X][XBadge]][XUrl]\r\n\r\n\u003c/div\u003e\r\n\r\n## 🚀 Overview\r\n\r\nChemical is an innovative, performant, type-safe, and user-friendly programming language with a low memory footprint. It comes with first-class tooling out of the box, all customizable by developers.\r\n\r\n---\r\n\r\n\u003e [!IMPORTANT]  \r\n\u003e Chemical is in pre-alpha state, expect breaking changes and do not use in production.\r\n\r\n---\r\n\r\n## ⚙️ Installation\r\n\r\n1. Download \u0026 Extract the latest ZIP from the [Releases](https://github.com/chemicallang/chemical/releases) page.\r\n2. Inside the folder, run `./chemical --configure` or `./chemical.exe --configure`\r\n3. Verify by running `chemical -v`\r\n\r\n---\r\n\r\n## 🌟 Features\r\n\r\n- **Easy to Learn:** Master in under a week.\r\n- **Great IDE Support:** LSP with syntax highlighting, completions, diagnostics, and more.\r\n- **Compile-Time Evaluation:** Powerful `comptime` features.\r\n- **Low Memory Footprint:** Tiny executables, no garbage collector.\r\n- **Multiple Backends:** LLVM \u0026 C (both fully functional).\r\n- **C Interop:** Translate between C \u0026 Chemical.\r\n- **Flexible Build System:** Custom DSL for builds and modules.\r\n\r\n---\r\n\r\n## 📊 Progress \u0026 Roadmap\r\n\r\n| Component                     | Status         |\r\n|-------------------------------|----------------|\r\n| Lexer, Parser, Sym Res        | ✅              |\r\n| Native Codegen (LLVM)         | ✅              |\r\n| C Translation \u0026 TCC JIT       | ✅              |\r\n| Basic Build System            | ✅              |\r\n| Basic Multi-threading         | ✅              |\r\n| Basic LSP                     | ✅              |\r\n| Standard Library \u0026 Docs       | 🔄 In Progress |\r\n| Embedded Languages            | 🔄 In Progress |\r\n| Advanced LSP Support          | 🔄 Planned     |\r\n| Memory Management \u0026 Safety    | 🔄 Partial     |\r\n| Advanced Build System Support | 🔄 Planned     |\r\n| Comptime Features             | 🔄 Planned     |\r\n| Compiler Plugins              | 🔄 Planned     |\r\n| Mobile \u0026 Web Support          | 🔄 Planned     |\r\n\r\n---\r\n\r\n## 📚 Language Features\r\n\r\nThese features should give you an idea about features I have worked on\r\n\r\n- C-like syntax with structs \u0026 namespaces\r\n- Arrays, enums, unions\r\n- Native lambdas (with capture)\r\n- Macros \u0026 annotations\r\n- Implicit \u0026 explicit casting\r\n- Extension functions (like Kotlin)\r\n- Raw pointers \u0026 memory control\r\n- Full constructors \u0026 destructors\r\n- Explicit copying (`.copy()` required)\r\n- Comptime support \u0026 generics\r\n- Overloading, variants, type aliases\r\n- Trait \u0026 impl (Rust-like)\r\n- Name mangling \u0026 conflict detection\r\n\r\n---\r\n\r\n## 🛠️ Build (From Source)\r\n\r\n### Requirements\r\n\r\n- 8–16 GB RAM\r\n- C++ toolchain (for LSP)\r\n- LLVM (for compiler)\r\n- CLion or other IDE\r\n\r\n### Building Tiny CC Based Compiler Project (easy, fast)\r\n\r\n1. Clone this repo\r\n2. Inside the repo, run `./scripts/configure.sh` (on windows, git bash must be installed)\r\n3. If you are not going to install llvm/clang/lld use -DBUILD_COMPILER=OFF when generating the project\r\n    - in CLion, Settings -\u003e Build,Execution,Deployment -\u003e Cmake -\u003e Select CMake Profile put in Cmake Options -DBUILD_COMPILER=OFF \r\n4. Open the repo in IDE (in CLion, you'll get automatic build configurations)\r\n\r\nLSP also depends on Tiny CC Based Compiler Project and is built similarly\r\n\r\n### Building LLVM Based Compiler Project (takes time)\r\n\r\n1. Clone `chemical-bootstrap` repo in this organization (contains LLVM/CLANG)\r\n2. Run build scripts (`./build.bat` / `./build`) (this builds LLVM)\r\n3. Inside it, clone this repo\r\n4. Open this repo directory in terminal\r\n5. Run the configure script using `./scripts/configure.sh` (on windows, bash must be installed, usually comes with git)\r\n6. Open the repo in CLion\r\n\r\n#### LSP\r\n\r\n1. For LSP: clone `chemical-vscode`.\r\n2. There's a run configuration for compiling and launching extension\r\n3. Build and Launch the LSP server before launching the extension, The extension detects running lsp executable at port automatically\r\n\r\n*Open an issue for any build errors.*\r\n\r\n---\r\n\r\n# 🎯 Vision \u0026 Design Goals\r\n\r\n## Compiler plugins and language extensions — Scalability\r\n\r\nChemical exists to let you embed complex, domain-specific syntax into the language via compiler plugins. Extensions are first-class: add new syntax and behaviors without touching the core. Tooling (syntax highlighting, editor parsing) must continue to work for extended syntax. Scalability and extensibility are part of Chemical’s DNA.\r\n\r\n## Comprehensive features\r\n\r\nReal projects frequently need features a language didn’t originally include. Chemical aims to provide the capabilities you actually need while avoiding “syntax pollution.” Powerful, composable abstractions for library authors and power users come with sensible defaults and a gentle learning curve for beginners. The goal: lots of capability, minimal surprise.\r\n\r\n## Memory safety — without the cost of simplicity\r\n\r\nLong-term, Chemical will promote memory safety while keeping the language simple to use. Safety is a priority but not yet fully enforced — the initial focus is on core functionality and tooling. Once the core is stable, compiler-enforced safety checks will be added progressively; the beta compiler will enforce baseline safety guarantees.\r\n\r\n---\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome all contributions! See [CONTRIBUTING.md](https://github.com/chemicallang/chemical/blob/main/CONTRIBUTING.md) for guidelines.\r\n\r\n---\r\n\r\n## 📄 License\r\n\r\nChemical compiler is MIT-licensed and will remain open source. Use it freely—credit is appreciated but not required.\r\n\r\n---\r\n\r\n\u003c!-- Badges --\u003e\r\n[WorkflowBadge]: https://github.com/vlang/v/workflows/CI/badge.svg\r\n[DiscordBadge]: https://img.shields.io/discord/1206227290359337062?label=Discord\u0026logo=discord\u0026logoColor=white\r\n[PatreonBadge]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dwakaztahir%26type%3Dpatrons\u0026style=flat\r\n[SponsorBadge]: https://img.shields.io/github/sponsors/wakaztahir?style=flat\u0026logo=github\u0026logoColor=white\r\n[XBadge]: https://img.shields.io/badge/follow-%40qinetikorg-1DA1F2?logo=x\u0026style=flat\u0026logoColor=white\r\n\r\n[WorkflowUrl]: https://github.com/chemicallang/chemical/commits/main\r\n[DiscordUrl]: https://discord.gg/uYU4SV9avu\r\n[PatreonUrl]: https://patreon.com/wakaztahir\r\n[SponsorUrl]: https://github.com/sponsors/wakaztahir\r\n[XUrl]: https://x.com/qinetikorg","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchemicallang%2Fchemical","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchemicallang%2Fchemical","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchemicallang%2Fchemical/lists"}