
Hello, What is the type of hdf2mergedcbf' ? Does it work if you write `void (hdf2mergedcbf' (head masters) 1 1)` ? On 29/11/2019 11:55, PICCA Frederic-Emmanuel wrote:
Hello, I aheve some code whcih look like this
thumbnail' :: (MonadIO m, MonadReader Beamline m, MonadThrow m) => ThumbnailInput -> m () thumbnail' (ThumbnailInput col) = do cwd <- toResultsPath "thumbnail" col let shakeFiles' = cwd > $(mkRelDir ".shake/") let shakeReport' = shakeFiles' > $(mkRelFile "report.html")
liftIO $ shake shakeOptions{ shakeFiles=fromAbsDir shakeFiles' , shakeReport=[fromAbsFile shakeReport'] , shakeVerbosity=Diagnostic } $ do let uploaded = fromAbsFile $ cwd > $(mkRelFile "thumbnail.uploaded")
want [uploaded]
-- (Rule 1) merge the image files uploaded %> \_out -> do -- need [xml] masters <- liftIO $ expectedInputFiles col liftIO $ hdf2mergedcbf' (head masters) 1 1 liftIO $ case col of (SomeDataCollection SCollect SHdf5 _) -> hdf2mergedcbf' (head masters) 1 1 (SomeDataCollection SCollect SHdf5' _) -> undefined -- hdf2mergedcbf' (head masters) 1 1 (SomeDataCollection SCaracterization SHdf5 _) -> undefined (SomeDataCollection SCaracterization SHdf5' _) -> undefined _ -> error "show not arrive here !!!"
-- hdf2mergedcbf -- command [] "touch" [uploaded] return ()
When I try to compile it, it give me this error
• Couldn't match type ‘a0’ with ‘()’ ‘a0’ is untouchable inside the constraints: f ~ 'ISPyB.DataCollection.Hdf5 bound by a pattern with constructor: SHdf5 :: SCollectSourceFormat 'ISPyB.DataCollection.Hdf5, in a case alternative at src/Thumbnail.hs:180:38-42 Expected type: IO a0 Actual type: IO () • In the expression: hdf2mergedcbf' (head masters) 1 1 In a case alternative: (SomeDataCollection SCollect SHdf5 _) -> hdf2mergedcbf' (head masters) 1 1 In the second argument of ‘($)’, namely ‘case col of (SomeDataCollection SCollect SHdf5 _) -> hdf2mergedcbf' (head masters) 1 1 (SomeDataCollection SCollect SHdf5' _) -> undefined (SomeDataCollection SCaracterization SHdf5 _) -> undefined (SomeDataCollection SCaracterization SHdf5' _) -> undefined _ -> error "show not arrive here !!!"’ | 180 | (SomeDataCollection SCollect SHdf5 _) -> hdf2mergedcbf' (head masters) 1 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
What I do not understand is how to fix this since it seems that
liftIO $ hdf2mergedcbf' (head masters) 1 1 works out of the case
thanks for your help
Frederic _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners