{"id":22731388,"url":"https://github.com/sno2/bsn","last_synced_at":"2025-04-14T00:36:53.201Z","repository":{"id":208355902,"uuid":"721433296","full_name":"sno2/bsn","owner":"sno2","description":"An implementation of the Bussin esoteric language","archived":false,"fork":false,"pushed_at":"2024-10-02T15:58:46.000Z","size":5048,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T14:52:07.983Z","etag":null,"topics":["esoteric-language","interpreter","programming-language","zig"],"latest_commit_sha":null,"homepage":"https://trybsn.vercel.app","language":"Zig","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/sno2.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":"2023-11-21T03:39:48.000Z","updated_at":"2025-01-16T00:26:37.000Z","dependencies_parsed_at":"2024-12-10T19:40:23.999Z","dependency_job_id":null,"html_url":"https://github.com/sno2/bsn","commit_stats":null,"previous_names":["sno2/bsn"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sno2%2Fbsn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sno2%2Fbsn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sno2%2Fbsn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sno2%2Fbsn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sno2","download_url":"https://codeload.github.com/sno2/bsn/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248803310,"owners_count":21164028,"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":["esoteric-language","interpreter","programming-language","zig"],"created_at":"2024-12-10T19:21:59.839Z","updated_at":"2025-04-14T00:36:53.180Z","avatar_url":"https://github.com/sno2.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./playground/public/logo.png\" width=\"150\" alt=\"bsn\"\u003e\n\nAn implementation of @face-hh 's\n[Bussin esoteric language](https://github.com/face-hh/bussin) written in Zig\nwith a custom bytecode virtual machine and component-based mark and sweep\ngarbage collector.\n\n## Playground\n\nThe playground is available at https://trybsn.vercel.app. It is the easiest way\nto play around with this interpreter.\n\n## Known Issues\n\n- The playground does not maintain extra newlines when transforming between the\n  BS and BSX formats.\n- The playground is not interactive. We currently run programs and display the\n  output from `println` calls at the end of the program. Although, after the\n  [self-hosted Zig compiler implements async again](https://github.com/ziglang/zig/issues/6025),\n  I will use it to add streaming IO.\n- Printing circular objects causes stack overflows.\n  ```\n  lit a be {} rn\n  a.a be a\n\n  \"Stack overflow\"\n  waffle(a)\n  ```\n- Parsing errors can have incorrect formatting in some cases.\n- Functions do not support capturing locals, but globals do work.\n  ```\n  bruh foo() {\n      lit a be 24\n\n      bruh bar() {\n          a\n      }\n\n      bar\n  }\n\n  \"This will fail because it does not know about 'a'\"\n  foo()()\n  ```\n- All other TODOs in the code.\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsno2%2Fbsn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsno2%2Fbsn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsno2%2Fbsn/lists"}