{"id":20225260,"url":"https://github.com/one-language/one","last_synced_at":"2025-05-16T03:05:58.672Z","repository":{"id":34568342,"uuid":"139241077","full_name":"One-Language/One","owner":"One-Language","description":"One (onelang) is an open-source system programming language that makes it easy to build reliable, efficient and performant software. (release as soon) 1️⃣ 🕐 🩱 ","archived":false,"fork":false,"pushed_at":"2025-02-26T22:32:30.000Z","size":3254,"stargazers_count":289,"open_issues_count":31,"forks_count":57,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-05-14T12:27:29.347Z","etag":null,"topics":["compiler","compiler-backend","compiler-designs","compiler-frontend","compiler-optimization","compiler-tool","compilers-design","hacktoberfest","language","llvm","llvm-compiler","llvm-frontend","one","one-lang","onelang","open-source","programming","programming-language","programming-languages","self-hosting"],"latest_commit_sha":null,"homepage":"https://onelang.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/One-Language.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["One-Language"],"patreon":"onelanguage","open_collective":"onelang","ko_fi":"onelang","liberapay":"one","issuehunt":"One-Language","otechie":"one","custom":["https://www.buymeacoffee.com/onelang"]}},"created_at":"2018-06-30T10:41:21.000Z","updated_at":"2025-04-13T21:52:09.000Z","dependencies_parsed_at":"2023-02-19T15:45:50.514Z","dependency_job_id":"9a1ac1ec-6aa2-47b3-b4cf-b753b1e8be94","html_url":"https://github.com/One-Language/One","commit_stats":{"total_commits":1278,"total_committers":40,"mean_commits":31.95,"dds":0.5625978090766823,"last_synced_commit":"180c352309552f4e8eca0e7b81fafeddec64668f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/One-Language%2FOne","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/One-Language%2FOne/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/One-Language%2FOne/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/One-Language%2FOne/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/One-Language","download_url":"https://codeload.github.com/One-Language/One/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459088,"owners_count":22074605,"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-backend","compiler-designs","compiler-frontend","compiler-optimization","compiler-tool","compilers-design","hacktoberfest","language","llvm","llvm-compiler","llvm-frontend","one","one-lang","onelang","open-source","programming","programming-language","programming-languages","self-hosting"],"created_at":"2024-11-14T07:12:01.056Z","updated_at":"2025-05-16T03:05:58.613Z","avatar_url":"https://github.com/One-Language.png","language":"C","readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cp\u003e\n    \u003ca href=\"https://onelang.org/\"\u003e\n        \u003cimg width=\"150\" src=\"https://avatars.githubusercontent.com/u/40718659?s=200\u0026v=4\" alt=\"The One Programming Language\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n# The One Programming Language 💚 💙 🧡 🤍 💖 🖤\n\n[Onelang.org](https://onelang.org) |\n[Help wanted](https://github.com/One-Language/One/issues?q=is%3Aissue+is%3Aopen+label%3A%22Help+Wanted%22)\n\n\u003c!--\n[![Build Status][WorkflowBadge]][WorkflowUrl]\n--\u003e\n\n[![Patreon][patreonbadge]][patreonurl]\n[![Discord][discordbadge]][discordurl]\n[![Facebook][facebookbadge]][facebookurl]\n[![Instagram][instagrambadge]][instagramurl]\n[![Twitter][twitterurl]][twitterbadge]\n[![License][licensebadge]][licenseurl]\n\n[English](README.md)\n\u0026nbsp;\n[عربي](docs/README_AR.md)\n\u0026nbsp;\n[Español](docs/README_ES.md)\n\u0026nbsp;\n[فارسی](docs/README_FA.md)\n\u0026nbsp;\n[Filipino](docs/README_FIL.md)\n\u0026nbsp;\n[Français](docs/README_FR.md)\n\u0026nbsp;\n[Italiano](docs/README_IT.md)\n\u0026nbsp;\n[日本語](docs/README_JA.md)\n\u0026nbsp;\n[한국어](docs/README_KR.md)\n\u0026nbsp;\n[русский](docs/README_RU.md)\n\u0026nbsp;\n[Türkçe](docs/README_TR.md)\n\u0026nbsp;\n[Українська](docs/README_UK.md)\n\n\u003c/div\u003e\n\nWelcome to \u003ca href=\"https://onelang.org\"\u003eOne\u003c/a\u003e!\u003cbr\u003e\nIt is an open source, self-hosted, bootstrapping \u003cb\u003esystem programming language\u003c/b\u003e which makes it easy to\nbuild reliable and efficient software.\nIt is being developed by \u003ca href=\"https://github.com/BaseMax\"\u003eMax\u003c/a\u003e, \u003ca href=\"https://github.com/jbampton\"\u003eJohn\u003c/a\u003e and other open-source contributors.\n\n### Compiler for the One Language will be released in a few months\n\n\u003c!--\n    WRITE PROJECT MOTIVATION HERE\n--\u003e\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003ch2 id=\"table-of-contents\"\u003eTable of Contents\u003c/h2\u003e\n\u003cdetails open=\"open\"\u003e\n  \u003col\u003e\n    \u003cli\u003e\u003ca href=\"#features-of-one\"\u003eFeatures of \u003cb\u003eOne\u003c/b\u003e\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadMap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#code-examples\"\u003eCode Examples\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#get-involved\"\u003eGet Involved\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributors\"\u003eContributors\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003ch2 id=\"features-of-one\"\u003e➤ Features of One\u003c/h2\u003e\n\n- Simplicity\n- Compiler\n- Ability to create output file (x86_64, i386)\n- System Programming Language\n- Intermediate level\n- Network and API programming\n- Supports Web Programming (in the future)\n  - Automatic generation of corresponding code for both CSS and HTML. So you won't have to learn more than `One` language to develop a website\n  - Uses variables in CSS, so that we can obtain the colors or sizes from the database\n  - Auto minify the page results\n- Performance and high speed\n- Supports inline Assembly code (in the future)\n- Does not require specific libraries and tools on the user system in normal mode (in the future)\n- Does not require external runtime libraries in normal mode (in the future)\n- Does not require external compilers to do the compilation (in the future)\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003ch2 id=\"roadmap\"\u003e➤ RoadMap\u003c/h2\u003e\n\nGrammar of the `One` language is available [here](grammar.BNF).\n\n- [x] Lexer/Parser (Mostly)\n- [x] AST Tree\n- [x] VM\n- [ ] Code Generator (get inspired from LLVM-C)\n- [ ] Develop a runtime library and add features\n- [ ] Design web framework for the language\n- [ ] Rewrite compiler in the `One` language\n\n\u003c!--Include to a section about steps of installation--\u003e\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003ch2 id=\"code-examples\"\u003e➤ Code Examples\u003c/h2\u003e\n\u003c!--Will have to explain how variable assignment, control flow, function declaration and call etc work in the language--\u003e\n\n```c\nmain {\n   ret 0\n}\n```\n\n**Convert to C:**\n\n```c\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\nint main(int argc, char *argv[]) {\n   global_argc = argc;\n   global_argv = argv;\n   return (int) 0;\n}\n```\n\n---\n\n```c\ni32 main {\n   ret 10\n}\n```\n\n**Convert to C:**\n\n```c\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\nint main(int argc, char *argv[]) {\n   global_argc = argc;\n   global_argv = argv;\n   return (int) 10;\n}\n```\n\n---\n\n```c\nmain {\n   string in = \"Hello, World!\"\n   __ in\n   return in.length\n}\n```\n\n**Convert to C:**\n\n```c\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\nint main(int argc, char *argv[]) {\n   global_argc = argc;\n   global_argv = argv;\n   char *in = \"Hello, World!\";\n   printf(\"%s\\n\", in);\n   return (int) strlen(in);\n}\n```\n\n---\n\n**Another draft:**\n\n```c\nimport web\nhome {\n    _ \"Hi, Welcome\"\n}\nerror {\n    headers.add('HTTP/1.0 404 Not Found')\n    headers.add('content-type: text/html;charset=utf-8')\n    _ \"\u003ch1\u003e404\u003e\u003c/h1\u003e\"\n}\nmain {\n    if system.args.length === 2 {\n        port = system.args[1]\n    } else  {\n        port = 8080;\n    }\n    web.route.add(\"/\", home)\n    web.route.add(\"*\", error)\n    web.listen(port)\n    return 0\n}\n```\n\n---\n\n**Another draft:**\n\n```c\nerror {\n    headers.add('HTTP/1.0 404 Not Found')\n    headers.add('content-type: text/html;charset=utf-8')\n    _ `\u003c!doctype html\u003e\u003chtml\u003e\u003chead\u003e\u003ctitle\u003eError 404\u003c/title\u003e\u003cmeta charset=\"utf-8\"\u003e\u003c/head\u003e\u003cbody\u003e\u003ch1\u003e404\u003e\u003c/h1\u003e\u003c/body\u003e\u003c/html\u003e`\n}\n\nvs\n\nerror {\n    headers.add('HTTP/1.0 404 Not Found')\n    headers.add('content-type: text/html;charset=utf-8')\n    page {\n        title: 'Error 404'\n        label {\n            type: 'h1'\n            _ \"Not found!\"\n        }\n    }\n}\n```\n\n---\n\n### Old CLI Development\n\n```\nmain:\n   // __ \"Hello, World!\"\n   _ \"Hello,\"\n   io.write(' ')\n   io.write(\"World\")\n   __ '!'\nend\n```\n\n```\n@start\ncustomName:\n   _ \"Hello, World!\\n\"\nend\n```\n\n```\n@start\nvoid app:\n   __ \"Hello, World!\"\nend\n```\n\n```\n@start\nint customName:\n   _ \"Hello, World!\\n\"\n   return 0\nend\n```\n\n---\n\n### Old GUI Development: (Web, Software)\n\nThis architecture is being designed only for websites and native software. In the future, it will also be available for mobile apps (native).\u003cbr\u003e\nMobile structures are not yet complete and require more attention and thought.\u003cbr\u003e\u003cbr\u003eExample to demonstrate working of the language:\n\n```css\ntitle \"Name - Main\"\ndescription \"Descriptions\"\n/*\nKeyword tag not used in the software, only on the web.\n*/\nkeyword \"keywords\"\nstyle {\n  * {\n    margin 0\n    padding 0\n  }\n  header {\n    width \"100%\"\n    height \"auto\"\n  }\n  list {\n    color \"red\"\n  }\n  list item {\n    display \"inline\"\n    padding \"10px\"\n    background \"yellow\"\n  }\n}\nheader {\n  list {\n    item {\n      _ \"Home\"\n    }\n    item {\n      _ \"About\"\n    }\n    item {\n      _ \"Contact Us\"\n    }\n  }\n}\n```\n\n**Convert to CSS/HTML/JS base:**\n\n```html\n\u003chtml\u003e\n  \u003chead\u003e\n    \u003ctitle\u003eName - Main\u003c/title\u003e\n    \u003cmeta name=\"description\" content=\"Descriptions\" /\u003e\n    \u003cmeta name=\"keyword\" content=\"keywords\" /\u003e\n    \u003cstyle\u003e\n      * {\n        margin: 0;\n        padding: 0;\n      }\n      header {\n        width 100%;\n        height: auto;\n      }\n      ul {\n        color: red;\n      }\n      ul li {\n        display: inline;\n        padding: 10px;\n        background: yellow;\n      }\n    \u003c/style\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    \u003cheader\u003e\n      \u003cul\u003e\n        \u003cli\u003eHome\u003c/li\u003e\n        \u003cli\u003eAbout\u003c/li\u003e\n        \u003cli\u003eContact Us\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/header\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003ch2 id=\"getting-started\"\u003e➤ Getting Started\u003c/h2\u003e\n\nRefer to [this link](https://one-language.github.io/Document/#/) to start learning the language.\n\n\u003c!--Installation Steps--\u003e\n\n\u003c!--Prerequisites--\u003e\n\n#### Supported Environments\n\n- [x] GNU / Linux \u003c!--which Linux?--\u003e\n- [x] Windows\n- [ ] macOS (Not complete)\n- [ ] BSD\n\n\u003c!--Write more about the compiler--\u003e\n\u003c!--Steps--\u003e\n\u003c!--Building One from Source--\u003e\n\u003c!--Hello World in One--\u003e\n\u003c!--Tips to understand the language better--\u003e\n\u003c!--Filename extensions: `.one`--\u003e\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003c!--Get Involved--\u003e\n\u003ch2 id=\"get-involved\"\u003e➤ Get Involved\u003c/h2\u003e\n\nWe welcome all kinds of contributions, including bug reports, feature requests, documentation improvements etc.\nTo ask a question or open a discussion, create an issue or join the \u003ca href =\"https://discord.gg/sFCE2HcMCa\"\u003e\u003cb\u003eOne\u003c/b\u003e Discord Server\u003c/a\u003e.\n\nIf you are not familiar with how to make a pull request on GitHub then please read this [guide](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).\n\nIf you have decided to contribute, please first read the guidelines [here](CONTRIBUTING.md).\n\u003cbr\u003eYou can also help in the development of `One` by making some donations on [:heart: Patreon](https://www.patreon.com/onelanguage).\n\nThanks to all the \u003ca href =\"https://github.com/One-Language/One/graphs/contributors\"\u003econtributors\u003c/a\u003e!!\n\nIf you would like to contribute in the development of this project, you can mail us at: \u003cmaxbasecode@gmail.com\u003e\n\n\u003cbr\u003eCreated By Max Base @ 2019\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n\n\u003ch2 id=\"license\"\u003e➤ License\u003c/h2\u003e\n\n`One` is released under the GNU General Public License v3.0. Please refer to the terms in the \u003ca href=\"https://github.com/One-Language/One/blob/master/LICENSE\"\u003eLICENSE\u003c/a\u003e file included in the repository.\n\n\u003ch2 id=\"contributors\"\u003e➤ Contributors\u003c/h2\u003e\n\n\u003ca href=\"https://github.com/One-Language/One/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=One-Language/One\" alt=\"The One Contributors\"\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks/preview?repo=One-Language%2FOne).\n\n\u003c!--[![Gitter](https://badges.gitter.im/ET_lang/community.svg)](https://gitter.im/ET_lang/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)--\u003e\n\u003c!--[Official Community for a chat and discuss.](https://spectrum.chat/et?tab=chat)--\u003e\n\n[discordbadge]: https://img.shields.io/discord/834373930692116531?label=Discord\u0026logo=discord\u0026logoColor=white\n[facebookbadge]: https://img.shields.io/badge/Facebook-Up-brightgreen\n[instagrambadge]: https://img.shields.io/badge/Instagram-Up-brightgreen\n[licensebadge]: https://img.shields.io/github/license/One-Language/One\n[patreonbadge]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Donelanguage%26type%3Dpledges\n[twitterbadge]: https://twitter.com/onelangteam\n[discordurl]: https://discord.gg/sFCE2HcMCa\n[facebookurl]: https://www.facebook.com/onelangteam\n[instagramurl]: https://www.instagram.com/one.lang\n[licenseurl]: https://github.com/One-Language/One/blob/master/LICENSE\n[patreonurl]: https://patreon.com/onelanguage\n[twitterurl]: https://img.shields.io/twitter/follow/onelangteam.svg?style=flatl\u0026label=Follow\u0026logo=twitter\u0026logoColor=white\u0026color=1da1f2\n","funding_links":["https://github.com/sponsors/One-Language","https://patreon.com/onelanguage","https://opencollective.com/onelang","https://ko-fi.com/onelang","https://liberapay.com/one","https://issuehunt.io/r/One-Language","https://otechie.com/one","https://www.buymeacoffee.com/onelang","https://www.patreon.com/onelanguage"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fone-language%2Fone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fone-language%2Fone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fone-language%2Fone/lists"}