@@ -16,7 +16,7 @@ import qualified System.IO as IO
17import Effectful
17import Effectful
18import Effectful.Error
18import Effectful.Error
19−import Effectful.State
19+import Effectful.State.Local
21-- | An effect for reading and writing files.
21-- | An effect for reading and writing files.
22data FileSystem :: Effect where
22data FileSystem :: Effect where
@@ -30,11 +30,11 @@ newtype FsError = FsError String
30-- Operations
30-- Operations
32-- | Read contents of a file.
32-- | Read contents of a file.
33−readFile :: FileSystem :> es => FilePath -> Eff es String
33+readFile :: (HasCallStack, FileSystem :> es) => FilePath -> Eff es String
34readFile = send . ReadFile
34readFile = send . ReadFile
36-- | Write contents to a file.
36-- | Write contents to a file.
37−writeFile :: FileSystem :> es => FilePath -> String -> Eff es ()
37+writeFile :: (HasCallStack, FileSystem :> es) => FilePath -> String -> Eff es ()
38writeFile path = send . WriteFile path
38writeFile path = send . WriteFile path
40----------------------------------------
40----------------------------------------