package irmin-pack
Irmin backend which stores values in a pack file
Install
Dune Dependency
Authors
Maintainers
Sources
irmin-3.6.1.tbz
sha256=11fc2570bdbfd48478c89113fc801084a84a9a2c12d9bf8c64e05ce64ae19bd7
sha512=2171699ca24dec5c9c908a2676b272e034c14eb17f7052a794535e52af0be40be68a689e59c0a640ee244b11703320483f4d0c261542e6242ba23a8f1272b9b0
doc/src/irmin-pack.unix/import.ml.html
Source file import.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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
(* * Copyright (c)2018-2022 Tarides <contact@tarides.com> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *) include Irmin.Export_for_backends let src = Logs.Src.create "irmin-pack.unix" ~doc:"irmin-pack unix backend" module Log = (val Logs.src_log src : Logs.LOG) module Array = struct include Array let find_opt p a = let n = length a in let rec loop i = if i = n then None else let x = get a i in if p x then Some x else loop (succ i) in loop 0 end module List = struct include List let rec iter_result f = function | [] -> Ok () | hd :: tl -> Result.bind (f hd) (fun () -> iter_result f tl) end module Int63 = struct include Optint.Int63 let t = Irmin.Type.int63 module Syntax = struct let ( + ) = add let ( - ) = sub let ( * ) = mul let ( / ) = div let ( < ) a b = compare a b < 0 let ( <= ) a b = compare a b <= 0 let ( > ) a b = compare a b > 0 let ( >= ) a b = compare a b >= 0 let ( = ) = equal end end type int63 = Int63.t [@@deriving irmin] module Version = Irmin_pack.Version module type S = Irmin_pack.S module Conf = Irmin_pack.Conf module Layout = Irmin_pack.Layout module Indexable = Irmin_pack.Indexable module Result_syntax = struct let ( let+ ) res f = Result.map f res let ( let* ) = Result.bind let ( >>= ) = Result.bind end (** Essentially the Y combinator; useful for anonymous recursive functions. The k argument is the recursive call. Example: {[ iter_k (fun ~k n -> if n = 0 then 1 else n * k (n - 1)) ]} *) let iter_k f (x : 'a) = let rec k x = f ~k x in k x module Varint = struct type t = int [@@deriving irmin ~decode_bin] (** LEB128 stores 7 bits per byte. An OCaml [int] has at most 63 bits. [63 / 7] equals [9]. *) let max_encoded_size = 9 end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>