Idris2Doc : Structures.Dependent.FreshList

Structures.Dependent.FreshList

Reexports

importpublic Data.So

Definitions

(##) : e->FreshListfreshe->Bool
  Checks if a new element is 'fresh' against all the existing elements of the
given `FreshList`
@ e is the type of the elments in the list
@ x is the new element being checked for freshness
@ xs is the existing `FreshList`
@ fresh is the freshness criteria

Visibility: public export
Fixity Declaration: infix operator, level 4
(#) : e->FreshListfreshe->Type
  Wrapper for `##` that lifts the check up to the type level using `So`

Visibility: public export
Fixity Declarations:
infix operator, level 4
infixr operator, level 5
dataFreshList : (e->e->Bool) ->Type->Type
Totality: total
Visibility: public export
Constructors:
Nil : FreshListfreshe
(::) : (x : e) -> (xs : FreshListfreshe) -> {auto0_ : x#xs} ->FreshListfreshe

Hints:
Eqe=>Eq (FreshListfreshe)
Foldable (FreshListfresh)
Orde=>Ord (FreshListfreshe)
Showe=>Show (FreshListfreshe)
fromList : Liste->Maybe (FreshListfreshe)
  Attempt to convert a regular `List` to a `FreshList`

This will validate the freshness criteria as it goes along, returning `Just`
if all elements are fresh, and `Nothing` if any elements are non-fresh

@ fresh is the freshness criteria
@ e is the type of the elements in the list
@ xs is the list to convert

Visibility: public export
dataNonEmpty : FreshListfreshe->Type
  Witness that a FreshList is non-empty

Totality: total
Visibility: public export
Constructor: 
IsNonEmpty : NonEmpty (x::xs)
dataEmpty : FreshListfreshe->Type
  Witness that a FreshList is empty

Totality: total
Visibility: public export
Constructor: 
IsEmpty : Empty []
length : FreshListfreshe->Nat
  Return the number of elements in the provided `FreshList`

Visibility: export
find : (e->Bool) ->FreshListfreshe->Maybee
  Return the first element of this `FreshList` satisfying the given predicate,
if there is one

Visibility: export