-> IO [File]
                  
                  
                  
                  
                  
                  parseFiles :: [File] -> [Either String [Data]]
                  
                  
                  
                  
                  
                  outputErrors :: [Either String [Data]] -> [Data]
                  
                  
                  
                  
                  
                  analyseData :: [Data] -> [Analysis]
                  
                  
                  
                  
                  
                  writeDataToCsv :: [Analysis] -> CSV
                  
                  
                  
                  
                  
                  analyseSourceCode :: FilePath -> IO CSV
                  
                  
                  analyseSourceCode path =
                  
                  
                      writeDataToCsv
                  
                  
                          .   analyseData
                  
                  
                          .   outputErrors
                  
                  
                          .   parseFiles
                  
                  
                          <$> readFiles path
                  
                  
                  
                  
                  
                  Но я бы хотел поменять тип на outputErrors :: [Either String [Data]] -> IO [Data], чтобы outputErrors выводил Left String, а возвращал Right [Data]. В таком случае как мне это завернуть в analyseSourceCode? Пробовал заменить . на <$>, но это, конечно, не завелось)
                  
                  
                
попробуйте переписать в do-нотации
Обсуждают сегодня