lumiera_documentation/src/lib/diff
Ichthyostega 835c43027d add support for Ref::THIS (questionable, #996)
while simple to add into the implementation, this whole feature
seems rather qestionable to me now, thus I've added a Ticket
to be revisited later.

In a nutshell, right here, when implementing the binding layer
for STL collections, it is easy to enable the framework to treat
Ref::THIS properly, but the *actual implementation* will necessarily
be offloaded onto each and every concrete binding implementation.
Thus client code would have to add support for an rather obscure
shortcut within the Diff language. The only way to avoid this
would be to change the semantics of the "match"-lambda: if this
binding would rather be a back-translation of implementation data
into GenNode::ID values, then we'd be able to implement Ref::THIS
natively. But such an approach looks like a way inferiour deisgn
to me; having delegated the meaning of a "match" to the client
seems like an asset, since it is both natural and opens a lot
of flexibility, without adding complexity.

For that reason I tend to avoid that shortcut now, in the hope
to be able to drop it entirely from the language
2016-04-18 01:21:38 +02:00
..
diff-language.hpp WIP: daft top layer of generic diff applicator 2016-02-21 00:49:13 +01:00
diff.cpp reorganise compilation units 2015-08-30 04:57:32 +02:00
gen-node.cpp add support for Ref::THIS (questionable, #996) 2016-04-18 01:21:38 +02:00
gen-node.hpp allow to "peek" into an embedded Record's type field 2016-04-16 00:48:15 +02:00
index-table.hpp allow for iterative access to the snapshot data in the lookup table 2015-01-04 14:23:12 +01:00
list-diff-application.hpp fix/change DiffApplicator to allow applying several diffs 2015-10-31 05:15:47 +01:00
list-diff-detector.hpp identify and decide on some of the insidious questions of design 2015-03-21 19:23:41 +01:00
list-diff.hpp diff-language interpreter: prefer to take payload by const& 2015-10-24 02:42:13 +02:00
record-content-mutator.hpp Bugfix: yet another init problem after swapping contents 2015-11-01 04:49:22 +01:00
record.hpp better naming of Record::Mutator content moving operation 2016-03-03 22:58:33 +01:00
test-mutation-target.hpp make TreeMutator noncopyable to prevent dangling references 2016-03-26 02:01:31 +01:00
tree-diff-application.hpp fix logic bug in existing tree diff applicator 2016-03-10 20:41:11 +01:00
tree-diff-mutator-binding.hpp idea how to crack the (daunting) problem regarding mutator storage 2016-03-06 02:26:42 +01:00
tree-diff.hpp add support for Ref::THIS (questionable, #996) 2016-04-18 01:21:38 +02:00
tree-mutator-attribute-binding.hpp make TreeMutator noncopyable to prevent dangling references 2016-03-26 02:01:31 +01:00
tree-mutator-collection-binding.hpp add support for Ref::THIS (questionable, #996) 2016-04-18 01:21:38 +02:00
tree-mutator.hpp implement fast-forward and assignment to value 2016-04-17 01:07:07 +02:00