{"id":20317436,"url":"https://github.com/thimc/fungus","last_synced_at":"2025-07-21T06:33:07.163Z","repository":{"id":239812619,"uuid":"800662856","full_name":"thimc/fungus","owner":"thimc","description":"befunge-93 interpreter written in go","archived":false,"fork":false,"pushed_at":"2024-05-14T19:05:28.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-15T15:20:06.537Z","etag":null,"topics":["befunge-93","esolang","go","golang","interpreter"],"latest_commit_sha":null,"homepage":"","language":"Go","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/thimc.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}},"created_at":"2024-05-14T18:56:17.000Z","updated_at":"2024-05-15T15:20:17.061Z","dependencies_parsed_at":"2024-05-15T15:20:16.457Z","dependency_job_id":"dc90a50a-c151-4672-af49-07b7efc58931","html_url":"https://github.com/thimc/fungus","commit_stats":null,"previous_names":["thimc/fungus"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thimc/fungus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thimc%2Ffungus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thimc%2Ffungus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thimc%2Ffungus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thimc%2Ffungus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thimc","download_url":"https://codeload.github.com/thimc/fungus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thimc%2Ffungus/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253614,"owners_count":23900053,"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":["befunge-93","esolang","go","golang","interpreter"],"created_at":"2024-11-14T18:32:01.351Z","updated_at":"2025-07-21T06:33:02.154Z","avatar_url":"https://github.com/thimc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fungus\n\nfungus is a [Befunge-93](https://en.wikipedia.org/wiki/Befunge)\ninterpreter written in go. Befunge is a two-dimensional stack-based,\nreflective, esoteric programming language.\n\n| Instruction | Description |\n|------------|-------------|\n| 0-9        | Push this number onto the stack. |\n| +          | Addition: Pop a and b, then push a+b |\n| -          | Subtraction: Pop a and b, then push b-a |\n| *          | Multiplication: Pop a and b, then push a*b |\n| /          | Integer division: Pop a and b, then push b/a, rounded towards 0. |\n| %          | Modulo: Pop a and b, then push the remainder of the integer division of b/a. |\n| !          | Logical NOT: Pop a value. If the value is zero, push 1; otherwise, push zero. |\n| `          | Greater than: Pop a and b, then push 1 if b\u003ea, otherwise zero. |\n| \u003e          | Start moving right |\n| \u003c          | Start moving left |\n| ^          | Start moving up |\n| v          | Start moving down |\n| ?          | Start moving in a random cardinal direction |\n| _          | Pop a value; move right if value=0, left otherwise |\n| \\|         | Pop a value; move down if value=0, up otherwise |\n| \"          | Start string mode: push each character's ASCII value all the way up to the next \" |\n| :          | Duplicate value on top of the stack |\n| \\          | Swap two values on top of the stack |\n| $          | Pop value from the stack and discard it |\n| .          | Pop value and output as an integer followed by a space |\n| ,          | Pop value and output as ASCII character |\n| #          | Bridge: Skip next cell |\n| p          | A \"put\" call (a way to store a value for later use). Pop y, x, and v, then change the character at (x,y) in the program to the character with ASCII value v |\n| g          | A \"get\" call (a way to retrieve data in storage). Pop y and x, then push ASCII value of the character at that position in the program |\n| \u0026          | Ask user for a number and push it |\n| ~          | Ask user for a character and push its ASCII value |\n| @          | End program |\n| (space)    | No-op. Does nothing |\n\n## Building\n\n\tgo build -o fungus .\n\n## Usage\n\n\t./fungus \u003cfile.bf\u003e\n\n_NOTE: fungus will read from standard input if no arguments are passed_\n\n## License\n\nMIT\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthimc%2Ffungus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthimc%2Ffungus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthimc%2Ffungus/lists"}