Remove duplicated old way of doing this

This commit is contained in:
Niels G. W. Serup 2024-09-21 17:39:50 +02:00
parent 6a2a87cfc3
commit bb52c043cd
No known key found for this signature in database
GPG Key ID: 38EEEBCE67324F19
3 changed files with 10 additions and 16 deletions

View File

@ -16,13 +16,10 @@ data ComputationRun a b = ComputationRun (Function a b)
data TypedRun a b where data TypedRun a b where
F :: Function a b -> TypedRun a b F :: Function a b -> TypedRun a b
FIO' :: IsFIO f a b => f -> TypedRun a b FIO :: IsFIO f a b => f -> TypedRun a b
FIO :: FunctionIO a b -> TypedRun a b
TInject :: b -> TypedRun () b TInject :: b -> TypedRun () b
InList :: ComputationM TokenNotTraversable b -> TypedRun [a] [b] InList :: ComputationM TokenNotTraversable b -> TypedRun [a] [b]
testtr = FIO' ListDirectory'
instance Show (ComputationM t a) where instance Show (ComputationM t a) where
show _ = "<computation>" show _ = "<computation>"
@ -76,7 +73,7 @@ inject :: Show a => a -> ComputationM ta a
inject x = genDependency (Dependency NoToken (TInject x)) inject x = genDependency (Dependency NoToken (TInject x))
runIO :: (Show a, Show b, IsFIO f a b) => f -> Token t a -> ComputationM TokenNotTraversable b runIO :: (Show a, Show b, IsFIO f a b) => f -> Token t a -> ComputationM TokenNotTraversable b
runIO f input = genDependency (Dependency input (FIO' f)) runIO f input = genDependency (Dependency input (FIO f))
makeTraversable :: Token TokenNotTraversable [a] -> Token TokenTraversable (Token TokenNotTraversable a) makeTraversable :: Token TokenNotTraversable [a] -> Token TokenTraversable (Token TokenNotTraversable a)
makeTraversable (Token n) = Token n makeTraversable (Token n) = Token n

View File

@ -16,8 +16,6 @@ data Function a b where
deriving instance Show (Function a b) deriving instance Show (Function a b)
data FunctionIO a b where data FunctionIO a b where
ListDirectory :: FunctionIO FilePath [FilePath]
OpenImage :: FunctionIO FilePath Image
ConvertImage :: FunctionIO (Image, ImageConversion) Image ConvertImage :: FunctionIO (Image, ImageConversion) Image
Save :: FunctionIO (a, FilePath) () Save :: FunctionIO (a, FilePath) ()
RunPandoc :: FunctionIO String String RunPandoc :: FunctionIO String String
@ -29,13 +27,12 @@ deriving instance Show (FunctionIO a b)
class (SourceState a, Show f) => IsFIO f a b | f -> a b where class (SourceState a, Show f) => IsFIO f a b | f -> a b where
runFIO :: f -> a -> IO b runFIO :: f -> a -> IO b
data ListDirectory = ListDirectory
data ListDirectory' = ListDirectory'
deriving (Show) deriving (Show)
instance IsFIO ListDirectory' FilePath [FilePath] where instance IsFIO ListDirectory FilePath [FilePath] where
runFIO ListDirectory' path = undefined runFIO ListDirectory path = undefined
data OpenImage' = OpenImage' data OpenImage = OpenImage
deriving (Show) deriving (Show)
instance IsFIO OpenImage' FilePath Image where instance IsFIO OpenImage FilePath Image where
runFIO OpenImage' path = undefined runFIO OpenImage path = undefined

View File

@ -6,9 +6,9 @@ import ComputationM
test :: ComputationM TokenNotTraversable () test :: ComputationM TokenNotTraversable ()
test = do test = do
dir <- inject "retter" dir <- inject "retter"
dirContents <- runIO ListDirectory' dir dirContents <- runIO ListDirectory dir
let dirContents' = makeTraversable dirContents let dirContents' = makeTraversable dirContents
u <- mapM (runIO OpenImage') dirContents' u <- mapM (runIO OpenImage) dirContents'
pure $ NoToken pure $ NoToken
main :: IO () main :: IO ()