data Any : (0 _ : (a -> Type)) -> FreshList a neq -> Type
Here : {auto 0 fresh : x # xs} -> p x -> Any p (x :: xs)
There : {auto 0 fresh : x # xs} -> Any p xs -> Any p (x :: xs)
Uninhabited (Any p [])
data All : (0 _ : (a -> Type)) -> FreshList a neq -> Type
lookupWithProof : Any p xs -> (x : a ** p x)
lookup : Any p xs -> a
remove : Any p xs -> FreshList a neq
(!!) : All p xs -> (pos : Any q xs) -> p (lookup pos)
.toFreshList : All p xs -> FreshList (x : a ** p x) (neq `on` .fst)
0 .toFreshListFreshness : (rec : All p xs) -> y # xs -> (y ** {_:3734}) # rec .toFreshList
traverse : Applicative f => ((x : a) -> p x -> f (q x)) -> All p xs -> f (All q xs)
sequence : Applicative f => All (f . p) xs -> f (All p xs)
any : ((x : a) -> Dec (p x)) -> (xs : FreshList a neq) -> Dec (Any p xs)
isElem : DecEq a => (x : a) -> (xs : FreshList a neq) -> Dec (Any (\{arg:0} => x = {arg:0}) xs)
.update : Applicative f => All p xs -> (pos : Any q xs) -> (p (lookup pos) -> f (p (lookup pos))) -> f (All p xs)
map : ((x : a) -> p x -> q x) -> Any p xs -> Any q xs
Map a function
map : ((x : a) -> p x -> q x) -> All p xs -> All q xs
Map a function
mapSupport : ((pos : Any f xs) -> q (lookup pos)) -> All f xs -> All q xs
Map a function restricted to the support of the list
tabulate : ((x : a) -> p x) -> All p xs
foldl : (b -> a -> b) -> b -> All (const a) xs -> b
foldr : (a -> b -> b) -> b -> All (const a) xs -> b
insertWith : ((y : a) -> q y -> p y) -> (pos : Any q xs) -> All p (remove pos) -> All p xs
insertLookedup : (pos : Any q xs) -> p (lookup pos) -> All p (remove pos) -> All p xs