this repo has no description
1opam-version: "2.0" 2maintainer: "Didier Le Botlan <github.lebotlan@dfgh.net>" 3authors: "Didier Le Botlan <github.lebotlan@dfgh.net>" 4homepage: "https://github.com/lebotlan/ocaml-exenum" 5bug-reports: "https://github.com/lebotlan/ocaml-exenum/issues" 6license: "MIT" 7dev-repo: "git+https://github.com/lebotlan/ocaml-exenum.git" 8build: [ 9 ["dune" "subst"] {dev} 10 ["dune" "build" "-p" name "-j" jobs] 11] 12depends: [ 13 "ocaml" {>= "4.02.3"} 14 "dune" 15 "zarith" 16] 17depopts: "lwt" 18conflicts: [ 19 "lwt" {>= "4.0.0"} 20] 21synopsis: 22 "Build efficient enumerations for datatypes. Inspired by Feat for Haskell." 23description: """ 24The exenum library offers constructors to build enumerations for 25datatypes, that is, functions from (arbitrarily large) integers to 26values. Such enumerations are typically used for unit testing. The 27library is efficient: the n-th element of an enumeration is returned 28without having computed the (n-1) previous elements. Complexity is in 29log(n), except for some pathological datatypes. See the homepage for 30details: https://github.com/lebotlan/ocaml-exenum 31Inspired by Feat: Functional Enumeration of Algebraic Types, by 32Duregard, Jansson, Wang, Chalmers University. 33 34As an example, consider the following datatype: 35type term = Var of string | App of term * term | Lambda of string * term 36 37Using exenum, one may easily generate zillions of different 38lambda-terms. In our specific example, term number 2000000000000 39happens to be 40((((x v) (fun u -> y)) ((fun u -> y) (fun y -> y))) (((x 41v) (fun u -> v)) (fun u -> y)))""" 42url { 43 src: "https://github.com/lebotlan/ocaml-exenum/archive/0.86.tar.gz" 44 checksum: [ 45 "sha256=42a0112e2e4e85d43b5dbe207c7d118816253145ed89887b1036745de34df80f" 46 "md5=a4854a0286dfd8bcb3f34003365195a9" 47 ] 48}