{"id":16986938,"url":"https://github.com/amrdeveloper/bee-lang","last_synced_at":"2025-07-24T18:18:01.568Z","repository":{"id":104908364,"uuid":"399227560","full_name":"AmrDeveloper/bee-lang","owner":"AmrDeveloper","description":"Bee is interpreted programming language for LangJam 2021 Created in less than 48h based on first-class comments theme","archived":false,"fork":false,"pushed_at":"2021-08-23T19:46:16.000Z","size":370,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-18T17:39:08.155Z","etag":null,"topics":["functional-programming","interpreter","java","langjam","langjam-0001","language","multithreading","object-oriented-programming"],"latest_commit_sha":null,"homepage":"","language":"Java","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/AmrDeveloper.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,"zenodo":null}},"created_at":"2021-08-23T19:38:56.000Z","updated_at":"2024-01-10T14:51:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f668c98f-6054-4cfc-a75c-8506bb7de106","html_url":"https://github.com/AmrDeveloper/bee-lang","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AmrDeveloper/bee-lang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fbee-lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fbee-lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fbee-lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fbee-lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmrDeveloper","download_url":"https://codeload.github.com/AmrDeveloper/bee-lang/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2Fbee-lang/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266886031,"owners_count":24001046,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["functional-programming","interpreter","java","langjam","langjam-0001","language","multithreading","object-oriented-programming"],"created_at":"2024-10-14T02:47:26.750Z","updated_at":"2025-07-24T18:18:01.559Z","avatar_url":"https://github.com/AmrDeveloper.png","language":"Java","readme":"# Bee Programming Language\n\nBee is interpreted programming language for LangJam 2021 (Created in less than 48h) based on first-class comments theme, the design of the syntax inspired from the comment style from many languages\n\n\u003cp align=\"center\"\u003e\n  Live List example in Bee\n  \u003cimg src=\"media/screenshots/LiveList.PNG\" width=\"100%\"\u003e\n    \n  Object Oriented Programming example in Bee\n  \u003cimg src=\"media/screenshots/Types.PNG\" width=\"100%\"\u003e\n    \n  Fibonacci example in Bee\n  \u003cimg src=\"media/screenshots/Fib.PNG\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## How to use it\n\nIn the bin directory you will find bee-lang.jar and example directory, the language require JAVA 8\n\nto run any example\n\n```\njava -jar bee-lang.jar \u003csource\u003e \u003coptions\u003e\n```\n\nRun without options\n```\njava -jar bee-lang.jar examples/Test.bee\n```\n\nRun with options\n```\njava -jar bee-lang.jar examples/Test.bee -a -n -c 4\n```\n\n## Options\n```\n-a                  Enable the alert comments\n-n                  Enable the note comments\n-c \u003cInteger\u003e        Set the number of cores to use\n-v                  Print the language version\n-h                  Print the options\n```\n\n\n## Documentation\n\n- Call function with 0 args\n\n```\n@call function_name\n```\n\n- Call function with args 1, 2\n\n```\n@call function_name with 1, 2\n```\n\n- Call method from type c\n\n```\n@call c-\u003efunction_name\n```\n\n- Call method from the same type\n\n```\n@call this-\u003efunction_name\n```\n\n- Call method from the parent type\n\n```\n@call super-\u003efunction_name\n```\n\n- Return with no value\n\n```\n#return\n```\n\n- Return with value\n\n```\n#return with 0\n```\n\n- Block\n\n```\n/*\n\n*/\n```\n\n- Function with 0 parameters\n\n```\n#function function_name\n/*\n\n*/\n```\n\n- Function with parameters\n\n```\n#function function_name take x, y\n/*\n\n*/\n```\n- Call function in other thread and wait for the result\n\n```\n#let future be @run function_name\n#let result be @wait future\n```\n\n- Loops\n\n```\n#loop 100\n/*\n\n*/\n\n#loop x \u003c 10\n/*\n    \n*/\n```\n\n\n### Features\n- Object Oriented Programming type, extend, constructor, this, super\n\n```\n#type Math\n/*\n    #function add\n    /*\n        #return with 3\n    */\n*/\n\n#type Vector extend Math\n/*\n    #function init\n    /*\n        @call println with \"Constructor\"\n    */\n\n     #function add\n     /*\n        #return with 2\n     */\n\n    #function callCurrentAdd\n    /*\n        #return with @call this-\u003eadd\n    */\n\n    #function callSuperAdd\n    /*\n        #return with @call super-\u003eadd\n    */\n*/\n\n#let v be @call Vector\n@call println with (@call v-\u003ecallCurrentAdd)\n@call println with (@call v-\u003ecallSuperAdd)\n@set @call v.x be 1\n@call println with @call v.x\n```\n\n- Functional Programming\n\n```\n#function printPlus take x, y\n/*\n    @call println with x + y\n*/\n\n#function callback take fun\n/*\n    @call fun with 1, 2\n*/\n\n@call callback with printPlus\n```\n\n- Run and wait keyword to run the function on other thread and return future so you can wait for it using wait keyword. \n\n```\n#function show\n/*\n    @call println with @call threadName\n*/\n\n#let t be @run show\n#let f be @wait t\n```\n\n- Load other file or all files in the directory!.\n\n```\n#load \"Service.bee\"\n#load \"Directory\"\n```\n\n- Collections Data Strcture module include Array, LinkedList, Stack and generic functions work for all of them.\n\n```\n#let size be 5\n/*\n     #let array be @call createArray\n\n     #let counter be 0\n     #loop counter \u003c size\n     /*\n         @call collectionAdd with array, (\"Hello \" + counter)\n         @change counter be counter + 1\n     */\n\n     @call println with array\n     @call println with (@call collectionGet with array, 2)\n*/\n\n/*\n     #let stack be @call createStack\n     #let counter be 0\n     #loop counter \u003c size\n     /*\n         @call collectionPush with stack, (\"Hello \" + counter)\n         @change counter be counter + 1\n     */\n\n     @call println with stack\n     @call println with (@call collectionGet with stack, 2)\n*/\n```\n\n- Input and OS Modules\n\n```\n@call println with \"Enter Your name :\"\n#let name be @call scanString\n\n@call print with \"Welcome \" + name\n\n@call sleep with 1000\n\n@call println with @call osName\n```\n\n- Alerts is used to help you in the work you can enable/disable them from the CLI\n\n```\n# todo \"Improve Performance\"\n# fix \"Don't forget to fix this issue\"\n# warn \"Remember that println return the size of the string :D\"\n```\n\n- Notes is like print or logs but you can enable/disable them from the CLI\n\n```\n--Array \u0026 LinkedList Example.\n--Stack Example\n```\n\n- Conditions if, loop\n- Binary, Logical and Bitwise expressions support\n\n- Group Expressions, You can group your expression inside ( )\n\n```\n(@call println with \"Hello, World\")\n```\n\nAll the examples are on bee-lang/bin/exampes, I hope you will enjoy and have fun with this project\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrdeveloper%2Fbee-lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famrdeveloper%2Fbee-lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrdeveloper%2Fbee-lang/lists"}