[darcs-users] Fwd: Towards a conflict-free revision control system.

Ganesh Sittampalam ganesh at earth.li
Wed Jan 21 05:55:21 UTC 2009


On Tue, 20 Jan 2009, Max Battcher wrote:

> Trent W. Buck wrote:
>> Kari Hoijarvi <hoijarvi at seas.wustl.edu> writes:
>>
>>> Dan Pascu wrote:
>>> Program is stored as a tree, and the IDE pretty prints it, the way you
>>> choose to.
>>
>> To handle arbitrary source formats in this way (which is what Darcs
>> would need to do), you need two steps:
>>
>>   - a READ procedure, which converts the working tree into a normal
>>     form.  For example, a C language READ might utilize gccxml, and a
>>     ReStructured Text READ would use rst2xml.
>>
>>   - a SHOW procedure, which converts the internal representation (normal
>>     form) to something the user can edit without going insane.
>>
> ... and then there is the fun that David Roundy liked to point out: how
> many of us program in complete compilable (and thus
> deconstructable/reconstructable) code *all the time*?  What if you want
> to save a non-working fragment in progress?  What if you make a tiny
> mistake and the file fails to parse correctly?
>
> You need either extremely hardened parsers that can withstand and well
> recover from error...  or separate patch types/source control systems
> for works in progress versus tested/compiled files...

Or a structure editor, like intentional programming had, in which all your 
works in progress are valid syntax trees (there was a special syntactic 
element for "unfilled in bit", but things like brackets did match around 
it in the rendering).

Ganesh


More information about the darcs-users mailing list