[GHC] #2034: In FilePath, current directory should be ".", not ""

GHC trac at galois.com
Wed Nov 4 04:53:08 EST 2009


#2034: In FilePath, current directory should be ".", not ""
----------------------------------+-----------------------------------------
    Reporter:  igloo              |        Owner:  neil            
        Type:  proposal           |       Status:  new             
    Priority:  normal             |    Milestone:  6.12.1          
   Component:  libraries (other)  |      Version:  6.8.1           
    Severity:  normal             |   Resolution:                  
    Keywords:                     |   Difficulty:  Unknown         
    Testcase:                     |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple   |  
----------------------------------+-----------------------------------------
Comment (by simonmar):

 Patch version 2 added, after discussion on the libraries list.  The new
 patch description is:

 {{{
 Wed Nov  4 09:51:09 GMT 2009  Simon Marlow <marlowsd at gmail.com>
   * The current directory is ".", not "" (GHC bug #2034) (patch version 2)

   So now
           splitFileName "foo" = ("./", "foo")

   which gives us the additional property that

   > Valid x => isValid (fst (splitFileName x))

   This property is important, because it means that we can pass the
   result of takeDirectory to any of the functions in System.Directory,
   whereas previously we would have to check for the empty case first.

   After discussion on the libraries list, I removed the second part of
   the original change:

           "." </> x = x

   This small bit of normalisation was there to ensure that the property

   > Valid x => uncurry </> (splitFileName x) == x

   still held.  However, it was arguably inconsistent (see the
   discussion).  Now this property has an exception:

   > Valid x => uncurry (</>) (splitFileName x) == x || fst (splitFileName
 x) == "./"

   This is a small price to pay to gain the new property above.
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2034#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list