unexpected behavior from filterM doesFileExist =<< getDirectoryContents

Can somebody explain this?
getDirectoryContents inD
["..","#sanity.txt#",".","sanity.txt","etc.txt","patchTagDir.txt","jail.txt","notjail.txt","alldata.txt","allobjs.txt","namesNSizes.txt"]
filterM doesFileExist =<< getDirectoryContents inD
["sanity.txt"]

On Jan 10, 2010, at 00:24 , Thomas Hartman wrote:
Can somebody explain this?
getDirectoryContents inD
["..","#sanity .txt #",".","sanity .txt ","etc .txt ","patchTagDir .txt ","jail .txt","notjail.txt","alldata.txt","allobjs.txt","namesNSizes.txt"]
filterM doesFileExist =<< getDirectoryContents inD
["sanity.txt"]
My first guess is that inD isn't "."; getDirectoryContents doesn't fully qualify the names it returns, so doesFileExist looks in the current directory for the bare names returned. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

Thanks, that was it.
Dud question.
2010/1/9 Brandon S. Allbery KF8NH
On Jan 10, 2010, at 00:24 , Thomas Hartman wrote:
Can somebody explain this?
getDirectoryContents inD
["..","#sanity .txt #",".","sanity .txt ","etc .txt ","patchTagDir .txt ","jail .txt","notjail.txt","alldata.txt","allobjs.txt","namesNSizes.txt"]
filterM doesFileExist =<< getDirectoryContents inD
["sanity.txt"]
My first guess is that inD isn't "."; getDirectoryContents doesn't fully qualify the names it returns, so doesFileExist looks in the current directory for the bare names returned.
-- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH
participants (2)
-
Brandon S. Allbery KF8NH
-
Thomas Hartman