World: r3wp
[!Liquid] any questions about liquid dataflow core.
older newer | first last |
Maxim 8-Dec-2008 [609x2] | hehehhe |
moving to chat group.... | |
Mchean 9-Dec-2008 [611] | hi Maxim! |
Maxim 10-Dec-2008 [612] | howdy. |
Henrik 10-Dec-2008 [613] | Hi, Maxim. |
Graham 29-Jan-2009 [614] | max "maybe, I'll release some stuff." .... |
Maxim 5-Feb-2009 [615] | working a lot on remark right now... |
Will 6-Feb-2009 [616] | Maxim: do you have something cool to menage nodes and trees ? would you share? 8) |
Maxim 6-Feb-2009 [617x2] | yess its already on rebol.org... its not a visually driven engine, though, if that's what you are looking for. |
the visual node work engine is my other (large) project, called Elixir ... its a node-driven work environment. Elixir is not yet ready for public scrutiny as its just a few percent short of being usable. | |
Will 7-Feb-2009 [619] | you mean http://www.rebol.org/view-script.r?script=liquid.r? 8) |
Maxim 25-Feb-2009 [620] | yep |
Josh 26-Feb-2009 [621x2] | I finally started playing around with liquid.r Having a little trouble conceptually with converting code that contains objects into the data-flow model. For example, I was fiddling around with a D&D character generator. I have an ABILITY! object class that I'm trying to convert to the model now. SUM is just a function that adds up all the values in a block ability: [[1 -5] [2 -4] [3 -4] [4 -3] [5 -3] [6 -2] [7 -2] [8 -1] [9 -1] [10 0] [11 0] [12 1] [13 1] [14 2] [15 2] [16 3] [17 3] [18 4]] ability!: make object! [ base: 0 modifiers: [0 0] total: does [base + sum modifiers] ability-mod: does [ability/(total)/2] ] It may be a lot to ask, but would it be possible for someone to convert this to liquid, so I can actually see how one creates this kind of hierarchy in data flowprogramming. |
the !sum plug is a good example,but I get a little stuck beyond that. From my first impression of trying to do this, it seems like I'm going to have to define so many variables to make it too troublesome. But I'm sure that I'll have to learn how to think in the right way to avoid all that | |
Josh 27-Feb-2009 [623] | whoops, base needs to have a value above 0 in that example |
Maxim 27-Feb-2009 [624x4] | the difference with dataflow and liquid specifically is that there are no functions in the whole application. |
well only to handle the edge of the graph, since the computer/OS isnt't running within a graph | |
I did a D&D character manipulation application once when prototyping liquid, so I understand exactly what you are trying to do :-) | |
josh, did you try out the tutorial? the example is a basic sum node. although its not exactly what you need for the above example, it should give you an idea of the lego-style building of a liquid network. | |
Robert 27-Feb-2009 [628x2] | Max, I still wait for a simple to follow example and some simple to follow docs. |
So, please don't confuse us :-) | |
Maxim 27-Feb-2009 [630x10] | the simple to follow example already exists for 2 years now :-) |
http://www.pointillistic.com/open-REBOL/moa/steel/liquid/plug/plug-quickstart.html | |
Josh: for simple data compilation and changes (like a D&D character creation/evolution), I suggest writing an aspect-oriented type of node set for your application. | |
I have the ground-work for in if you want to try it out, its ready to use, I even built some interactive glass prototypes with it. | |
basically, how this works is, you have a generic object which you pass around from node to node. each node may add/display/change/remove one or all of the attributes in the objects. Just plug some aspect-managing node to your "current" node and that's it, over and over. Its as easy as calling a function on an object. the difference is that all states of your character are still available up till its creation. you can even branch off at any point and try out another combination with NO risk of corrupting your previous data. | |
the nice thing is that the "aspects" may act on the values of other aspects. one aspect could be "dexterity". another could be mod-dexterity the first one sets it , the second one increases it or reduces it. | |
then another aspect called "armour-class" can be added and it know to use the current dexterity bonus to itself. now you can build up the whole character, up to 12th level like this (adding all skills and levels, etc), and at the end, decide you want to see how it results with an elf, instead... then paf, you change the root aspect "race" to elf, which causes dex to increase by one, and since everything is still connected, your ac is increased by one, without ANY single other thing to do than ask for the resulting character. | |
the trick is to implement the "rules" within the aspects themselves. basically returning some kind of error (or warning) when some rule is broken within a node. (going above some limit, impossible selection based on race, etc) | |
using this technique, I was able to do skining which is independent of the gui engine underneith. one only has to support the aspects in his skin and the skins (and gui using them) remain valid, even though you are running on opengl or vid. | |
sorry for the long post... hope I make sense. | |
Josh 27-Feb-2009 [640x3] | I did try the tutorial, but I was stuck beyond the !sum example. I think I just need to actually see something more complex to figure it out. |
I'd like to try the ground work that you created, | |
I am not familiar with aspect-oriented programming, so if you have some suggestions on what to read to learn more, that would be helpful | |
Maxim 27-Feb-2009 [643] | hum I just did a bit of googling for it ... can't remember ... IIRC a few good references on wikipedia. |
Josh 27-Feb-2009 [644] | But a more complex example would be very helpful, otherwise I'm dead in the tracks |
Maxim 27-Feb-2009 [645x5] | yeah I understand... really I do. as I used to say... "I buit it, and it works really well... but I still don't know how to use it !" |
paradigms shifts are never easy to face. | |
but I have spent many hours using liquid, testing it prototyping it, and even building an OS Operating Environment with it...and I now know its a viable idea. | |
so... I'll do this for you this week-end (since I have time :-) | |
I'll build up a quick and dirty aspect-driven, character creation tool :-) | |
Josh 27-Feb-2009 [650] | That would be great |
Maxim 27-Feb-2009 [651x3] | with a gui. |
I'ts going to be View only (actually probably direct faces) | |
in order to leave any gfx issues out of the understanding of the tool. | |
Josh 27-Feb-2009 [654] | sure, of course |
Maxim 27-Feb-2009 [655x4] | I also have a simple graphics package which uses AGG directly with liquid, so I'll use that to further show liquid ties in from end-to-end. |
basically, the gui will be plugged-in to the aspects directly, and the aspects data entry will also be plugged-in directly to the gui :-) | |
no VID. just AGG ;-) | |
ok, well... guess I'm going to log off now... I have work to do! ;-) | |
older newer | first last |