package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

dune-project
 Dependency

Authors

Maintainers

Sources

goblint-2.6.0.tbz
sha256=20d5b7332a9f6072ab9ba86c4a53b898eaf681286c56a8805c41850bbf3ddf41
sha512=7c7685cfcd9aa866bc40e813df2bfcb3c79b3d40e615d8d6d0939c5798b9d70dd7f2ba87a741f5ba0ce891e9d254627207fb28057f1f2f6611e4e0d128fd6a71

doc/goblint.std/Goblint_std/GobList/index.html

Module Goblint_std.GobListSource

Sourceval combine_short : 'a list -> 'b list -> ('a * 'b) list

The normal haskell zip that throws no exception

Sourceval assoc_eq_opt : ('a -> 'a -> bool) -> 'a -> ('a * 'b) list -> 'b option
Sourceval fold_left3 : ('a -> 'b -> 'c -> 'd -> 'a) -> 'a -> 'b list -> 'c list -> 'd list -> 'a
Sourceval for_all3 : ('a -> 'b -> 'c -> bool) -> 'a list -> 'b list -> 'c list -> bool
Sourceval fold_while_some : ('a -> 'b -> 'a option) -> 'a -> 'b list -> 'a option
Sourceval equal : 'a BatOrd.eq -> 'a list BatOrd.eq
Sourceval remove_common_prefix : ('a -> 'b -> bool) -> 'a list -> 'b list -> 'a list * 'b list

remove_common_prefix eq l1 l2 removes the common prefix (p) of l1 and l2 and returns the rest of both lists a pair (l1', l2'). Formally, p @ l1' = l1 and p @ l2' = l2 such that p has maximal length.

This can be used to check being a prefix in both directions simultaneously:

  • if l1' = [], then l1 is a prefix of l2,
  • if l2' = [], then l2 is a prefix of l1.

In other cases, the common prefix is not returned (i.e. reconstructed) for efficiency reasons.

  • parameter eq

    equality predicate for elements

Sourceval until_last_with : ('a -> bool) -> 'a list -> 'a list * 'a list

Given a predicate and a list, returns two lists (l1, l2). l1 contains the prefix of the list until the last element that satisfies the predicate, l2 contains all subsequent elements. The order of elements is preserved.

Sourcemodule Syntax : sig ... end

Open this to use applicative functor/monad syntax for list.