package goblint

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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.

OCaml

Innovation. Community. Security.