All Projects → odis-labs → streaming

odis-labs / streaming

Licence: ISC license
Fast, safe and composable streaming abstractions.

Programming Languages

ocaml
1615 projects
Makefile
30231 projects

Projects that are alternatives of or similar to streaming

FoldsCUDA.jl
Data-parallelism on CUDA using Transducers.jl and for loops (FLoops.jl)
Stars: ✭ 48 (-53.85%)
Mutual labels:  iterators, transducers
data-parallelism
juliafolds.github.io/data-parallelism/
Stars: ✭ 22 (-78.85%)
Mutual labels:  iterators, transducers
iterators
The missing PHP iterators.
Stars: ✭ 17 (-83.65%)
Mutual labels:  iterators
reasonml-idea-plugin
ReasonML Language Plugin for IDEA
Stars: ✭ 320 (+207.69%)
Mutual labels:  reasonml
rr-2048
2048 game in Reason React
Stars: ✭ 15 (-85.58%)
Mutual labels:  reasonml
bs-examples
some small examples showing how to use bucklescript/reason
Stars: ✭ 20 (-80.77%)
Mutual labels:  reasonml
reason-epitath
CPS sugar usage for React Render Props composition in ReasonML
Stars: ✭ 16 (-84.62%)
Mutual labels:  reasonml
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 (-87.5%)
Mutual labels:  iterators
ssfst
📜 Rewrite text in linear time.
Stars: ✭ 78 (-25%)
Mutual labels:  transducers
zestdb
ZestDB
Stars: ✭ 18 (-82.69%)
Mutual labels:  reasonml
hypatia
Convert JavaScript doctrings (in jsdoc AST format) to ijavascript Jupyter Notebooks
Stars: ✭ 12 (-88.46%)
Mutual labels:  reasonml
remotedata-re
Tools for fetching data from remote sources in Reason
Stars: ✭ 32 (-69.23%)
Mutual labels:  reasonml
bs-rsuite-ui-react
Reason bindings for React Suite UI library
Stars: ✭ 26 (-75%)
Mutual labels:  reasonml
blIteratorAPI
A template library for creating custom iterators
Stars: ✭ 22 (-78.85%)
Mutual labels:  iterators
reason-react-native-example
ReasonML React Native (Expo) example
Stars: ✭ 14 (-86.54%)
Mutual labels:  reasonml
bs-spectacle
No description or website provided.
Stars: ✭ 15 (-85.58%)
Mutual labels:  reasonml
app-template-rescript-react
Adding ReScript with rescript-react on top of @snowpack/app-template-react
Stars: ✭ 44 (-57.69%)
Mutual labels:  reasonml
bs-remotedata
RemoteData and WebData to use with bs-fetch for BuckleScript
Stars: ✭ 18 (-82.69%)
Mutual labels:  reasonml
lwt-node-starter
A simple starter for lwt-node
Stars: ✭ 13 (-87.5%)
Mutual labels:  reasonml
bs-declaredom
Strongly typed declarative markup for the DOM and CSS
Stars: ✭ 66 (-36.54%)
Mutual labels:  reasonml

Streaming

Streaming abstractions that combine, transform and reduce large amounts of sequential data efficiently, in constant space and without leaking resources.

Overview

Streaming uses composable stream producers (sources), consumers (sinks) and transformers (flows). The central model that abstracts over them is a Stream.

The following features are provided:

  • Constant memory usage: large or infinite streams can be computed in constant and small space. Buffering of the input is possible when needed.
  • Excellent performance: all models were designed with performance at the core. See benchmarks for detailed comparison with other libraries.
  • Resource safety: resources in effectful streaming pipelines are allocated lazily and released as early as possible. Resources are guaranteed to be terminated even when streams rise exceptions.
  • Flexibility: both push-based and pull-based models are implemented to allow efficient zipping, concatenation and other streaming operations.
  • Streaming notation: build streams and sinks using a convenient comprehension and applicative notations.

Read the library documenation for more details.

Acknowledgements

This library is based on ideas found in other libraries and research projects such as: Haskell's Pipes and Foldl libraries, Scala's ZIO Streams, Clojure's Transducers and the Iteratees streaming model by Oleg Kiselyov.

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].