Hell's API
Version: 2025-06-09
Back to homepage
Types
data () :: *data Bool :: *data ByteString :: *data Char :: *data Day :: *data Double :: *data Either :: * -> * -> *data ExitCode :: *data Handle :: *data IO :: * -> *data Int :: *data Integer :: *data Map :: * -> * -> *data Maybe :: * -> *data Set :: * -> *data Text :: *data These :: * -> * -> *data TimeOfDay :: *data Tree :: * -> *data UTCTime :: *data Value :: *data Vector :: * -> *
Terms
$
$ :: forall a b . (a -> b) -> a -> b
. :: forall a b c . (b -> c) -> (a -> b) -> a -> c
<$>
<$> :: forall (f :: * -> *) a b . Functor f => (a -> b) -> f a -> f b
<**>
<**> :: forall (f :: * -> *) a b . Applicative f =>
f a -> f (a -> b) -> f b
<*>
<*> :: forall (f :: * -> *) a b . Applicative f =>
f (a -> b) -> f a -> f b
<>
<> :: forall m . Semigroup m => m -> m -> m
Alternative
Alternative.optional :: forall (f :: * -> *) a . Alternative f => f a -> f (Maybe a)
Applicative
Applicative.pure :: forall (f :: * -> *) a . Applicative f => a -> f a
Argument
Argument.help :: forall a . Text -> Mod ArgumentFields aArgument.metavar :: forall a . Text -> Mod ArgumentFields aArgument.value :: forall a . a -> Mod ArgumentFields a
Async
Async.concurrently :: forall a b . IO a -> IO b -> IO (a, b)Async.pooledForConcurrently :: forall a b . [a] -> (a -> IO b) -> IO [b]Async.pooledForConcurrently_ :: forall a . [a] -> (a -> IO ()) -> IO ()Async.pooledMapConcurrently :: forall a b . (a -> IO b) -> [a] -> IO [b]Async.pooledMapConcurrently_ :: forall a . (a -> IO ()) -> [a] -> IO ()Async.race :: forall a b . IO a -> IO b -> IO (Either a b)
Bool
Bool.False :: BoolBool.True :: BoolBool.bool :: forall a . a -> a -> Bool -> aBool.not :: Bool -> Bool
ByteString
ByteString.getContents :: IO ByteStringByteString.hGet :: Handle -> Int -> IO ByteStringByteString.hPutStr :: Handle -> ByteString -> IO ()ByteString.interact :: (ByteString -> ByteString) -> IO ()ByteString.readFile :: Text -> IO ByteStringByteString.readProcess :: ProcessConfig () () () -> IO (ExitCode,ByteString,ByteString)ByteString.readProcessStdout_ :: ProcessConfig () () () -> IO ByteStringByteString.readProcess_ :: ProcessConfig () () () -> IO (ByteString,ByteString)ByteString.writeFile :: Text -> ByteString -> IO ()
Concurrent
Concurrent.threadDelay :: Int -> IO ()
Day
Day.addDays :: Integer -> Day -> DayDay.diffDays :: Day -> Day -> IntegerDay.fromGregorianValid :: Integer -> Int -> Int -> Maybe DayDay.iso8601ParseM :: Text -> Maybe DayDay.iso8601Show :: Day -> Text
Directory
Directory.copyFile :: Text -> Text -> IO ()Directory.createDirectory :: Text -> IO ()Directory.createDirectoryIfMissing :: Bool -> Text -> IO ()Directory.doesDirectoryExist :: Text -> IO BoolDirectory.doesFileExist :: Text -> IO BoolDirectory.getCurrentDirectory :: IO TextDirectory.listDirectory :: Text -> IO [Text]Directory.removeFile :: Text -> IO ()Directory.renameFile :: Text -> Text -> IO ()Directory.setCurrentDirectory :: Text -> IO ()
Double
Double.eq :: Double -> Double -> BoolDouble.fromInt :: Int -> DoubleDouble.mult :: Double -> Double -> DoubleDouble.plus :: Double -> Double -> DoubleDouble.readMaybe :: Text -> Maybe DoubleDouble.show :: Double -> TextDouble.showEFloat :: Maybe Int -> Double -> Text -> TextDouble.showFFloat :: Maybe Int -> Double -> Text -> TextDouble.subtract :: Double -> Double -> Double
Either
Either.Left :: forall a b . a -> Either a bEither.Right :: forall a b . b -> Either a bEither.either :: forall a b x . (a -> x) -> (b -> x) -> Either a b -> x
Environment
Environment.getArgs :: IO [Text]Environment.getEnv :: Text -> IO TextEnvironment.getEnvironment :: IO [(Text,Text)]
Eq
Eq.eq :: forall a . Eq a => a -> a -> Bool
Error
Error.error :: forall a . Text -> a
Exit
Exit.ExitFailure :: Int -> ExitCodeExit.ExitSuccess :: ExitCodeExit.die :: forall a . Text -> IO aExit.exitCode :: forall a . a -> (Int -> a) -> ExitCode -> aExit.exitWith :: forall a . ExitCode -> IO a
Flag
Flag.help :: forall a . Text -> Mod FlagFields aFlag.long :: forall a . Text -> Mod FlagFields a
Function
Function.fix :: forall a . (a -> a) -> aFunction.id :: forall a . a -> a
Functor
Functor.fmap :: forall (f :: * -> *) a b . Functor f => (a -> b) -> f a -> f b
IO
IO.AppendMode :: IOModeIO.BlockBuffering :: Maybe Int -> BufferModeIO.LineBuffering :: BufferModeIO.NoBuffering :: BufferModeIO.ReadMode :: IOModeIO.ReadWriteMode :: IOModeIO.WriteMode :: IOModeIO.forM_ :: forall a . [a] -> (a -> IO ()) -> IO ()IO.hClose :: Handle -> IO ()IO.hSetBuffering :: Handle -> BufferMode -> IO ()IO.mapM_ :: forall a . (a -> IO ()) -> [a] -> IO ()IO.openFile :: Text -> IOMode -> IO HandleIO.print :: forall a . Show a => a -> IO ()IO.pure :: forall a . a -> IO aIO.stderr :: HandleIO.stdin :: HandleIO.stdout :: Handle
Int
Int.eq :: Int -> Int -> BoolInt.fromInteger :: Integer -> IntInt.mult :: Int -> Int -> IntInt.plus :: Int -> Int -> IntInt.readMaybe :: Text -> Maybe IntInt.show :: Int -> TextInt.subtract :: Int -> Int -> IntInt.toInteger :: Int -> Integer
Integer
Integer.mult :: Integer -> Integer -> IntegerInteger.plus :: Integer -> Integer -> IntegerInteger.readMaybe :: Text -> Maybe IntegerInteger.subtract :: Integer -> Integer -> Integer
Json
Json.Array :: Vector Value -> ValueJson.Bool :: Bool -> ValueJson.Null :: ValueJson.Number :: Double -> ValueJson.Object :: Map Text Value -> ValueJson.String :: Text -> ValueJson.decode :: ByteString -> Maybe ValueJson.encode :: Value -> ByteStringJson.value :: forall a .
a ->
(Bool -> a) ->
(Text -> a) ->
(Double -> a) ->
(Vector Value -> a) -> (Map Text Value -> a) -> Value -> a
List
List.all :: forall a . (a -> Bool) -> [a] -> BoolList.and :: [Bool] -> BoolList.any :: forall a . (a -> Bool) -> [a] -> BoolList.break :: forall a . (a -> Bool) -> [a] -> ([a], [a])List.concat :: forall a . [[a]] -> [a]List.concatMap :: forall a b . (a -> [b]) -> [a] -> [b]List.cons :: forall a . a -> [a] -> [a]List.cycle :: forall a . [a] -> [a]List.deleteBy :: forall a . (a -> a -> Bool) -> a -> [a] -> [a]List.drop :: forall a . Int -> [a] -> [a]List.dropWhile :: forall a . (a -> Bool) -> [a] -> [a]List.dropWhileEnd :: forall a . (a -> Bool) -> [a] -> [a]List.elem :: forall a . Eq a => a -> [a] -> BoolList.elemIndex :: forall a . Eq a => a -> [a] -> Maybe IntList.elemIndices :: forall a . Eq a => a -> [a] -> [Int]List.filter :: forall a . (a -> Bool) -> [a] -> [a]List.find :: forall a . (a -> Bool) -> [a] -> Maybe aList.findIndex :: forall a . (a -> Bool) -> [a] -> Maybe IntList.findIndices :: forall a . (a -> Bool) -> [a] -> [Int]List.foldl' :: forall a b . (b -> a -> b) -> b -> [a] -> bList.foldr :: forall a b . (a -> b -> b) -> b -> [a] -> bList.group :: forall a . Eq a => [a] -> [[a]]List.groupBy :: forall a . (a -> a -> Bool) -> [a] -> [[a]]List.inits :: forall a . [a] -> [[a]]List.intercalate :: forall a . [a] -> [[a]] -> [a]List.intersperse :: forall a . a -> [a] -> [a]List.isInfixOf :: forall a . Eq a => [a] -> [a] -> BoolList.isPrefixOf :: forall a . Eq a => [a] -> [a] -> BoolList.isSubsequenceOf :: forall a . Eq a => [a] -> [a] -> BoolList.isSuffixOf :: forall a . Eq a => [a] -> [a] -> BoolList.iterate' :: forall a . (a -> a) -> a -> [a]List.length :: forall a . [a] -> IntList.lookup :: forall a b . Eq a => a -> [(a, b)] -> Maybe bList.map :: forall a b . (a -> b) -> [a] -> [b]List.mapAccumL :: forall s a b . (s -> a -> (s, b)) -> s -> [a] -> (s, [b])List.mapAccumR :: forall s a b . (s -> a -> (s, b)) -> s -> [a] -> (s, [b])List.nil :: forall a . [a]List.notElem :: forall a . Eq a => a -> [a] -> BoolList.nubOrd :: forall a . Ord a => [a] -> [a]List.null :: forall a . [a] -> BoolList.or :: [Bool] -> BoolList.partition :: forall a . (a -> Bool) -> [a] -> ([a], [a])List.permutations :: forall a . [a] -> [[a]]List.repeat :: forall a . a -> [a]List.reverse :: forall a . [a] -> [a]List.scanl' :: forall a b . (b -> a -> b) -> b -> [a] -> [b]List.scanr :: forall a b . (a -> b -> b) -> b -> [a] -> [b]List.sort :: forall a . Ord a => [a] -> [a]List.sortOn :: forall a b . Ord b => (a -> b) -> [a] -> [a]List.span :: forall a . (a -> Bool) -> [a] -> ([a], [a])List.splitAt :: forall a . Int -> [a] -> ([a], [a])List.subsequences :: forall a . [a] -> [[a]]List.tails :: forall a . [a] -> [[a]]List.take :: forall a . Int -> [a] -> [a]List.takeWhile :: forall a . (a -> Bool) -> [a] -> [a]List.transpose :: forall a . [[a]] -> [[a]]List.uncons :: forall a . [a] -> Maybe (a, [a])List.unfoldr :: forall a b . (b -> Maybe (a, b)) -> b -> [a]List.zip :: forall a b . [a] -> [b] -> [(a, b)]List.zipWith :: forall a b c . (a -> b -> c) -> [a] -> [b] -> [c]
Map
Map.adjust :: forall k a . Ord k => (a -> a) -> k -> Map k a -> Map k aMap.all :: forall k a . (a -> Bool) -> Map k a -> BoolMap.any :: forall k a . (a -> Bool) -> Map k a -> BoolMap.delete :: forall k a . Ord k => k -> Map k a -> Map k aMap.elems :: forall k a . Map k a -> [a]Map.filter :: forall k a . (a -> Bool) -> Map k a -> Map k aMap.filterWithKey :: forall k a . (k -> a -> Bool) -> Map k a -> Map k aMap.fromList :: forall k a . Ord k => [(k, a)] -> Map k aMap.insert :: forall k a . Ord k => k -> a -> Map k a -> Map k aMap.insertWith :: forall k a . Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k aMap.keys :: forall k a . Map k a -> [k]Map.lookup :: forall k a . Ord k => k -> Map k a -> Maybe aMap.map :: forall a b k . (a -> b) -> Map k a -> Map k bMap.singleton :: forall k a . Ord k => k -> a -> Map k aMap.size :: forall k a . Map k a -> IntMap.toList :: forall k a . Map k a -> [(k, a)]Map.unionWith :: forall k a . Ord k =>
(a -> a -> a) -> Map k a -> Map k a -> Map k a
Maybe
Maybe.Just :: forall a . a -> Maybe aMaybe.Nothing :: forall a . Maybe aMaybe.listToMaybe :: forall a . [a] -> Maybe aMaybe.mapMaybe :: forall a b . (a -> Maybe b) -> [a] -> [b]Maybe.maybe :: forall a b . b -> (a -> b) -> Maybe a -> b
Monad
Monad.bind :: forall (m :: * -> *) a b . Monad m => m a -> (a -> m b) -> m bMonad.forM :: forall a b (m :: * -> *) . Monad m => [a] -> (a -> m b) -> m [b]Monad.forM_ :: forall a (m :: * -> *) . Monad m => [a] -> (a -> m ()) -> m ()Monad.mapM :: forall a b (m :: * -> *) . Monad m => (a -> m b) -> [a] -> m [b]Monad.mapM_ :: forall a (m :: * -> *) . Monad m => (a -> m ()) -> [a] -> m ()Monad.return :: forall a (m :: * -> *) . Monad m => a -> m aMonad.sequence :: forall a (m :: * -> *) . Monad m => [m a] -> m [a]Monad.then :: forall (m :: * -> *) a b . Monad m => m a -> m b -> m bMonad.when :: forall (m :: * -> *) . Monad m => Bool -> m () -> m ()
Option
Option.help :: forall a . Text -> Mod OptionFields aOption.long :: forall a . Text -> Mod OptionFields aOption.value :: forall a . a -> Mod OptionFields a
Options
Options.execParser :: forall a . ParserInfo a -> IO aOptions.flag :: forall a . a -> a -> Mod FlagFields a -> Parser aOptions.flag' :: forall a . a -> Mod FlagFields a -> Parser aOptions.fullDesc :: forall a . InfoMod aOptions.helper :: forall a . Parser (a -> a)Options.info :: forall a . Parser a -> InfoMod a -> ParserInfo aOptions.strArgument :: Mod ArgumentFields Text -> Parser TextOptions.strOption :: Mod OptionFields Text -> Parser TextOptions.switch :: Mod FlagFields Bool -> Parser Bool
Ord
Ord.gt :: forall a . Ord a => a -> a -> BoolOrd.lt :: forall a . Ord a => a -> a -> Bool
Process
Process.nullStream :: forall (a :: StreamType) . StreamSpec a ()Process.proc :: Text -> [Text] -> ProcessConfig () () ()Process.runProcess :: forall a b c . ProcessConfig a b c -> IO ExitCodeProcess.runProcess_ :: forall a b c . ProcessConfig a b c -> IO ()Process.setEnv :: [(Text,Text)] -> ProcessConfig () () () -> ProcessConfig () () ()Process.setStderr :: forall stdin stdout stderr stderr' .
StreamSpec 'STOutput stderr' ->
ProcessConfig stdin stdout stderr ->
ProcessConfig stdin stdout stderr'Process.setStdin :: forall stdin stdin' stdout stderr .
StreamSpec 'STInput stdin' ->
ProcessConfig stdin stdout stderr ->
ProcessConfig stdin' stdout stderrProcess.setStdout :: forall stdin stdout stdout' stderr .
StreamSpec 'STOutput stdout' ->
ProcessConfig stdin stdout stderr ->
ProcessConfig stdin stdout' stderrProcess.setWorkingDir :: forall a b c . Text -> ProcessConfig a b c -> ProcessConfig a b cProcess.useHandleClose :: forall (a :: StreamType) . Handle -> StreamSpec a ()Process.useHandleOpen :: forall (a :: StreamType) . Handle -> StreamSpec a ()
Record
Record.get :: forall (k :: Symbol) a (t :: Symbol) (xs :: List) .
Tagged t (Record xs) -> aRecord.modify :: forall (k :: Symbol) a (t :: Symbol) (xs :: List) .
(a -> a) -> Tagged t (Record xs) -> Tagged t (Record xs)Record.set :: forall (k :: Symbol) a (t :: Symbol) (xs :: List) .
a -> Tagged t (Record xs) -> Tagged t (Record xs)
Set
Set.delete :: forall a . Ord a => a -> Set a -> Set aSet.difference :: forall a . Ord a => Set a -> Set a -> Set aSet.fromList :: forall a . Ord a => [a] -> Set aSet.insert :: forall a . Ord a => a -> Set a -> Set aSet.intersection :: forall a . Ord a => Set a -> Set a -> Set aSet.member :: forall a . Ord a => a -> Set a -> BoolSet.singleton :: forall a . Ord a => a -> Set aSet.size :: forall a . Set a -> IntSet.toList :: forall a . Set a -> [a]Set.union :: forall a . Ord a => Set a -> Set a -> Set a
Show
Show.show :: forall a . Show a => a -> Text
Temp
Temp.withSystemTempDirectory :: forall a . Text -> (Text -> IO a) -> IO aTemp.withSystemTempFile :: forall a . Text -> (Text -> Handle -> IO a) -> IO a
Text
Text.appendFile :: Text -> Text -> IO ()Text.breakOn :: Text -> Text -> (Text,Text)Text.concat :: [Text] -> TextText.decodeUtf8 :: ByteString -> TextText.drop :: Int -> Text -> TextText.dropEnd :: Int -> Text -> TextText.encodeUtf8 :: Text -> ByteStringText.eq :: Text -> Text -> BoolText.getContents :: IO TextText.getLine :: IO TextText.hPutStr :: Handle -> Text -> IO ()Text.interact :: (Text -> Text) -> IO ()Text.intercalate :: Text -> [Text] -> TextText.isInfixOf :: Text -> Text -> BoolText.isPrefixOf :: Text -> Text -> BoolText.isSuffixOf :: Text -> Text -> BoolText.length :: Text -> IntText.lines :: Text -> [Text]Text.putStr :: Text -> IO ()Text.putStrLn :: Text -> IO ()Text.readFile :: Text -> IO TextText.readProcess :: ProcessConfig () () () -> IO (ExitCode,Text,Text)Text.readProcessStdout_ :: ProcessConfig () () () -> IO TextText.readProcess_ :: ProcessConfig () () () -> IO (Text,Text)Text.replace :: Text -> Text -> Text -> TextText.reverse :: Text -> TextText.setStdin :: Text -> ProcessConfig () () () -> ProcessConfig () () ()Text.splitOn :: Text -> Text -> [Text]Text.strip :: Text -> TextText.stripPrefix :: Text -> Text -> Maybe TextText.stripSuffix :: Text -> Text -> Maybe TextText.take :: Int -> Text -> TextText.takeEnd :: Int -> Text -> TextText.toLower :: Text -> TextText.toUpper :: Text -> TextText.unlines :: [Text] -> TextText.unwords :: [Text] -> TextText.words :: Text -> [Text]Text.writeFile :: Text -> Text -> IO ()
These
These.That :: forall a b . b -> These a bThese.These :: forall a b . a -> b -> These a bThese.This :: forall a b . a -> These a bThese.these :: forall a b c .
(a -> c) -> (b -> c) -> (a -> b -> c) -> These a b -> c
TimeOfDay
TimeOfDay.makeTimeOfDayValid :: Int -> Int -> Double -> Maybe TimeOfDayTimeOfDay.midday :: TimeOfDayTimeOfDay.midnight :: TimeOfDayTimeOfDay.timeOfDayToTime :: TimeOfDay -> DoubleTimeOfDay.timeToTimeOfDay :: Double -> TimeOfDayTimeOfDay.todHour :: TimeOfDay -> IntTimeOfDay.todMin :: TimeOfDay -> IntTimeOfDay.todSec :: TimeOfDay -> Double
Timeout
Timeout.timeout :: forall a . Int -> IO a -> IO (Maybe a)
Tree
Tree.Node :: forall a . a -> [Tree a] -> Tree aTree.flatten :: forall a . Tree a -> [a]Tree.foldTree :: forall a b . (a -> [b] -> b) -> Tree a -> bTree.levels :: forall a . Tree a -> [[a]]Tree.map :: forall a b . (a -> b) -> Tree a -> Tree bTree.unfoldTree :: forall a b . (b -> (a, [b])) -> b -> Tree a
Tuple
Tuple.(,) :: forall a b . a -> b -> (a, b)Tuple.(,,) :: forall a b c . a -> b -> c -> (a, b, c)Tuple.(,,,) :: forall a b c d . a -> b -> c -> d -> (a, b, c, d)
UTCTime
UTCTime.UTCTime :: Day -> Double -> UTCTimeUTCTime.addUTCTime :: Double -> UTCTime -> UTCTimeUTCTime.diffUTCTime :: UTCTime -> UTCTime -> DoubleUTCTime.getCurrentTime :: IO UTCTimeUTCTime.iso8601ParseM :: Text -> Maybe UTCTimeUTCTime.iso8601Show :: UTCTime -> TextUTCTime.utctDay :: UTCTime -> DayUTCTime.utctDayTime :: UTCTime -> Double
Vector
Vector.fromList :: forall a . [a] -> Vector aVector.toList :: forall a . Vector a -> [a]