{-# OPTIONS_GHC -fno-warn-tabs #-}
module Utility.PartialPrelude where
import qualified Data.Maybe
read :: Read a => String -> a
read :: forall a. Read a => String -> a
read = forall a. Read a => String -> a
Prelude.read
head :: [a] -> a
head :: forall a. [a] -> a
head = forall a. [a] -> a
Prelude.head
tail :: [a] -> [a]
tail :: forall a. [a] -> [a]
tail = forall a. [a] -> [a]
Prelude.tail
init :: [a] -> [a]
init :: forall a. [a] -> [a]
init = forall a. [a] -> [a]
Prelude.init
last :: [a] -> a
last :: forall a. [a] -> a
last = forall a. [a] -> a
Prelude.last
readish :: Read a => String -> Maybe a
readish :: forall a. Read a => String -> Maybe a
readish String
s = case forall a. Read a => ReadS a
reads String
s of
((a
x,String
_):[(a, String)]
_) -> forall a. a -> Maybe a
Just a
x
[(a, String)]
_ -> forall a. Maybe a
Nothing
headMaybe :: [a] -> Maybe a
headMaybe :: forall a. [a] -> Maybe a
headMaybe = forall a. [a] -> Maybe a
Data.Maybe.listToMaybe
lastMaybe :: [a] -> Maybe a
lastMaybe :: forall a. [a] -> Maybe a
lastMaybe [] = forall a. Maybe a
Nothing
lastMaybe [a]
v = forall a. a -> Maybe a
Just forall a b. (a -> b) -> a -> b
$ forall a. [a] -> a
Prelude.last [a]
v
beginning :: [a] -> [a]
beginning :: forall a. [a] -> [a]
beginning [] = []
beginning [a]
l = forall a. [a] -> [a]
Prelude.init [a]
l
end :: [a] -> [a]
end :: forall a. [a] -> [a]
end [] = []
end [a]
l = [forall a. [a] -> a
Prelude.last [a]
l]