Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/include/List.hi

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


interface List where {
infixl  9 Prelude.!!;
infix   4 `Prelude.notElem`;
infix   4 `Prelude.elem`;
infixr  5 Prelude.++;
infix   5 \\;
infixr  5 Prelude.:;

interface ! Prelude
{-# NEED any #-}
any{-# 1 #-}::((a -> Prelude.Bool) -> ([a] -> Prelude.Bool));

{-# NEED (!!) #-}
(!!){-# 2 #-}::([a] -> (Prelude.Int -> a));

{-# NEED last #-}
last{-# 1 #-}::([a] -> a);

{-# NEED init #-}
init{-# 1 #-}::([a] -> [a]);

{-# NEED product #-}
product{-# 0 #-}::(Prelude.Num a) => ([a] -> a);

{-# NEED repeat #-}
repeat{-# 1 #-}::(a -> [a]);

{-# NEED concat #-}
concat{-# 0 #-}::([[a]] -> [a]);

{-# NEED splitAt #-}
splitAt{-# 2 #-}::(Prelude.Int -> ([a] -> ([a],[a])));

{-# NEED unlines #-}
unlines{-# 0 #-}::([Prelude.String] -> Prelude.String);

{-# NEED lines #-}
lines{-# 1 #-}::(Prelude.String -> [Prelude.String]);

{-# NEED unwords #-}
unwords{-# 1 #-}::([Prelude.String] -> Prelude.String);

{-# NEED words #-}
words{-# 1 #-}::(Prelude.String -> [Prelude.String]);

{-# NEED scanr #-}
scanr{-# 3 #-}::((a -> (b -> b)) -> (b -> ([a] -> [b])));

{-# NEED filter #-}
filter{-# 2 #-}::((a -> Prelude.Bool) -> ([a] -> [a]));

{-# NEED foldr #-}
foldr{-# 3 #-}::((a -> (b -> b)) -> (b -> ([a] -> b)));

{-# NEED or #-}
or{-# 0 #-}::([Prelude.Bool] -> Prelude.Bool);

{-# NEED lookup #-}
lookup{-# 2 #-}::(Prelude.Eq a) => (a -> ([(a,b)] -> (Prelude.Maybe b)));

{-# NEED drop #-}
drop{-# 2 #-}::(Prelude.Int -> ([a] -> [a]));

{-# NEED unzip #-}
unzip{-# 0 #-}::([(a,b)] -> ([a],[b]));

{-# NEED zip #-}
zip{-# 0 #-}::([a] -> ([b] -> [(a,b)]));

{-# NEED concatMap #-}
concatMap{-# 1 #-}::((a -> [b]) -> ([a] -> [b]));

{-# NEED map #-}
map{-# 2 #-}::((a -> b) -> ([a] -> [b]));

{-# NEED span #-}
span{-# 2 #-}::((a -> Prelude.Bool) -> ([a] -> ([a],[a])));

{-# NEED maximum #-}
maximum{-# 1 #-}::(Prelude.Ord a) => ([a] -> a);

{-# NEED minimum #-}
minimum{-# 1 #-}::(Prelude.Ord a) => ([a] -> a);

{-# NEED sum #-}
sum{-# 0 #-}::(Prelude.Num a) => ([a] -> a);

{-# NEED notElem #-}
notElem{-# 1 #-}::(Prelude.Eq a) => (a -> ([a] -> Prelude.Bool));

{-# NEED elem #-}
elem{-# 1 #-}::(Prelude.Eq a) => (a -> ([a] -> Prelude.Bool));

{-# NEED scanl #-}
scanl{-# 3 #-}::((a -> (b -> a)) -> (a -> ([b] -> [a])));

{-# NEED null #-}
null{-# 1 #-}::([a] -> Prelude.Bool);

{-# NEED all #-}
all{-# 1 #-}::((a -> Prelude.Bool) -> ([a] -> Prelude.Bool));

{-# NEED tail #-}
tail{-# 1 #-}::([a] -> [a]);

{-# NEED foldl #-}
foldl{-# 3 #-}::((a -> (b -> a)) -> (a -> ([b] -> a)));

{-# NEED break #-}
break{-# 1 #-}::((a -> Prelude.Bool) -> ([a] -> ([a],[a])));

{-# NEED zipWith #-}
zipWith{-# 3 #-}::((a -> (b -> c)) -> ([a] -> ([b] -> [c])));

{-# NEED length #-}
length{-# 1 #-}::([a] -> Prelude.Int);

{-# NEED iterate #-}
iterate{-# 2 #-}::((a -> a) -> (a -> [a]));

{-# NEED replicate #-}
replicate{-# 2 #-}::(Prelude.Int -> (a -> [a]));

{-# NEED reverse #-}
reverse{-# 0 #-}::([a] -> [a]);

{-# NEED dropWhile #-}
dropWhile{-# 2 #-}::((a -> Prelude.Bool) -> ([a] -> [a]));

{-# NEED takeWhile #-}
takeWhile{-# 2 #-}::((a -> Prelude.Bool) -> ([a] -> [a]));

{-# NEED cycle #-}
cycle{-# 1 #-}::([a] -> [a]);

{-# NEED take #-}
take{-# 2 #-}::(Prelude.Int -> ([a] -> [a]));

{-# NEED (++) #-}
(++){-# 2 #-}::([a] -> ([a] -> [a]));

{-# NEED and #-}
and{-# 0 #-}::([Prelude.Bool] -> Prelude.Bool);

{-# NEED head #-}
head{-# 1 #-}::([a] -> a);

{-# NEED unzip3 #-}
unzip3{-# 0 #-}::([(a,b,c)] -> ([a],[b],[c]));

{-# NEED zip3 #-}
zip3{-# 0 #-}::([a] -> ([b] -> ([c] -> [(a,b,c)])));

{-# NEED zipWith3 #-}
zipWith3{-# 4 #-}::((a -> (b -> (c -> d))) -> ([a] -> ([b] -> ([c] -> [d]))));

{-# NEED scanr1 #-}
scanr1{-# 2 #-}::((a -> (a -> a)) -> ([a] -> [a]));

{-# NEED foldr1 #-}
foldr1{-# 2 #-}::((a -> (a -> a)) -> ([a] -> a));

{-# NEED scanl1 #-}
scanl1{-# 2 #-}::((a -> (a -> a)) -> ([a] -> [a]));

{-# NEED foldl1 #-}
foldl1{-# 2 #-}::((a -> (a -> a)) -> ([a] -> a));
interface ! List
{-# NEED elemIndexBy #-}
elemIndexBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> ([a] -> (a -> Prelude.Int)));

{-# NEED sortBy #-}
sortBy{-# 1 #-}::((a -> (a -> Prelude.Ordering)) -> ([a] -> [a]));

{-# NEED insertBy #-}
insertBy{-# 3 #-}::((a -> (a -> Prelude.Ordering)) -> (a -> ([a] -> [a])));

{-# NEED intersectBy #-}
intersectBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> ([a] -> ([a] -> [a])));

{-# NEED deleteFirstsBy #-}
deleteFirstsBy{-# 1 #-}::((a -> (a -> Prelude.Bool)) -> ([a] -> ([a] -> [a])));

{-# NEED groupBy #-}
groupBy{-# 2 #-}::((a -> (a -> Prelude.Bool)) -> ([a] -> [[a]]));

{-# NEED lookupBy #-}
lookupBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> (a -> ([(a,b)] -> (Prelude.Maybe b))));

{-# NEED unionBy #-}
unionBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> ([a] -> ([a] -> [a])));

{-# NEED maximumBy #-}
maximumBy{-# 2 #-}::((a -> (a -> Prelude.Ordering)) -> ([a] -> a));

{-# NEED minimumBy #-}
minimumBy{-# 2 #-}::((a -> (a -> Prelude.Ordering)) -> ([a] -> a));

{-# NEED notElemBy #-}
notElemBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> (a -> ([a] -> Prelude.Bool)));

{-# NEED elemBy #-}
elemBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> (a -> ([a] -> Prelude.Bool)));

{-# NEED deleteBy #-}
deleteBy{-# 3 #-}::((a -> (a -> Prelude.Bool)) -> (a -> ([a] -> [a])));

{-# NEED nubBy #-}
nubBy{-# 2 #-}::((a -> (a -> Prelude.Bool)) -> ([a] -> [a]));

{-# NEED elemIndex #-}
elemIndex{-# 1 #-}::(Prelude.Eq a) => (a -> ([a] -> (Prelude.Maybe Prelude.Int)));

{-# NEED findIndex #-}
findIndex{-# 1 #-}::((a -> Prelude.Bool) -> ([a] -> (Prelude.Maybe Prelude.Int)));

{-# NEED genericIndex #-}
genericIndex{-# 2 #-}::(Prelude.Integral b) => ([a] -> (b -> a));

{-# NEED sort #-}
sort{-# 0 #-}::(Prelude.Ord a) => ([a] -> [a]);

{-# NEED insert #-}
insert{-# 0 #-}::(Prelude.Ord a) => (a -> ([a] -> [a]));

{-# NEED intersect #-}
intersect{-# 0 #-}::(Prelude.Eq a) => ([a] -> ([a] -> [a]));

{-# NEED genericSplitAt #-}
genericSplitAt{-# 2 #-}::(Prelude.Integral a) => (a -> ([b] -> ([b],[b])));

{-# NEED deleteFirsts #-}
deleteFirsts{-# 0 #-}::(Prelude.Eq a) => ([a] -> ([a] -> [a]));

{-# NEED inits #-}
inits{-# 1 #-}::([a] -> [[a]]);

{-# NEED products #-}
products{-# 0 #-}::(Prelude.Num a) => ([a] -> [a]);

{-# NEED permutations #-}
permutations{-# 1 #-}::([a] -> [[a]]);

{-# NEED sums #-}
sums{-# 0 #-}::(Prelude.Num a) => ([a] -> [a]);

{-# NEED tails #-}
tails{-# 1 #-}::([a] -> [[a]]);

{-# NEED subsequences #-}
subsequences{-# 1 #-}::([a] -> [[a]]);

{-# NEED elemIndices #-}
elemIndices{-# 1 #-}::(Prelude.Eq a) => (a -> ([a] -> [Prelude.Int]));

{-# NEED findIndices #-}
findIndices{-# 2 #-}::((a -> Prelude.Bool) -> ([a] -> [Prelude.Int]));

{-# NEED unfoldr #-}
unfoldr{-# 2 #-}::((a -> (Prelude.Maybe (b,a))) -> (a -> [b]));

{-# NEED group #-}
group{-# 0 #-}::(Prelude.Eq a) => ([a] -> [[a]]);

{-# NEED genericDrop #-}
genericDrop{-# 2 #-}::(Prelude.Integral a) => (a -> ([b] -> [b]));

{-# NEED partition #-}
partition{-# 2 #-}::((a -> Prelude.Bool) -> ([a] -> ([a],[a])));

{-# NEED union #-}
union{-# 0 #-}::(Prelude.Eq a) => ([a] -> ([a] -> [a]));

{-# NEED genericLength #-}
genericLength{-# 1 #-}::(Prelude.Integral b) => ([a] -> b);

{-# NEED isSuffixOf #-}
isSuffixOf{-# 2 #-}::(Prelude.Eq a) => ([a] -> ([a] -> Prelude.Bool));

{-# NEED isPrefixOf #-}
isPrefixOf{-# 2 #-}::(Prelude.Eq a) => ([a] -> ([a] -> Prelude.Bool));

{-# NEED delete #-}
delete{-# 0 #-}::(Prelude.Eq a) => (a -> ([a] -> [a]));

{-# NEED genericReplicate #-}
genericReplicate{-# 2 #-}::(Prelude.Integral a) => (a -> (b -> [b]));

{-# NEED intersperse #-}
intersperse{-# 2 #-}::(a -> ([a] -> [a]));

{-# NEED transpose #-}
transpose{-# 1 #-}::([[a]] -> [[a]]);

{-# NEED genericTake #-}
genericTake{-# 2 #-}::(Prelude.Integral a) => (a -> ([b] -> [b]));

{-# NEED (\\) #-}
(\\){-# 0 #-}::(Prelude.Eq a) => ([a] -> ([a] -> [a]));

{-# NEED find #-}
find{-# 1 #-}::((a -> Prelude.Bool) -> ([a] -> (Prelude.Maybe a)));

{-# NEED nub #-}
nub{-# 0 #-}::(Prelude.Eq a) => ([a] -> [a]);

{-# NEED mapAccumR #-}
mapAccumR{-# 3 #-}::((a -> (b -> (a,c))) -> (a -> ([b] -> (a,[c]))));

{-# NEED mapAccumL #-}
mapAccumL{-# 3 #-}::((a -> (b -> (a,c))) -> (a -> ([b] -> (a,[c]))));

{-# NEED unzip7 #-}
unzip7{-# 0 #-}::([(a,b,c,d,e,f,g)] -> ([a],[b],[c],[d],[e],[f],[g]));

{-# NEED zip7 #-}
zip7{-# 0 #-}::([a] -> ([b] -> ([c] -> ([d] -> ([e] -> ([f] -> ([g] -> [(a,b,c,d,e,f,g)])))))));

{-# NEED zipWith7 #-}
zipWith7{-# 8 #-}::((a -> (b -> (c -> (d -> (e -> (f -> (g -> h))))))) -> ([a] -> ([b] -> ([c] -> ([d] -> ([e] -> ([f] -> ([g] -> [h]))))))));

{-# NEED unzip6 #-}
unzip6{-# 0 #-}::([(a,b,c,d,e,f)] -> ([a],[b],[c],[d],[e],[f]));

{-# NEED zip6 #-}
zip6{-# 0 #-}::([a] -> ([b] -> ([c] -> ([d] -> ([e] -> ([f] -> [(a,b,c,d,e,f)]))))));

{-# NEED zipWith6 #-}
zipWith6{-# 7 #-}::((a -> (b -> (c -> (d -> (e -> (f -> g)))))) -> ([a] -> ([b] -> ([c] -> ([d] -> ([e] -> ([f] -> [g])))))));

{-# NEED unzip5 #-}
unzip5{-# 0 #-}::([(a,b,c,d,e)] -> ([a],[b],[c],[d],[e]));

{-# NEED zip5 #-}
zip5{-# 0 #-}::([a] -> ([b] -> ([c] -> ([d] -> ([e] -> [(a,b,c,d,e)])))));

{-# NEED zipWith5 #-}
zipWith5{-# 6 #-}::((a -> (b -> (c -> (d -> (e -> f))))) -> ([a] -> ([b] -> ([c] -> ([d] -> ([e] -> [f]))))));

{-# NEED unzip4 #-}
unzip4{-# 0 #-}::([(a,b,c,d)] -> ([a],[b],[c],[d]));

{-# NEED zip4 #-}
zip4{-# 0 #-}::([a] -> ([b] -> ([c] -> ([d] -> [(a,b,c,d)]))));

{-# NEED zipWith4 #-}
zipWith4{-# 5 #-}::((a -> (b -> (c -> (d -> e)))) -> ([a] -> ([b] -> ([c] -> ([d] -> [e])))));
interface ! Prelude
{-# NEED {[] [] (:)} #-}
data [] a
  = [] 
  | (:) a [a];
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].