| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bluefin.Internal.Examples
Synopsis
- monadIOExample :: IO ()
- monadFailExample :: Either String ()
- throwExample :: Either Int String
- handleExample :: String
- exampleGet :: (Int, Int)
- examplePut :: ((), Int)
- exampleModify :: ((), Int)
- yieldExample :: ([Int], ())
- withYieldToListExample :: Int
- doubleNestedForEach :: forall (es :: Effects). (forall (e :: Effects). Stream () e -> Eff (e :& es) ()) -> Eff es ()
- forEachExample :: ([Int], ())
- ignoreStreamExample :: Int
- cycleToStreamExample :: ([Int], ())
- takeConsumeExample :: ([Int], ())
- inFoldableExample :: ([Int], ())
- enumerateExample :: ([(Int, String)], ())
- returnEarlyExample :: String
- effIOExample :: IO ()
- example1_ :: (Int, Int)
- example2_ :: ((Int, Int), (Int, Int))
- example3' :: Int -> Either String Int
- example3_ :: IO ()
- awaitList :: forall (e :: Effects) (es :: Effects) a. e :> es => [a] -> IOE e -> (forall (e1 :: Effects). Consume a e1 -> Eff (e1 :& es) ()) -> Eff es ()
- takeRec :: forall (e3 :: Effects) (es :: Effects) a. e3 :> es => Int -> (forall (e :: Effects). Consume a e -> Eff (e :& es) ()) -> Consume a e3 -> Eff es ()
- mapRec :: forall (e :: Effects) (es :: Effects) a b. e :> es => (a -> b) -> (forall (e1 :: Effects). Consume b e1 -> Eff (e1 :& es) ()) -> Consume a e -> Eff es ()
- traverseRec :: forall (e :: Effects) (es :: Effects) a b. e :> es => (a -> Eff es b) -> (forall (e1 :: Effects). Consume b e1 -> Eff (e1 :& es) ()) -> Consume a e -> Eff es ()
- awaitUsage :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects). (e1 :> es, e2 :> es) => IOE e1 -> (forall (e :: Effects). Consume () e -> Eff (e :& es) ()) -> Consume Int e2 -> Eff es ()
- awaitExample :: IO ()
- consumeStreamExample :: IO (Either String String)
- consumeStreamExample2 :: IO ()
- connectExample :: IO (Either String String)
- zipCoroutinesExample :: IO ()
- countPositivesNegatives :: [Int] -> String
- type MyHandle = Compound (State Int) (Exception String)
- myInc :: forall (e :: Effects) (es :: Effects). e :> es => MyHandle e -> Eff es ()
- myBail :: forall (e :: Effects) (es :: Effects) r. e :> es => MyHandle e -> Eff es r
- runMyHandle :: forall (es :: Effects) a. (forall (e :: Effects). MyHandle e -> Eff (e :& es) a) -> Eff es (Either String (a, Int))
- compoundExample :: Either String (a, Int)
- countExample :: IO ()
- writerExample1 :: Bool
- writerExample2 :: Bool
- while :: forall (es :: Effects) a. Eff es Bool -> Eff es a -> Eff es ()
- stateSourceExample :: Int
- incrementReadLine :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects) (e3 :: Effects). (e1 :> es, e2 :> es, e3 :> es) => State Int e1 -> Exception String e2 -> IOE e3 -> Eff es ()
- runIncrementReadLine :: IO (Either String Int)
- newtype Counter1 (e :: Effects) = MkCounter1 (State Int e)
- incCounter1 :: forall (e :: Effects) (es :: Effects). e :> es => Counter1 e -> Eff es ()
- runCounter1 :: forall (es :: Effects) r. (forall (e :: Effects). Counter1 e -> Eff (e :& es) r) -> Eff es Int
- exampleCounter1 :: Int
- data Counter2 (e1 :: Effects) (e2 :: Effects) = MkCounter2 (State Int e1) (Exception () e2)
- incCounter2 :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects). (e1 :> es, e2 :> es) => Counter2 e1 e2 -> Eff es ()
- runCounter2 :: forall (es :: Effects) r. (forall (e1 :: Effects) (e2 :: Effects). Counter2 e1 e2 -> Eff (e2 :& (e1 :& es)) r) -> Eff es Int
- exampleCounter2 :: Int
- data Counter3 (e :: Effects) = MkCounter3 (State Int e) (Exception () e)
- incCounter3 :: forall (e :: Effects) (es :: Effects). e :> es => Counter3 e -> Eff es ()
- runCounter3 :: forall (es :: Effects) r. (forall (e :: Effects). Counter3 e -> Eff (e :& es) r) -> Eff es Int
- exampleCounter3 :: Int
- newtype Counter3B (e :: Effects) = MkCounter3B (IOE e)
- incCounter3B :: forall (e :: Effects) (es :: Effects). e :> es => Counter3B e -> Eff es ()
- runCounter3B :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => IOE e1 -> (forall (e :: Effects). Counter3B e -> Eff (e :& es) r) -> Eff es r
- exampleCounter3B :: IO ()
- data Counter4 (e :: Effects) = MkCounter4 (State Int e) (Exception () e) (Stream String e)
- incCounter4 :: forall (e :: Effects) (es :: Effects). e :> es => Counter4 e -> Eff es ()
- getCounter4 :: forall (e :: Effects) (es :: Effects). e :> es => Counter4 e -> String -> Eff es Int
- runCounter4 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter4 e -> Eff (e :& es) r) -> Eff es Int
- exampleCounter4 :: ([String], Int)
- data Counter5 (e :: Effects) = MkCounter5 {
- incCounter5Impl :: Eff e ()
- getCounter5Impl :: String -> Eff e Int
- incCounter5 :: forall (e :: Effects) (es :: Effects). e :> es => Counter5 e -> Eff es ()
- getCounter5 :: forall (e :: Effects) (es :: Effects). e :> es => Counter5 e -> String -> Eff es Int
- runCounter5 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter5 e -> Eff (e :& es) r) -> Eff es Int
- exampleCounter5 :: ([String], Int)
- data Counter6 (e :: Effects) = MkCounter6 {
- incCounter6Impl :: Eff e ()
- counter6State :: State Int e
- counter6Stream :: Stream String e
- incCounter6 :: forall (e :: Effects) (es :: Effects). e :> es => Counter6 e -> Eff es ()
- getCounter6 :: forall (e :: Effects) (es :: Effects). e :> es => Counter6 e -> String -> Eff es Int
- runCounter6 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter6 e -> Eff (e :& es) r) -> Eff es Int
- exampleCounter6 :: ([String], Int)
- data Counter7 (e :: Effects) = MkCounter7 {
- incCounter7Impl :: forall (e' :: Effects). Exception () e' -> Eff (e' :& e) ()
- counter7State :: State Int e
- counter7Stream :: Stream String e
- incCounter7 :: forall (e :: Effects) (es :: Effects) (e1 :: Effects). (e :> es, e1 :> es) => Counter7 e -> Exception () e1 -> Eff es ()
- getCounter7 :: forall (e :: Effects) (es :: Effects). e :> es => Counter7 e -> String -> Eff es Int
- runCounter7 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter7 e -> Eff (e :& es) r) -> Eff es Int
- exampleCounter7A :: ([String], Int)
- exampleCounter7B :: ([String], Int)
- data FileSystem (es :: Effects) = MkFileSystem {
- readFileImpl :: FilePath -> Eff es String
- writeFileImpl :: FilePath -> String -> Eff es ()
- readFile :: forall (e :: Effects) (es :: Effects). e :> es => FileSystem e -> FilePath -> Eff es String
- writeFile :: forall (e :: Effects) (es :: Effects). e :> es => FileSystem e -> FilePath -> String -> Eff es ()
- runFileSystemPure :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Exception String e1 -> [(FilePath, String)] -> (forall (e2 :: Effects). FileSystem e2 -> Eff (e2 :& es) r) -> Eff es r
- runFileSystemIO :: forall (e1 :: Effects) (e2 :: Effects) (es :: Effects) r. (e1 :> es, e2 :> es) => Exception String e1 -> IOE e2 -> (forall (e :: Effects). FileSystem e -> Eff (e :& es) r) -> Eff es r
- action :: forall (e :: Effects) (es :: Effects). e :> es => FileSystem e -> Eff es String
- exampleRunFileSystemPure :: Either String String
- exampleRunFileSystemIO :: IO (Either String String)
- data Application (e :: Effects) = MkApplication {}
- polymorphicBracket :: forall (st :: Effects) (es :: Effects). st :> es => State (Integer, Bool) st -> Eff es () -> Eff es ()
- polymorphicBracketExample1 :: (Integer, Bool)
- polymorphicBracketExample2 :: (Integer, Bool)
- pipesExample1 :: IO ()
- pipesExample2 :: IO String
- promptCoroutine :: IO ()
- rethrowIOExample :: IO ()
- data DynamicReader r (e :: Effects) = DynamicReader {}
- askLR :: forall (e :: Effects) (es :: Effects) r. e :> es => DynamicReader r e -> Eff es r
- localLR :: forall (e :: Effects) (es :: Effects) r a. e :> es => DynamicReader r e -> (r -> r) -> Eff es a -> Eff es a
- runDynamicReader :: forall r (es :: Effects) a. r -> (forall (e :: Effects). DynamicReader r e -> Eff (e :& es) a) -> Eff es a
- example :: ()
Documentation
monadIOExample :: IO () Source #
monadFailExample :: Either String () Source #
exampleGet :: (Int, Int) Source #
examplePut :: ((), Int) Source #
exampleModify :: ((), Int) Source #
yieldExample :: ([Int], ()) Source #
doubleNestedForEach :: forall (es :: Effects). (forall (e :: Effects). Stream () e -> Eff (e :& es) ()) -> Eff es () Source #
forEachExample :: ([Int], ()) Source #
cycleToStreamExample :: ([Int], ()) Source #
takeConsumeExample :: ([Int], ()) Source #
inFoldableExample :: ([Int], ()) Source #
enumerateExample :: ([(Int, String)], ()) Source #
effIOExample :: IO () Source #
awaitList :: forall (e :: Effects) (es :: Effects) a. e :> es => [a] -> IOE e -> (forall (e1 :: Effects). Consume a e1 -> Eff (e1 :& es) ()) -> Eff es () Source #
takeRec :: forall (e3 :: Effects) (es :: Effects) a. e3 :> es => Int -> (forall (e :: Effects). Consume a e -> Eff (e :& es) ()) -> Consume a e3 -> Eff es () Source #
mapRec :: forall (e :: Effects) (es :: Effects) a b. e :> es => (a -> b) -> (forall (e1 :: Effects). Consume b e1 -> Eff (e1 :& es) ()) -> Consume a e -> Eff es () Source #
traverseRec :: forall (e :: Effects) (es :: Effects) a b. e :> es => (a -> Eff es b) -> (forall (e1 :: Effects). Consume b e1 -> Eff (e1 :& es) ()) -> Consume a e -> Eff es () Source #
awaitUsage :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects). (e1 :> es, e2 :> es) => IOE e1 -> (forall (e :: Effects). Consume () e -> Eff (e :& es) ()) -> Consume Int e2 -> Eff es () Source #
awaitExample :: IO () Source #
consumeStreamExample2 :: IO () Source #
zipCoroutinesExample :: IO () Source #
countPositivesNegatives :: [Int] -> String Source #
runMyHandle :: forall (es :: Effects) a. (forall (e :: Effects). MyHandle e -> Eff (e :& es) a) -> Eff es (Either String (a, Int)) Source #
countExample :: IO () Source #
incrementReadLine :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects) (e3 :: Effects). (e1 :> es, e2 :> es, e3 :> es) => State Int e1 -> Exception String e2 -> IOE e3 -> Eff es () Source #
runCounter1 :: forall (es :: Effects) r. (forall (e :: Effects). Counter1 e -> Eff (e :& es) r) -> Eff es Int Source #
data Counter2 (e1 :: Effects) (e2 :: Effects) Source #
Constructors
| MkCounter2 (State Int e1) (Exception () e2) |
incCounter2 :: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects). (e1 :> es, e2 :> es) => Counter2 e1 e2 -> Eff es () Source #
runCounter2 :: forall (es :: Effects) r. (forall (e1 :: Effects) (e2 :: Effects). Counter2 e1 e2 -> Eff (e2 :& (e1 :& es)) r) -> Eff es Int Source #
runCounter3 :: forall (es :: Effects) r. (forall (e :: Effects). Counter3 e -> Eff (e :& es) r) -> Eff es Int Source #
runCounter3B :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => IOE e1 -> (forall (e :: Effects). Counter3B e -> Eff (e :& es) r) -> Eff es r Source #
exampleCounter3B :: IO () Source #
getCounter4 :: forall (e :: Effects) (es :: Effects). e :> es => Counter4 e -> String -> Eff es Int Source #
runCounter4 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter4 e -> Eff (e :& es) r) -> Eff es Int Source #
exampleCounter4 :: ([String], Int) Source #
data Counter5 (e :: Effects) Source #
Constructors
| MkCounter5 | |
Fields
| |
Instances
getCounter5 :: forall (e :: Effects) (es :: Effects). e :> es => Counter5 e -> String -> Eff es Int Source #
runCounter5 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter5 e -> Eff (e :& es) r) -> Eff es Int Source #
exampleCounter5 :: ([String], Int) Source #
data Counter6 (e :: Effects) Source #
Constructors
| MkCounter6 | |
Fields
| |
Instances
| Handle Counter6 Source # | |||||
Defined in Bluefin.Internal.Examples Methods | |||||
| e :> es => OneWayCoercible (Counter6 e :: Type) (Counter6 es :: Type) Source # | |||||
Defined in Bluefin.Internal.Examples Methods oneWayCoercibleImpl :: OneWayCoercibleD (Counter6 e) (Counter6 es) Source # | |||||
| Generic (Counter6 e) Source # | |||||
Defined in Bluefin.Internal.Examples Associated Types
| |||||
| type Rep (Counter6 e) Source # | |||||
Defined in Bluefin.Internal.Examples type Rep (Counter6 e) = D1 ('MetaData "Counter6" "Bluefin.Internal.Examples" "bluefin-internal-0.4.0.0-KrNKOc9cS0oJUBTJfq75I9" 'False) (C1 ('MetaCons "MkCounter6" 'PrefixI 'True) (S1 ('MetaSel ('Just "incCounter6Impl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Eff e ())) :*: (S1 ('MetaSel ('Just "counter6State") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (State Int e)) :*: S1 ('MetaSel ('Just "counter6Stream") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Stream String e))))) | |||||
getCounter6 :: forall (e :: Effects) (es :: Effects). e :> es => Counter6 e -> String -> Eff es Int Source #
runCounter6 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter6 e -> Eff (e :& es) r) -> Eff es Int Source #
exampleCounter6 :: ([String], Int) Source #
data Counter7 (e :: Effects) Source #
Constructors
| MkCounter7 | |
Fields
| |
Instances
| Handle Counter7 Source # | |
Defined in Bluefin.Internal.Examples Methods | |
| e :> es => OneWayCoercible (Counter7 e :: Type) (Counter7 es :: Type) Source # | The "forall" in the type of |
Defined in Bluefin.Internal.Examples Methods oneWayCoercibleImpl :: OneWayCoercibleD (Counter7 e) (Counter7 es) Source # | |
incCounter7 :: forall (e :: Effects) (es :: Effects) (e1 :: Effects). (e :> es, e1 :> es) => Counter7 e -> Exception () e1 -> Eff es () Source #
getCounter7 :: forall (e :: Effects) (es :: Effects). e :> es => Counter7 e -> String -> Eff es Int Source #
runCounter7 :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Stream String e1 -> (forall (e :: Effects). Counter7 e -> Eff (e :& es) r) -> Eff es Int Source #
exampleCounter7A :: ([String], Int) Source #
exampleCounter7B :: ([String], Int) Source #
data FileSystem (es :: Effects) Source #
Constructors
| MkFileSystem | |
Fields
| |
Instances
| Handle FileSystem Source # | |||||
Defined in Bluefin.Internal.Examples Methods | |||||
| e :> es => OneWayCoercible (FileSystem e :: Type) (FileSystem es :: Type) Source # | |||||
Defined in Bluefin.Internal.Examples Methods oneWayCoercibleImpl :: OneWayCoercibleD (FileSystem e) (FileSystem es) Source # | |||||
| Generic (FileSystem es) Source # | |||||
Defined in Bluefin.Internal.Examples Associated Types
Methods from :: FileSystem es -> Rep (FileSystem es) x # to :: Rep (FileSystem es) x -> FileSystem es # | |||||
| type Rep (FileSystem es) Source # | |||||
Defined in Bluefin.Internal.Examples type Rep (FileSystem es) = D1 ('MetaData "FileSystem" "Bluefin.Internal.Examples" "bluefin-internal-0.4.0.0-KrNKOc9cS0oJUBTJfq75I9" 'False) (C1 ('MetaCons "MkFileSystem" 'PrefixI 'True) (S1 ('MetaSel ('Just "readFileImpl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FilePath -> Eff es String)) :*: S1 ('MetaSel ('Just "writeFileImpl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FilePath -> String -> Eff es ())))) | |||||
readFile :: forall (e :: Effects) (es :: Effects). e :> es => FileSystem e -> FilePath -> Eff es String Source #
writeFile :: forall (e :: Effects) (es :: Effects). e :> es => FileSystem e -> FilePath -> String -> Eff es () Source #
runFileSystemPure :: forall (e1 :: Effects) (es :: Effects) r. e1 :> es => Exception String e1 -> [(FilePath, String)] -> (forall (e2 :: Effects). FileSystem e2 -> Eff (e2 :& es) r) -> Eff es r Source #
runFileSystemIO :: forall (e1 :: Effects) (e2 :: Effects) (es :: Effects) r. (e1 :> es, e2 :> es) => Exception String e1 -> IOE e2 -> (forall (e :: Effects). FileSystem e -> Eff (e :& es) r) -> Eff es r Source #
data Application (e :: Effects) Source #
Constructors
| MkApplication | |
Instances
| Handle Application Source # | |||||
Defined in Bluefin.Internal.Examples Methods | |||||
| e :> es => OneWayCoercible (Application e :: Type) (Application es :: Type) Source # | |||||
Defined in Bluefin.Internal.Examples Methods oneWayCoercibleImpl :: OneWayCoercibleD (Application e) (Application es) Source # | |||||
| Generic (Application e) Source # | |||||
Defined in Bluefin.Internal.Examples Associated Types
Methods from :: Application e -> Rep (Application e) x # to :: Rep (Application e) x -> Application e # | |||||
| type Rep (Application e) Source # | |||||
Defined in Bluefin.Internal.Examples type Rep (Application e) = D1 ('MetaData "Application" "Bluefin.Internal.Examples" "bluefin-internal-0.4.0.0-KrNKOc9cS0oJUBTJfq75I9" 'False) (C1 ('MetaCons "MkApplication" 'PrefixI 'True) (S1 ('MetaSel ('Just "queryDatabase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (String -> Int -> Eff e [String])) :*: (S1 ('MetaSel ('Just "applicationState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (State (Int, Bool) e)) :*: S1 ('MetaSel ('Just "logger") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Stream String e))))) | |||||
polymorphicBracket :: forall (st :: Effects) (es :: Effects). st :> es => State (Integer, Bool) st -> Eff es () -> Eff es () Source #
pipesExample1 :: IO () Source #
pipesExample2 :: IO String Source #
promptCoroutine :: IO () Source #
rethrowIOExample :: IO () Source #
data DynamicReader r (e :: Effects) Source #
The "forall" in the type of localRImpl means that we can't
derive the OneWayCoercible instance with gOneWayCoercible so
instead we use oneWayCoercibleTrustMe.
Constructors
| DynamicReader | |
Instances
| e :> es => OneWayCoercible (DynamicReader r e :: Type) (DynamicReader r es :: Type) Source # | |
Defined in Bluefin.Internal.Examples Methods oneWayCoercibleImpl :: OneWayCoercibleD (DynamicReader r e) (DynamicReader r es) Source # | |
| Handle (DynamicReader r) Source # | |
Defined in Bluefin.Internal.Examples Methods handleImpl :: HandleD (DynamicReader r) Source # | |
localLR :: forall (e :: Effects) (es :: Effects) r a. e :> es => DynamicReader r e -> (r -> r) -> Eff es a -> Eff es a Source #
runDynamicReader :: forall r (es :: Effects) a. r -> (forall (e :: Effects). DynamicReader r e -> Eff (e :& es) a) -> Eff es a Source #