patch applied (packages/filepath): The current directory is ".",
not "" (GHC bug #2034) (patch version 2)
Simon Marlow
marlowsd at gmail.com
Fri May 7 17:35:38 EDT 2010
On 07/05/10 20:32, Neil Mitchell wrote:
> Hi Simon,
>
> I notice this is only a 1 line change. Have you updated the properties as well?
Something got messed up in my darcs repository, and the patch was some
kind of weird conflict. I pushed a subsequent one with the real
changes. (you may remember we discussed this patch a few months ago on
the libraries list, I only just got around to pushing it)
> Have you run the QuickCheck test that ensures these properties are
> still correct? The properties are both documentation and tests.
Yes I did run the tests, and I added and removed a few properties. I
got some occasional failures with obscure Windows UNC paths, but I think
that was also the case before - you could probably reproduce it quite
easily, just run the tests a few times.
Cheers,
Simon
> Thanks, Neil
>
> On Wed, May 5, 2010 at 1:48 PM, Simon Marlow<marlowsd at gmail.com> wrote:
>> Wed Nov 4 01:51:09 PST 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.
>>
>> 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
>> Cvs-libraries at haskell.org
>> http://www.haskell.org/mailman/listinfo/cvs-libraries
>>
More information about the Cvs-libraries
mailing list