package seq
Compatibility package for OCaml's standard iterator type starting from 4.07
Install
Dune Dependency
Authors
Maintainers
Sources
v0.3.1.tar.gz
md5=de05d9dedd492fa4e3c0c87bc2792475
sha512=06ce767d3ec1532f8a2421d033f4d9dc5c08c9a27574754d456c31a71ecb9a3c33857591b7d24f85492dce679cd0da8c8985c9fb1a5b5a7f8588d90056b663b8
doc/src/seq/seq_redef.ml.html
Source file seq_redef.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
(**************************************************************************) (* *) (* OCaml *) (* *) (* Simon Cruanes *) (* *) (* Copyright 2017 Institut National de Recherche en Informatique et *) (* en Automatique. *) (* *) (* All rights reserved. This file is distributed under the terms of *) (* the GNU Lesser General Public License version 2.1, with the *) (* special exception on linking described in the file LICENSE. *) (* *) (**************************************************************************) (* Module [Seq]: functional iterators *) type +'a node = | Nil | Cons of 'a * 'a t and 'a t = unit -> 'a node let empty () = Nil let return x () = Cons (x, empty) let rec map f seq () = match seq() with | Nil -> Nil | Cons (x, next) -> Cons (f x, map f next) let rec filter_map f seq () = match seq() with | Nil -> Nil | Cons (x, next) -> match f x with | None -> filter_map f next () | Some y -> Cons (y, filter_map f next) let rec filter f seq () = match seq() with | Nil -> Nil | Cons (x, next) -> if f x then Cons (x, filter f next) else filter f next () let rec flat_map f seq () = match seq () with | Nil -> Nil | Cons (x, next) -> flat_map_app f (f x) next () (* this is [append seq (flat_map f tail)] *) and flat_map_app f seq tail () = match seq () with | Nil -> flat_map f tail () | Cons (x, next) -> Cons (x, flat_map_app f next tail) let fold_left f acc seq = let rec aux f acc seq = match seq () with | Nil -> acc | Cons (x, next) -> let acc = f acc x in aux f acc next in aux f acc seq let iter f seq = let rec aux seq = match seq () with | Nil -> () | Cons (x, next) -> f x; aux next in aux seq
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>