Hier eine Implementierung eines Minimierungsalgorythmus für Delta Debugging in Haskell:
splitInto :: Int -> [a] -> [[a]] splitInto num lst = recSplit [] lst where recSplit xs part | length part ([a] -> IO Bool) -> [a] -> Int -> IO [a] ddmin testfun cx n | length cx == 1 = return $ cx | n < (length cx) = ddmin testfun cx (min (2*n) (length cx)) | otherwise = checkChunk chunks where checkChunk [] = return $ cx checkChunk (x:xs) = do res <- testfun (cx \ x) if res then checkChunk xs else ddmin testfun (cx \ x) (max (n-1) 2) chunks = splitInto n cx