{"id":17218824,"url":"https://github.com/nyuichi/mruby-partcont","last_synced_at":"2025-07-16T12:40:21.826Z","repository":{"id":10880865,"uuid":"13170108","full_name":"nyuichi/mruby-partcont","owner":"nyuichi","description":"partial continuation (a.k.a. delimited continuation) extension for mruby","archived":false,"fork":false,"pushed_at":"2013-10-04T14:32:08.000Z","size":104,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-27T13:51:15.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/nyuichi.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}},"created_at":"2013-09-28T09:02:38.000Z","updated_at":"2022-06-19T18:00:12.000Z","dependencies_parsed_at":"2022-08-29T20:30:13.682Z","dependency_job_id":null,"html_url":"https://github.com/nyuichi/mruby-partcont","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/nyuichi%2Fmruby-partcont","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyuichi%2Fmruby-partcont/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyuichi%2Fmruby-partcont/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyuichi%2Fmruby-partcont/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nyuichi","download_url":"https://codeload.github.com/nyuichi/mruby-partcont/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799114,"owners_count":21163396,"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":[],"created_at":"2024-10-15T03:48:13.944Z","updated_at":"2025-04-13T23:38:12.343Z","avatar_url":"https://github.com/nyuichi.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mruby-partcont\n\npartial continuation support for mruby.\n\n## Install\n\n```ruby\nMRuby::Build.new do |conf|\n\n    # ... (snip) ...\n\n    conf.gem :github =\u003e 'wasabiz/mruby-partcont'\nend\n```\n\nmruby-partcont does not depends on other libraries or extensions, but\nfor the safety it is highly recommended to add at the end of the gem build conf.\n\n## Example\n\n```ruby\nreset {\n  p 1\n  shift {|k|\n    p 2\n\tk.call()\n\tp 3\n  }\n  p 4\n}\n# 1\n# 2\n# 4\n# 3\n# =\u003e nil\n```\n\n## APIs\n\n- `Continuation class`\n\nRepresents a delimited continuation that cuts the process from where\nthe shift operator is called up to the nearest reset operator. Since continuations\nhave infinite extent, once they are created it is possible to call them anytime anywhere,\nand even however many times. When the continuation is cut (making a continuation closure),\nthe bottom of the stack of the delimited continuation is dynamically chosen.\n\n- `Kernel.#reset { ... } -\u003e value`\n- `Kernel.#shift {|k| ... } -\u003e value`\n\n## ToDos\n\n- control/prompt\n- full (undelimited) continuation support\n- documentation\n\n## auther\n\nYuichi Nishiwaki\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnyuichi%2Fmruby-partcont","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnyuichi%2Fmruby-partcont","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnyuichi%2Fmruby-partcont/lists"}