package regenerate

  1. Overview
  2. Docs
Regenerate is a tool to generate test-cases for regular expression engines

Install

Dune Dependency

Authors

Maintainers

Sources

regenerate-0.2.tbz
sha256=12495bc3692524dd62e7231e956df4afd7e6b69970deb865e8feafb232e734b2
sha512=b5886b07a9db6f0be8c1b6245aa856538eabf6327cf35b82cecee3dfb9e9fc6e6f3a710753c90919e161b975be2e49df47d5e4c211e6e68dabf677021cbd0df2

doc/src/regenerate.segments/ThunkListMemo.ml.html

Source file ThunkListMemo.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module Make (K : Sigs.OrderedMonoid) 
  : Sigs.S with type elt = K.t and type t = ThunkList.Make(K).t
= struct
  open OSeq
  include ThunkList.Make(K)
      
  let memoize f =
    let r = CCVector.create () in
    let rec f' i seq () =
      if i < CCVector.length r
      then CCVector.get r i
      else 
        let l = match seq() with
          | Nil -> Nil
          | Cons (x, tail) -> Cons (x, f' (i+1) tail)
        in
        CCVector.push r l;
        l
    in
    f' 0 f
end
OCaml

Innovation. Community. Security.