{"id":15706800,"url":"https://github.com/ingenious-c0der/beluga","last_synced_at":"2025-05-12T19:10:13.068Z","repository":{"id":65871714,"uuid":"594168868","full_name":"Ingenious-c0der/Beluga","owner":"Ingenious-c0der","description":"An esoteric programming language based on Turing Machines","archived":false,"fork":false,"pushed_at":"2024-04-28T11:53:44.000Z","size":167,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-04T20:28:41.179Z","etag":null,"topics":["automata","automaton","beluga","cpp","esoteric-programming-language","fsm","language-modeling","regex-engine","turing-machine","turing-machine-executor","turing-machine-simulator"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ingenious-c0der.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-27T19:03:23.000Z","updated_at":"2024-04-28T11:53:48.000Z","dependencies_parsed_at":"2024-04-28T12:44:59.797Z","dependency_job_id":null,"html_url":"https://github.com/Ingenious-c0der/Beluga","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ingenious-c0der%2FBeluga","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ingenious-c0der%2FBeluga/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ingenious-c0der%2FBeluga/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ingenious-c0der%2FBeluga/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ingenious-c0der","download_url":"https://codeload.github.com/Ingenious-c0der/Beluga/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221280707,"owners_count":16790705,"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":["automata","automaton","beluga","cpp","esoteric-programming-language","fsm","language-modeling","regex-engine","turing-machine","turing-machine-executor","turing-machine-simulator"],"created_at":"2024-10-03T20:28:38.955Z","updated_at":"2024-10-24T05:40:23.649Z","avatar_url":"https://github.com/Ingenious-c0der.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Beluga\n\n![logo](https://user-images.githubusercontent.com/76046349/215174192-1318ff0d-f4c1-466f-8896-a5893899429a.png)\n\nBeluga Language is an esoteric programming language based on fundamental implementations of a turing machine. Check the commits for latest updates, as of now the language can accomodate simulation of infinite tapes for turing machines and many more features with it.\n\n## [How to run Beluga on windows and macos](https://github.com/Ingenious-c0der/Beluga/blob/master/README.md#installation) ?\n\n### [Read the docs](https://github.com/Ingenious-c0der/Beluga/blob/master/documentation.md#welcome-to-beluga-docs)\n\nYou now have the power to directly write and run turing machines!\n\n### Sample Beluga Code (According to current design decisions)\n\nfirst.beluga\n\n```c#\n\n machine (beluga) =\u003e {\n    consumes : (null)\n    tape : ({t0,abbb^bab^bab},{t1,abbb^bbedr^})\n    def: (\n            {q0,q1} /* finite set of states */\n            {a,b} /* finite set of input symbols */\n            {\n                (q0,a,q0,a,-\u003e,t0,t0), /* transition */\n                (q0,b,q0,b,\u003c-,t0,t1), /* transition */\n                (q0,^,q1,^,-\u003e,t0,t1), /* transition */\n                (q1,a,q1,a,-\u003e,t1,t1), /* transition */\n                (q1,b,q1,b,-\u003e,t1,t1), /* transition */\n                (q1,^,q1,^,-\u003e,t0,t0), /* transition */\n             } /* finite set of transitions */\n            (q0) /* initial state  */\n            (^) /* blank symbol  */\n            (q1) /* final states */\n         ) /* tuple of 6 entities  */\n    ignoreUnknowns : (accept) /* ignore unknown tape symbols, basic booleans are accept (true) and reject (false) */\n    relay : {\n        onAccept: (console) /* available relays are console, null,turing Machine(pipelined) */\n        onReject: (null) /* available relays are console, null,turing Machine (pipelined) */\n    }\n}\n```\n\nhelloworld.beluga\n\n```c#\nmachine (helloWorld!) =\u003e {\n    consumes : (null)\n    tape : ({outputTape,^HelloWorld!^})\n    def: (\n            {q0,exit} /* finite set of states */\n            {H,e,l,o,W,o,r,d,!} /* finite set of input symbols */\n            {\n                (q0,l,q0,l,-\u003e,outputTape,outputTape), /* transition */\n                (q0,^,q0,^,-\u003e,outputTape,outputTape), /* transition */\n                (q0,H,q0,H,-\u003e,outputTape,outputTape), /* transition */\n                (q0,e,q0,e,-\u003e,outputTape,outputTape), /* transition */\n                (q0,o,q0,o,-\u003e,outputTape,outputTape), /* transition */\n                (q0,W,q0,W,-\u003e,outputTape,outputTape), /* transition */\n                (q0,r,q0,r,-\u003e,outputTape,outputTape), /* transition */\n                (q0,d,q0,d,-\u003e,outputTape,outputTape), /* transition */\n                (q0,!,exit,!,-\u003e,outputTape,outputTape) /* transition */\n            } /* finite set of transitions */\n            (q0) /* initial state  */\n            (^) /* blank symbol  */\n            (exit) /* final states */\n         ) /* tuple of 6 entities  */\n    ignoreUnknowns : (accept) /* ignore unknown tape symbols, basic booleans are accept (true) and reject (false) */\n    relay : {\n        onAccept: (console) /* available relays are console, null,turing Machine(pipelined) */\n        onReject: (console) /* available relays are console, null,turing Machine (pipelined) */\n    }\n}\n```\n\nOutput\n\n```c#\nhelloWorld! (Accept) :\noutputTape : ^HelloWorld!^\n```\n\n##### custom syntax highlighting is now available!\n\nGet the vscode extension [here](https://marketplace.visualstudio.com/items?itemName=Ingenious.bluefalltheme)\n\nThe language is designed to be simple, and easy to understand. In theory , it is capable of solving any problem that can be solved by a turing machine/ digital computer. Beluga supports multi tape turing machines\n\n## Installation\n\n### Windows\n\n#### 1. Download the beluga exe file from [here](https://github.com/Ingenious-c0der/Beluga/releases/download/v0.0.3/Beluga.exe)\n\n#### 2. Add the directory in which the exe is downloaded to your _PATH_ variable\n\nfor example if the beluga.exe lies in C:/Users/username/Desktop/src/beluga.exe then C:/Users/username/Desktop/src should be the path\n\n#### 3. You are good to go!\n\nRun the file as Beluga \u003cfilename.beluga\u003e\n\n![image](https://user-images.githubusercontent.com/76046349/216761110-0dfd9be5-f993-4a61-89e5-601086684d6d.png)\n\n### MacOS\n\n#### 1. Download the beluga exe file from [here](https://github.com/Ingenious-c0der/Beluga/releases/download/macos-support/beluga)\n\n#### 2. Add the directory in which the exe is downloaded to your _PATH_ variable\n\nThe path variable for apple silicon machines generally lies in /etc/paths unless it has been set to .zshrc or .bashrc manually.\n\n#### 3. You are good to go!\n\nRun the file as Beluga \u003cfilename.beluga\u003e\n\n\u003cimg width=\"698\" alt=\"image\" src=\"https://github.com/Ingenious-c0der/Beluga/assets/76046349/1cb1b5ee-3641-4127-9393-1f00cab0301a\"\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fingenious-c0der%2Fbeluga","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fingenious-c0der%2Fbeluga","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fingenious-c0der%2Fbeluga/lists"}