{"id":13837984,"url":"https://github.com/c-cube/gen","last_synced_at":"2025-04-09T19:09:15.754Z","repository":{"id":14007032,"uuid":"16708502","full_name":"c-cube/gen","owner":"c-cube","description":"Simple, efficient iterators for OCaml","archived":false,"fork":false,"pushed_at":"2023-06-26T20:19:56.000Z","size":816,"stargazers_count":59,"open_issues_count":4,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-09T19:09:05.131Z","etag":null,"topics":["gen","generator","iterator","ocaml"],"latest_commit_sha":null,"homepage":"http://c-cube.github.io/gen/","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c-cube.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2014-02-10T20:36:01.000Z","updated_at":"2025-01-13T23:28:44.000Z","dependencies_parsed_at":"2024-01-13T17:12:07.118Z","dependency_job_id":"2bd24e1f-236e-4756-a08c-70d5e1d58c45","html_url":"https://github.com/c-cube/gen","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-cube%2Fgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-cube%2Fgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-cube%2Fgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-cube%2Fgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c-cube","download_url":"https://codeload.github.com/c-cube/gen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248094993,"owners_count":21046770,"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":["gen","generator","iterator","ocaml"],"created_at":"2024-08-04T15:01:32.608Z","updated_at":"2025-04-09T19:09:15.725Z","avatar_url":"https://github.com/c-cube.png","language":"OCaml","funding_links":[],"categories":["OCaml"],"sub_categories":[],"readme":"# Gen [![build](https://github.com/c-cube/gen/actions/workflows/main.yml/badge.svg)](https://github.com/c-cube/gen/actions/workflows/main.yml)\n\nIterators for OCaml, both restartable and consumable. The implementation\nkeeps a good balance between simplicity and performance.\n\nThe library is extensively tested using `qtest`. If you find a bug,\nplease report!\n\nThe documentation can be found [here](http://c-cube.github.io/gen/)\nthe main module is [Gen](https://github.com/c-cube/gen/blob/master/src/gen.mli)\nand should suffice for 95% of use cases.\n\n[Changelog](https://github.com/c-cube/gen/blob/master/CHANGELOG.md)\n\n## Native install\n\nInstallation in a native OCaml project, via [opam](https://opam.ocaml.org/):\n\n```sh\n$ opam install gen\n```\n\nor, manually, by building the library and running `make install`. Opam is\nrecommended, for it keeps the library up-to-date.\n\n## BuckleScript install\n\nInstallation in JavaScript, via [BuckleScript](https://bucklescript.github.io/bucklescript/Manual.html),\nin an [npm](https://npmjs.com/) project:\n\n1. Install this package:\n\n   ```sh\n   $ npm install bs-gen\n   ```\n\n2. Manually add `bs-gen` to your `bsconfig.json`'s `bs-dependencies`:\n\n   ```json\n   \"bs-dependencies\": [\n      ...\n      \"bs-gen\"\n   ],\n   ```\n\n## Use\n\nYou can either build and install the library (see \"Build\"), or just copy\nfiles to your own project. The last solution has the benefits that you\ndon't have additional dependencies nor build complications (and it may enable\nmore inlining).\n\nIf you have comments, requests, or bugfixes, please share them! :-)\n\n## Build\n\nThere are no dependencies except for `dune` for building. This should work with `OCaml\u003e=4.02`\n\n```sh\n$ make\n```\n\nTo build and run tests (requires `oUnit` and `qtest`):\n\n```sh\n$ opam install oUnit qtest\n$ make test\n```\n\n## License\n\nThis code is free, under the BSD license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-cube%2Fgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc-cube%2Fgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-cube%2Fgen/lists"}