All Projects → c-cube → gen

c-cube / gen

Licence: BSD-2-Clause license
Simple, efficient iterators for OCaml

Programming Languages

ocaml
1615 projects
Makefile
30231 projects

Projects that are alternatives of or similar to gen

Php Pdo Mysql Class
A PHP MySQL PDO class similar to the the Python MySQLdb, which supports iterator and parameter binding when using "WHERE IN" statement.
Stars: ✭ 213 (+407.14%)
Mutual labels:  iterator
spellbook
Functional library for Javascript
Stars: ✭ 14 (-66.67%)
Mutual labels:  iterator
deque
JavaScript implementation of a double-ended queue
Stars: ✭ 17 (-59.52%)
Mutual labels:  iterator
Staticvec
Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.
Stars: ✭ 236 (+461.9%)
Mutual labels:  iterator
AsyncIterator
An asynchronous iterator library for advanced object pipelines in JavaScript
Stars: ✭ 43 (+2.38%)
Mutual labels:  iterator
php-sorted-collections
Sorted Collections for PHP
Stars: ✭ 22 (-47.62%)
Mutual labels:  iterator
Rolling
Computationally efficient rolling window iterators for Python (including sum, min/max, median and more...)
Stars: ✭ 158 (+276.19%)
Mutual labels:  iterator
iterative
Functions for working with iterators in JavaScript and TypeScript
Stars: ✭ 16 (-61.9%)
Mutual labels:  iterator
betterator
💯 A better sync and async iterator API.
Stars: ✭ 57 (+35.71%)
Mutual labels:  iterator
php-collections
A collection library for php
Stars: ✭ 34 (-19.05%)
Mutual labels:  iterator
iterator-driver
迭代器驱动
Stars: ✭ 32 (-23.81%)
Mutual labels:  iterator
YANG
🔥 The most efficient, open-source, and unlimited discord nitro generator & checker. 🚀
Stars: ✭ 215 (+411.9%)
Mutual labels:  gen
staticstep
Provides truly zero-cost alternatives to Iterator::step_by for both incrementing and decrementing any type that satisfies RangeBounds<T: Copy + Default + Step>.
Stars: ✭ 13 (-69.05%)
Mutual labels:  iterator
Libdict
C library of key-value data structures.
Stars: ✭ 234 (+457.14%)
Mutual labels:  iterator
Iterators
A collection of useful iterators for Haxe
Stars: ✭ 21 (-50%)
Mutual labels:  iterator
Pydesignpattern
Design Pattern that described by Python, This is the source code for the book of Everybody Know Design Patterns.
Stars: ✭ 174 (+314.29%)
Mutual labels:  iterator
ctl
My variant of the C Template Library
Stars: ✭ 105 (+150%)
Mutual labels:  iterator
iterum
Handling iterables like lazy arrays.
Stars: ✭ 28 (-33.33%)
Mutual labels:  iterator
patterns
Good practices to create code in Java, open to other languages. ⚡
Stars: ✭ 14 (-66.67%)
Mutual labels:  iterator
thanker
Don't be a wanker, be a thanker! Automatically give thanks to Pypi packages you use in your project.
Stars: ✭ 25 (-40.48%)
Mutual labels:  gen

Gen build

Iterators for OCaml, both restartable and consumable. The implementation keeps a good balance between simplicity and performance.

The library is extensively tested using qtest. If you find a bug, please report!

The documentation can be found here the main module is Gen and should suffice for 95% of use cases.

Changelog

Native install

Installation in a native OCaml project, via opam:

$ opam install gen

or, manually, by building the library and running make install. Opam is recommended, for it keeps the library up-to-date.

BuckleScript install

Installation in JavaScript, via BuckleScript, in an npm project:

  1. Install this package:

    $ npm install bs-gen
  2. Manually add bs-gen to your bsconfig.json's bs-dependencies:

    "bs-dependencies": [
       ...
       "bs-gen"
    ],

Use

You can either build and install the library (see "Build"), or just copy files to your own project. The last solution has the benefits that you don't have additional dependencies nor build complications (and it may enable more inlining).

If you have comments, requests, or bugfixes, please share them! :-)

Build

There are no dependencies except for dune for building. This should work with OCaml>=4.02

$ make

To build and run tests (requires oUnit and qtest):

$ opam install oUnit qtest
$ make test

License

This code is free, under the BSD license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].