diff options
author | William Carroll <wpcarro@gmail.com> | 2020-08-09T21·17+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-08-09T21·17+0100 |
commit | bbcd0bf27d2663a9673983ccf6e2cf7034ddf240 (patch) | |
tree | 18c6fa980ffce4a598e4889ea56510fd2f21495f /website/sandbox/learnpianochords/src/server/TestUtils.hs | |
parent | 7d85ba559dd50e0552abccb45d1cf5766ebcb541 (diff) |
Replace Prelude with RIO
I believe RIO stands for: "ReaderT <something-something> IO", which is a nod to the top-level application data type: ```haskell -- This is a simplification newtype RIO env a = RIO { runRIO :: ReaderT env a () } ``` I read about RIO from an FP-Complete blog post a few months ago, and now I'm excited to try it out for a real project. Bon voyage!
Diffstat (limited to 'website/sandbox/learnpianochords/src/server/TestUtils.hs')
-rw-r--r-- | website/sandbox/learnpianochords/src/server/TestUtils.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/website/sandbox/learnpianochords/src/server/TestUtils.hs b/website/sandbox/learnpianochords/src/server/TestUtils.hs index e62950369e65..24054bf47afd 100644 --- a/website/sandbox/learnpianochords/src/server/TestUtils.hs +++ b/website/sandbox/learnpianochords/src/server/TestUtils.hs @@ -1,6 +1,7 @@ -------------------------------------------------------------------------------- module TestUtils where -------------------------------------------------------------------------------- +import RIO import Web.JWT import Data.String.Conversions (cs) -------------------------------------------------------------------------------- @@ -9,7 +10,7 @@ unsafeStringOrURI :: String -> StringOrURI unsafeStringOrURI x = case stringOrURI (cs x) of Nothing -> error $ "Failed to convert to StringOrURI: " ++ x - Just x -> x + Just res -> res unsafeJust :: Maybe a -> a unsafeJust Nothing = error "Attempted to force a Nothing to be a something" |