World: r3wp
[!Liquid] any questions about liquid dataflow core.
older newer | first last |
Steeve 16-Feb-2007 [109] | *can |
Maxim 16-Feb-2007 [110x3] | each node has a multitude of connectivity options. |
and connect several other nodes (plugs) to any node, you can even label and separate your connections, | |
the actual data you transport through the connections (links) is arbitrary, and can change at each data change. | |
Steeve 16-Feb-2007 [113] | hmm ok |
Maxim 16-Feb-2007 [114x2] | containers hold the input data, so you can put anything in them... |
then the linked nodes, will link to those containers, or other nodes, and the processing of each node, will determine what is output from the node as source data for another node or as actual processed data. | |
Steeve 16-Feb-2007 [116x2] | for example, if i have a collection of nodes, each of them, relative to a string |
all the strings form a rebol script | |
Maxim 16-Feb-2007 [118] | yes? |
Steeve 16-Feb-2007 [119x4] | if i want manage the insertion or the deletion of one line of my source |
i have to create myself a nex node or delete it, exact ? | |
*new node | |
not nex | |
Maxim 16-Feb-2007 [123x2] | you create a new node, with the new line of text and link it AT the offset which you want , and then just ask the master node for its text, and it will give you the new output. (if that is what its processing does) |
so: node_a = "a string" --> \ | node_c.output = "a string of text" node_b = "of text" --> / | |
Steeve 16-Feb-2007 [125x2] | is see |
but if i insert a node between a and b, node c is not informed ? | |
Maxim 16-Feb-2007 [127x2] | if you then insert node_d after node_a: node_a = "a string" --> \ node_d =" ... " --> | node_c.output = "a string ... of text" node_b = "of text" --> / |
its lazy... (unless you tell it not to be) | |
Steeve 16-Feb-2007 [129] | ok |
Maxim 16-Feb-2007 [130] | so node_c KNOWS its not up to date but computes nothing unless you need its value. |
Steeve 16-Feb-2007 [131] | good thing |
Maxim 16-Feb-2007 [132] | and thus, even if you change any input node's values or link new stuff to node_c... none of that will actually call any processing, untill you ask for the content of node_c |
Steeve 16-Feb-2007 [133] | and now a more harder question |
Maxim 16-Feb-2007 [134] | which is how I decoupled the refresh and the event handler of my graph editor. |
Steeve 16-Feb-2007 [135x3] | if i insert a newline in the text of node_a |
how can i split node_a in 2 nodes ? | |
is there a trick to auto split a node foolowing a specific rule ? | |
Maxim 16-Feb-2007 [138] | that management is up to you. liquid is a core kernel. its not a language-driven... on purpose. |
Steeve 16-Feb-2007 [139] | ok |
Maxim 16-Feb-2007 [140x3] | I could have waisted time on some kind of generic node manager, but even after a year of work, it would still be useless... cause nodes are about processing. |
liquid is a hybrid of storage, association, synchronisation, dependencies, and some in between. it does all of those things using the same core node, and allows you to build any kind of manager, or dependecy model over it. | |
since nodes actually are objects, its not some mysterious hidden thing you try to grasp by reverse thinking of cause effect. | |
Steeve 16-Feb-2007 [143] | another question ? |
Maxim 16-Feb-2007 [144x2] | you actually have access to all core methods like link, cycle?, process, init, propagate, etc. |
no problem :-) | |
Steeve 16-Feb-2007 [146x2] | how can we manage bijective depedency ? |
for example: | |
Maxim 16-Feb-2007 [148] | you mean two nodes which are symmetric but actually have different data? |
Steeve 16-Feb-2007 [149] | yes |
Maxim 16-Feb-2007 [150x3] | like a node which has "one" and another which has 1 |
(the second actually being an integer) | |
well that is done using pipes. | |
Steeve 16-Feb-2007 [153x2] | we have to nodes A et B |
when A is modified B is updated | |
Maxim 16-Feb-2007 [155] | all members of a pipes are equal owners of the same value. |
Steeve 16-Feb-2007 [156] | when B is modified, A must be updated |
Maxim 16-Feb-2007 [157] | yes... already part of the engine... and again... the magic is doing so with the same actual object class :-) |
Steeve 16-Feb-2007 [158] | godd |
older newer | first last |