package biocaml
The OCaml Bioinformatics Library
Install
Dune Dependency
Authors
Maintainers
Sources
biocaml-0.11.2.tbz
sha256=fae219e66db06f81f3fd7d9e44717ccf2d6d85701adb12004ab4ae6d3359dd2d
sha512=f6abd60dac2e02777be81ce3b5acdc0db23b3fa06731f5b2d0b32e6ecc9305fe64f407bbd95a3a9488b14d0a7ac7c41c73a7e18c329a8f18febfc8fd50eccbc6
doc/src/biocaml.base/lines.ml.html
Source file lines.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
module Parser = struct type state = | Current_line of { n : int ; value : Line.t } | Finished of { n : int } (* [n] represents the number of completed lines *) let initial_state = Current_line { n = 0 ; value = Line.empty ; } let line_number = function | Current_line { n ; value } -> if (String.equal (value :> string) "") then n else n + 1 | Finished { n } -> n let step st i = match st, i with | Finished _, _ -> st, [] | Current_line { n ; value }, None -> Finished { n }, if Line.is_empty value then [] else [ value ] | Current_line { n ; value }, Some input -> match Line.rightmost input with | None, line -> let value = Line.append value line in Current_line { n ; value }, [] | Some left, right -> match Line.parse_string left with | [] -> assert false (* [Line.parse_string] never returns an empty list *) | h :: t -> Current_line { n = n + List.length t + 1 ; value = right }, (Line.append value h) :: t end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>