{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE Unsafe #-}
module Unsafe (
unsafeHead,
unsafeTail,
unsafeInit,
unsafeLast,
unsafeFromJust,
unsafeIndex,
) where
import Base (Int)
import qualified Data.List as List
import qualified Data.Maybe as Maybe
{-# WARNING unsafeHead "An unsafe function: 'unsafehead' remains in code" #-}
unsafeHead :: [a] -> a
unsafeHead = List.head
{-# WARNING unsafeTail "An unsafe function: 'unsafeTail' remains in code" #-}
unsafeTail :: [a] -> [a]
unsafeTail = List.tail
{-# WARNING unsafeInit "An unsafe function: 'unsafeInit' remains in code" #-}
unsafeInit :: [a] -> [a]
unsafeInit = List.init
{-# WARNING unsafeLast "An unsafe function: 'unsafeLast' remains in code" #-}
unsafeLast :: [a] -> a
unsafeLast = List.last
{-# WARNING unsafeFromJust "An unsafe function: 'unsafeFromJust' remains in code" #-}
unsafeFromJust :: Maybe.Maybe a -> a
unsafeFromJust = Maybe.fromJust
{-# WARNING unsafeIndex "An unsafe function: 'unsafeIndex' remains in code" #-}
unsafeIndex :: [a] -> Int -> a
unsafeIndex = (List.!!)