Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
* [Caml-list] [ANN] strymonas v2: library for highest-performance stream processing
@ 2022-09-19  5:47 Oleg
  0 siblings, 0 replies; only message in thread
From: Oleg @ 2022-09-19  5:47 UTC (permalink / raw)
  To: caml-list


As has just been announced at the OCAML 2022 workshop, the new,
re-written version of strymonas library is now available at

        https://strymonas.github.io

Strymonas is the stream processing library that achieves the highest
performance of existing OCaml streaming libraries, attaining the speed
and memory efficiency of hand-written state machines.  It supports
finite and infinite streams with the familiar declarative interface,
of any combination of map, filter, take(while), drop(while), zip,
flatmap combinators and tupling. Experienced users may use the
lower-level interface of stateful streams and implement accumulating
maps, compression and windowing.  The library is based on assured code
generation (at present, of OCaml and C) and guarantees in all cases
complete fusion.

Compared with the original strymonas (POPL 2017), the new version is
completely re-written and:
   -- Generates not only OCaml but also C (which needs no OCaml
      run-time and vectorizable)
   -- Has Core + code-generation Backends architecture:
      MetaOCaml is needed only for the OCaml backend and benchmarks;
      the Core and the C generation backend are pure OCaml.
      More backends can be easily added.
  -- The complete fusion is now achieved in all cases
  -- Supports both user-friendly and familiar declarative combinators,
     and low-level core of stafeful streams (which can be used together)
  -- Core streams support streams over tuples, records and even
     abstract data types
  -- Fusion is now performed as normalization-by-evaluation

The paper 
        https://strymonas.github.io/docs/ocaml-22.pdf
and the OCAML 2022 talk (soon to be available on YouTube's SIGPLAN channel,
among all other talks of the ICFP 2022 event) give more details. The
github repo contains the complete code of the library, examples and
all benchmarks.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-19  5:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-19  5:47 [Caml-list] [ANN] strymonas v2: library for highest-performance stream processing Oleg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox