[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