Wed Nov  4 01:51:09 PST 2009  Simon Marlow <[email protected]>
  * 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.

    M ./System/FilePath/Internal.hs +1

View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=packages/filepath;a=darcs_commitdiff;h=20091104095109-12142-8166ae12d0b2fe782134d15700beba5cfd555bef.gz
_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to