On Tue, 23 Mar 2010, Benedikt Huber wrote:

* Type witnesses
Type witnesses are really neat when writing darcs library code and helped to prevent some mistakes there (escaping of type variables). But they are also inconvenient to build at the moment and not easy to understand at the beginning.

The sudden flurry of people using darcslib and the usage scenarios they've got have convinced me that we really need to sort this out.

Right now I'm trying to fill in the gaps so that we can build actual running code with witnesses on. If and when that's done, we'll have to decide what the default should be and whether we should make them unconditional and drop the CPP. We're also crying out for proper documentation of them.

At the GUI / external tool level, we did not need them so far, because of working with sealed primitive patches and PatchChoice only. The Sealed2 type was fine, but added some clutter, requiring 'unseal2' at many places. Maybe using darcs library at a level so low it requires type witnesses will easily lead to corrupted repositories anyway.

I think that the type witnesses will be quite a big help in protecting clients from corrupting things. I do realise they're a pain though.

Cheers,

Ganesh
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to