{"id":13836195,"url":"https://github.com/kspalaiologos/blc-mb","last_synced_at":"2025-07-10T13:32:12.542Z","repository":{"id":114322000,"uuid":"497373135","full_name":"kspalaiologos/blc-mb","owner":"kspalaiologos","description":"Binary Lambda Calculus evaluation engine written in Malbolge.","archived":false,"fork":false,"pushed_at":"2022-05-29T09:21:11.000Z","size":4310,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-02-17T06:36:12.579Z","etag":null,"topics":["functional-programming","lambda-calculus","malbolge"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kspalaiologos.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}},"created_at":"2022-05-28T16:35:36.000Z","updated_at":"2024-01-22T21:59:24.000Z","dependencies_parsed_at":"2024-01-13T16:46:23.871Z","dependency_job_id":"0a225df9-942f-46a9-b59f-0b35023a467e","html_url":"https://github.com/kspalaiologos/blc-mb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kspalaiologos/blc-mb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kspalaiologos%2Fblc-mb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kspalaiologos%2Fblc-mb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kspalaiologos%2Fblc-mb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kspalaiologos%2Fblc-mb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kspalaiologos","download_url":"https://codeload.github.com/kspalaiologos/blc-mb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kspalaiologos%2Fblc-mb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264585372,"owners_count":23632646,"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":["functional-programming","lambda-calculus","malbolge"],"created_at":"2024-08-04T15:00:38.265Z","updated_at":"2025-07-10T13:32:10.660Z","avatar_url":"https://github.com/kspalaiologos.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# blc-mb\n\nBinary Lambda Calculus evaluation engine written in Malbolge. Features:\n- Garbage collection\n- Monadic I/O\n- Tail call optimisation\n- Compatible with existing BLC8 programs\n\n## Usage\n\nSteps:\n- Navigate to the folder blc-vX.XX with the desired version.\n- If you have bzip3 installed, you can download the .bz3 archive as it's much smaller. If not, then download the other ones.\n- Unpack it.\n- Built fast20.c with clang. For most machines, `clang -O3 -march=native -mtune=native fast20.c -o f20` will do.\n\nExample programs:\n- `( cat examples/hilbert.Blc ; echo -n \"123\" ) | ./f20 blc.mb`\n- `( cat examples/reverse.Blc ; echo -n 'Hello, world!' ) | ./f20 blc.mb`\n- `echo \"*Hello\" | ./f20 blc.mb`\n\n## Issues you might stumble upon\n\n- If fast20 segfaults, then you most probably haven't pointed it towards a valid program to execute.\n- The interpreter might take a while to \"warm up\". For me, it seems to take around 30 seconds before starting to parse.\n- Parsing is pretty slow, expect the Hilbert curve program to take around 2 hours.\n- If you don't have a Linux machine or WSL, you're out of luck because fast20 doesn't work on Win32. PRs welcome!\n\nThere are a few error codes. The interpreter will not signal exhausting heap memory and will invoke undefined behavior.\n\n- `E00` - Unexpected EOF\n- `E01` - Memory exhausted.\n- `E02` - Unfinished expression.\n- `E03` - Referencing an undefined variable.\n- `E04` - Continuations exhausted.\n- `E05` - Malformed term.\n\n## Version history\n\n- `v0.01` - 48,175,489 bytes - Initial release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkspalaiologos%2Fblc-mb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkspalaiologos%2Fblc-mb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkspalaiologos%2Fblc-mb/lists"}