{"id":21202688,"url":"https://github.com/minoki/icfpc2006","last_synced_at":"2025-08-20T19:08:36.981Z","repository":{"id":66929143,"uuid":"410906405","full_name":"minoki/icfpc2006","owner":"minoki","description":"My solutions to ICFP Programming Contest 2006 \"The Cult of the Bound Variable\", including JITting VM for the Universal Machine","archived":false,"fork":false,"pushed_at":"2023-10-24T13:05:35.000Z","size":457,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-10T15:09:16.251Z","etag":null,"topics":["icfp2006"],"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/minoki.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}},"created_at":"2021-09-27T13:58:12.000Z","updated_at":"2024-12-10T13:45:57.000Z","dependencies_parsed_at":"2023-02-23T04:31:04.111Z","dependency_job_id":"5665e506-d88e-4501-9691-1ed4984b3143","html_url":"https://github.com/minoki/icfpc2006","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minoki%2Ficfpc2006","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minoki%2Ficfpc2006/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minoki%2Ficfpc2006/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minoki%2Ficfpc2006/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minoki","download_url":"https://codeload.github.com/minoki/icfpc2006/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243655845,"owners_count":20326154,"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":["icfp2006"],"created_at":"2024-11-20T20:17:42.641Z","updated_at":"2025-03-14T22:28:28.623Z","avatar_url":"https://github.com/minoki.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My solutions to ICFP Programming Contest 2006 \"The Cult of the Bound Variable\"\n\n\u003chttp://boundvariable.org/\u003e\n\n## The Universal Machine\n\n* [run.c](run.c)\n    * Simple VM using `switch`.\n* [run_threaded.c](run_threaded.c)\n    * Threaded VM using computed goto.\n* [run_threaded_switch.c](run_threaded_switch.c)\n    * Threaded (?) VM using `switch`.\n* [run_directthreaded.c](run_directthreaded.c)\n    * Direct-threaded VM using computed goto.\n* [run_directthreaded_tailcall.c](run_directthreaded_tailcall.c)\n    * Direct-threaded VM using tail calls.\n* [aarch64/run_jit.c](aarch64/run_jit.c)\n    * JIT-compiling VM for AArch64.\n* [x86_64/run_jit.c](x86_64/run_jit.c)\n    * JIT-compiling VM for x86_64.\n\n参考：\n\n* [YARV Maniacs 【第 3 回】 命令ディスパッチの高速化](https://magazine.rubyist.net/articles/0008/0008-YarvManiacs.html)\n* [JITあれこれ | κeenのHappy Hacκing Blog](https://keens.github.io/blog/2018/12/01/jitarekore/)\n* [WASM3の末尾呼び出しVMがかしこい - Qiita](https://qiita.com/okuoku/items/ed52f48ce871f429759e)\n\n## codex.umz\n\n* [extract.lua](extract.lua)\n    * Extract `umix.um` from `codex.umz`'s output. Use as `make umix.um`.\n* [extract-CBV.hs](extract-CBV.hs)\n    * Extract CBV's logo as a PNG image.\n\n![](CBV.png)\n\n## QVICKBASIC (BASIC)\n\n* [hack3.bas](hack3.bas)\n    * A program to obtain passwords for `ftd`, `ohmega`, and `howie`.\n\n## Adventure (ADVTR)\n\nSee [adventure/README.md](adventure/README.md).\n\n## 2D (CIRCS)\n\n* [2d/mult.sml](2d/mult.sml)\n* [2d/reverse.sml](2d/reverse.sml)\n* [2d/raytrace.sml](2d/raytrace.sml)\n\n## Antomaton (ANTWO)\n\n* [antomaton/puzzle1sol.txt](antomaton/puzzle1sol.txt)\n* [antomaton/puzzle2sol.txt](antomaton/puzzle2sol.txt)\n* [antomaton/puzzle3sol.txt](antomaton/puzzle3sol.txt)\n* [antomaton/puzzle5sol.txt](antomaton/puzzle5sol.txt)\n* [antomaton/puzzle15sol.txt](antomaton/puzzle15sol.txt)\n\n## Balance (BLNCE)\n\nSee [balance/README.md](balance/README.md).\n\n## Black Knots (BLACK)\n\nSee [blackknots/README.md](blackknots/README.md).\n\n## Advise / O'Cult (ADVIS)\n\n* [ocult/arith.adv](ocult/arith.adv)\n* [ocult/xml.adv](ocult/xml.adv)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminoki%2Ficfpc2006","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminoki%2Ficfpc2006","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminoki%2Ficfpc2006/lists"}