(The above three functions are all available in the standard module System.Directory and free for you to use here.)
Alltså behöver du inte skriva dom själv, bara använda dom. Och dom gör precis vad som står i uppgiften... Om du är i en mapp och inte vet vilken det är så kan du på linux köra pwd (print working directory), getCurrentDirectory gör precis samma sak, dvs den skriver ut vilken mapp du är i. setCurrentDirectory å andra sidan gör precis samma sak som cd (change directory), dvs den byter mapp åt dig.
imprint :: File -> IO () imprint (File file) = do writeFile file "" imprint (Dir name files) = do createDirectory name here <- getCurrentDirectory setCurrentDirectory name sequence_ [ imprint file | file <- files ] setCurrentDirectory here
Men frågan är ju för Filesystem! Inte bara file.
Så jag gjorde här i slutet.
imprintSystem :: Filesystem -> IO ()
imprintSystem xs = sequence_ [imprint x | x <-xs ]
ska det inte vara så egentligen?
Annars har jag misslyckat och ska gråta ^_^