{"id":19110679,"url":"https://github.com/atlas77-lang/atlas77","last_synced_at":"2026-04-03T00:01:28.330Z","repository":{"id":117895202,"uuid":"583343610","full_name":"atlas77-lang/atlas77","owner":"atlas77-lang","description":"Atlas77 is a programming language in development written in Rust","archived":false,"fork":false,"pushed_at":"2026-03-24T16:01:10.000Z","size":4746,"stargazers_count":44,"open_issues_count":10,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-25T15:48:47.055Z","etag":null,"topics":["assembler","compiler","interpreter","language","programming-language","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/atlas77-lang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE-MIT.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-29T13:50:57.000Z","updated_at":"2026-03-24T16:02:05.000Z","dependencies_parsed_at":"2026-01-08T12:14:10.677Z","dependency_job_id":null,"html_url":"https://github.com/atlas77-lang/atlas77","commit_stats":{"total_commits":164,"total_committers":1,"mean_commits":164.0,"dds":0.0,"last_synced_commit":"cc31b89643ed8352eb5dbeebca103b7edd12d70c"},"previous_names":["redgear-studio/atlas77","redgear-studio/atlas-core","atlas77-lang/atlas77"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/atlas77-lang/atlas77","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas77-lang%2Fatlas77","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas77-lang%2Fatlas77/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas77-lang%2Fatlas77/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas77-lang%2Fatlas77/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atlas77-lang","download_url":"https://codeload.github.com/atlas77-lang/atlas77/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlas77-lang%2Fatlas77/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31319735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T23:57:25.032Z","status":"ssl_error","status_checked_at":"2026-04-02T23:57:06.281Z","response_time":89,"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":["assembler","compiler","interpreter","language","programming-language","rust"],"created_at":"2024-11-09T04:25:44.018Z","updated_at":"2026-04-03T00:01:28.323Z","avatar_url":"https://github.com/atlas77-lang.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/atlas77-lang/Atlas77\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"160\" height=\"160\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eAtlas77\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    An experimental statically typed systems programming language designed to be a goofy cousin to C++.\n    \u003cbr /\u003e\n    \u003ca href=\"https://atlas77-lang.github.io/atlas77-docs/docs/latest/index.html\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://atlas77-lang.github.io/atlas77-docs/playground.html\"\u003ePlayground\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/atlas77-lang/Atlas77/issues/new?labels=bug\u0026template=bug-report---.md\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/atlas77-lang/Atlas77/issues/new?labels=enhancement\u0026template=feature-request---.md\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\nAtlas77 is an experimental **statically typed wannabe systems language** designed around a **small core** and everything else be **userland**.\nIt compiles to C code, which is then compiled to machine code either using an external C compiler of your own (GCC/Clang/MSVC/...) or by using the embedded TinyCC compiler.\n\u003e [!Note]\n\u003e A cranelift/LLVM backend is planned for the future, but for now, I'll keep focusing on the C backend as it is easier for me.\n\nThe 2 core philosophies are simple:\n- **Keep the core language tiny, make everything else userland.**\n- **Safety opt-in: you pay for what you use.**\n\n\u003e [!Note] \n\u003e If you find the code to be messy, it's because it kinda is. I am sort of \"speedrunning\" the bootstrapping of the language, so the Rust implementation is not really the main focus right now.\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\n### Prerequisites\n\n* Rust Compiler\n  ```sh\n  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n  ```\n\nOr directly from their website: [Rust](https://www.rust-lang.org/tools/install)\n\n### Installation\n\n1. Install it from Cargo\n    ```sh\n    cargo install atlas_77\n    ```\n\n\u003e [!Note]\n\u003e I recommend you to build it yourself, as the version on Cargo is not up to date at all.\n\u003e The cargo version is lacking behind regarding bug fixes.\n\n2. Use it as a CLI\n    ```sh\n    atlas_77 --help\n    ```\n3. Enjoy!\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n## Usage\n\n### Hello World\n\n```\nimport \"std/io\"\nfun main() {\n    println(\"Hello, World!\");\n}\n```\n\n### Fibonacci Example\n\n```\nimport \"std/io\";\n\nfun fib(n: int64) -\u003e int64 {\n    if n \u003c= 1 {\n        return n;\n    }\n    return fib(n - 1) + fib(n - 2);\n}\n\nfun main() {\n    let n: int64 = 10;\n    print(fib(n));\n}\n```\n\n_For more examples, see the [examples folder](./examples/README.MD)_\n\n\u003c!-- FEATURES --\u003e\n## Features\n\n\n\u003c!-- ROADMAP --\u003e\n\n## Roadmap\n\n### v0.1 \u0026 v0.2\n\nThere never was any official v0.1 or v0.2 releases, they were just internal milestones.\n\n### v0.3 \"Foundation\"\n\n\u003e Deprecated, if you want to know more about the v0.3.x, check the releases page.\n\n- [v0.3 \"Foundation\"](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.3)\n- [v0.3.1](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.3.1)\n\n### v0.4 \"Keystone\"\n\n\u003e Deprecated, if you want to know more about the v0.4, check the releases page.\n\n\u003e [!Warning] \n\u003e This version no longer compiles for some reason, so the source code is still accessible, but you can't build it.\n\n- [v0.4 \"Keystone\"](https://github.com/atlas77-lang/Atlas77/tag/v0.4)\n\n### v0.5 \"Phoenix\"\n\nThe v0.5 was a complete rewrite of Atlas77, but because of some major design issues in syntax, semantic, memory\nmanagement, compiler and everything it didn't get any more updates after the v0.5.2 (which is still accessible).\n\n\u003e Deprecated, if you want to know more about the v0.5.x, check the releases page.\n\n- [v0.5 \"Phoenix\"](https://github.com/atlas77-lang/Atlas77/tag/v0.5)\n- [v0.5.1](https://github.com/atlas77-lang/Atlas77/tag/v0.5.1)\n- [v0.5.2](https://github.com/atlas77-lang/Atlas77/tag/v0.5.2)\n\n### v0.6.x \"Bastion\"\n\nThe v0.6.x series was a redesign of Atlas77 using everything that worked in the v0.5, but making it better and more consistent.\nIt introduced a lot of new features and improvements, including, but not limited to:\n- **Generics** for functions and structs (not for struct methods yet)\n- Multi file projects that works similarly to this semantically (yes it's bad, but it will be fixed in later versions):\n\u003e ```c\n\u003e #ifndef MYMODULE_ATLAS77\n\u003e #define MYMODULE_ATLAS77\n\u003e #endif\n\u003e ```\n- **Unions** to allow for more flexible data structures\n- **Enums**, only the C-like enums are supported for now\n- Static access to struct methods (no static fields yet)\n- **References** with `\u0026` and dereferencing with `*`\n\u003e NB: They are kinda broken in this version, it's fixed in v0.7.x\n- Improved standard library with more modules and functions\n- Many bug fixes and performance improvements\n- Introducing of `std::copyable` constraints for generics to allow only copyable types\n\u003e It's only there for the groundwork of move/copy semantics in v0.7.x\n\n\u003e Deprecated, if you want to know more about the v0.6.x, check the releases page.\n\n- [v0.6.0-dev](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.0-dev)\n- [v0.6.0-dev2](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.0-dev2)\n- [v0.6.0 \"Bastion\"](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.0)\n- [v0.6.1](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.1)\n- [v0.6.2](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.2)\n- [v0.6.3](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.3)\n- [v0.6.4](https://github.com/atlas77-lang/Atlas77/releases/tag/v0.6.4)\n\n### v0.7.x \"Covenant\"\n\nThis version will focus on correctness, fix\n\n- Introduction of **move/copy semantics** to enable safer code and automatic scope cleanup\n- Rework of the `_copy` constructor semantics\n- Expansion and stabilization of parts of the standard library\n- Introduction of `memcpy\u003cT\u003e(\u0026T) -\u003e T` for explicit shallow copies\n- Addition of a **HIR pretty printer** to inspect the output of the compiler after the last HIR pass.\n\n#### Stability and Refinement\n\n\u003e As the language is still in alpha (not 1.0 yet), I won't make \"alpha\"/\"beta\" build, it doesn't really make sense.\n\nThe beta phase (before v1.0.0) will focus on stabilizing the language. All features will be finalized,\ntested extensively, and optimized for real-world use. This phase will serve as a release candidate.\n\nSee the [open issues](https://github.com/atlas77-lang/Atlas77/issues) for a full list of proposed features (and known\nissues).\n\n### Philosophy\n\nI am making this language for myself, to learn more about programming languages, compilers, VMs and all that stuff.\n\nI'll try to make it easy to use, but still a bit \"cringey\". I hope I can at least hit one of the long-term goals.\n\n### Long-Term Goals\n\n- Bootstrapping the compiler in Atlas77 itself\n- Building a minimal ECS in pure Atlas77\n- Building a simple game engine with OpenGL bindings\n- Providing a package manager written in Atlas77\n- LSP support for editors\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any\ncontributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also\nsimply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n### Top contributors:\n\n\u003ca href=\"https://github.com/atlas77-lang/atlas77/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=atlas77-lang/atlas77\"/\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks).\n\n## Special thanks\n\nHere is a list of repositories that helped me a lot while making Atlas77:\n\u003e I either used them as inspiration, reference or learning material.\n\n- [Margarine](https://github.com/todaymare/margarine)\n- [Nova-Lang](https://github.com/pyrotek45/nova-lang/tree/main)\n- [Rust](https://github.com/rust-lang/rust)\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\nYour Name - [@Gipson62_8015](https://twitter.com/Gipson62_8015) - J.H.Gipson62@gmail.com\n\nProject Link: [https://github.com/atlas77-lang/Atlas77](https://github.com/atlas77-lang/Atlas77)\n\n\n[![Star History Chart](https://api.star-history.com/svg?repos=atlas77-lang/Atlas77\u0026type=Date)](https://star-history.com/#atlas77-lang/Atlas77\u0026Date)\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/atlas77-lang/Atlas77.svg?style=for-the-badge\n\n[contributors-url]: https://github.com/atlas77-lang/Atlas77/graphs/contributors\n\n[forks-shield]: https://img.shields.io/github/forks/atlas77-lang/Atlas77.svg?style=for-the-badge\n\n[forks-url]: https://github.com/atlas77-lang/Atlas77/network/members\n\n[stars-shield]: https://img.shields.io/github/stars/atlas77-lang/Atlas77.svg?style=for-the-badge\n\n[stars-url]: https://github.com/atlas77-lang/Atlas77/stargazers\n\n[issues-shield]: https://img.shields.io/github/issues/atlas77-lang/Atlas77.svg?style=for-the-badge\n\n[issues-url]: https://github.com/atlas77-lang/Atlas77/issues\n\n[license-shield]: https://img.shields.io/github/license/atlas77-lang/Atlas77.svg?style=for-the-badge\n\n[license-url]: https://github.com/atlas77-lang/Atlas77/blob/master/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlas77-lang%2Fatlas77","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatlas77-lang%2Fatlas77","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlas77-lang%2Fatlas77/lists"}