r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Liquid] any questions about liquid dataflow core.

Maxim
22-May-2007
[473x2]
The truth is, I do not have the reflex of using liquid for most of 
my coding, still, but actuall exposure and use, is forcing me to 
value its effect on my code.  this is empiric use, not advocacy. 
 If you could see just how easy it was for me to build fully bug-free 
AGG gadgets in so little time, you'd understand.


its not about just sharing data between gadgets, its about allowing 
your code to know what's going on.
and in fact, if we do add a measure of reflexivity to VID, we will 
just be redoing most of liquid, or run in the same issues, I had 
in my other prototypes, which led to this design.   ;-)

but we will not gain the advantage of having generic dataflow!
Gabriele
22-May-2007
[475]
max: liquidgl is push based, isn't it? so "lazy" does not count.
Maxim
22-May-2007
[476x2]
nope, its all using the same core plug.  so its really pull based.
the only difference is that some (switcheable in real time, even 
set to a function) which will always want to refresh, when they are 
aware of data changes.
Gabriele
22-May-2007
[478]
when you move a slider that is attached to something, is that something 
that has to pull? does it pull x times a second?
Maxim
22-May-2007
[479]
its also nice to know that your GUI is actually capable of reflecting 
data.  not just gui.  change the data:

fill data value


and don't even have to wonder IF and HOW any gadget should change.
Gabriele
22-May-2007
[480]
that is push, isn't it?
Maxim
22-May-2007
[481]
 does it pull x times a second?

that is up to you to decide, really.
Gabriele
22-May-2007
[482]
my decision is not to pull at all, if something changes the change 
is pushed to everything that needs to know.
Maxim
22-May-2007
[483x4]
at a high level yes.  but in reality, no.  if you have some gadgets 
or other parts of dependent systems which do not "need" the value, 
it might not cause any refresh.
that doesn't scale well.
(tested)
that really is just like an action.
Gabriele
22-May-2007
[487]
exactly, just an action, or to say it differently, just an event.
Maxim
22-May-2007
[488x2]
but you are only seeing all of this as a VID thing.
dataflow has nothing to do with GUI.
Gabriele
22-May-2007
[490]
we only need it for the gui - that's exactly my point
Maxim
22-May-2007
[491x2]
its something the whole language should have.
nope.
Gabriele
22-May-2007
[493]
noone stops people from including liquid
Maxim
22-May-2007
[494x3]
cause you do not see its value if it where built in.
;-)
especially since its such a small kernel !  (not the current implementation, 
which has a few prototypical stuff left)
Gabriele
22-May-2007
[497]
liquid is small, but the functionality we needs comes free with my 
vid design, so you can't win ;)
Maxim
22-May-2007
[498x3]
you see, if we had a dataflow datatype, we would not even need to 
talk about "do we add this to VID"  people could just set values 
to attributes which are DF based.
but I know your POV.  but you don't see how limited that becomes. 
 we could have what you propose and ALSO have full DF.
it wont remove what you propose... and in fact its not even more 
complex in use.
Gabriele
22-May-2007
[501x3]
full df, sure, but no reason to have it builtin.
if we had to put everything that is cool built in, rebol would be 
10mb like many other languages.
eg, should pdf maker be built in? of course not!
Maxim
22-May-2007
[504]
hum liquid is what 50 kb of 0% optimised code.  DF its a data processing 
kernel, paradigm level feature.. quite different in scope.
Dockimbel
24-May-2007
[505]
Hi Max, reading the %liquid.r source code from rebol.org, I've found 
a typo at line 948 : count plug/subordnates object!  (i missing in 
"subordnates").
DideC
24-May-2007
[506]
Hi Max,

Do you have any demo apps using liquid ? Something simple, but usefull 
to help me (and others) understand how and when to use it.
Maxim
24-May-2007
[507x13]
Hi doc, The version of liquid on line is not quite the latest (obviously)... 
 but I'll check out your info... its possible that one was already 
fixed.... I fixed a few minor bugs  since I last released.  Mainly 
due to intense use within glob and elixir.
dideC: well, I'm am working towards that.  I am keeping up the habit 
of working on one thing at a time and currently I'm hard at work 
on Revault.  that being said... guess what are the first libs to 
be put online  ;-)
elixir is a proof of concept generating application... I am still 
measuring how well the generalised use of Liquid in all aspects of 
an application equate to all of my claims, but so far, empiricaly... 
it seems to be keeping up the intended benefits.
unfortunately, demo apps are still not available.  One person using 
liquid is making a for profit dentist EMR and scheduling app.  there 
is elixir, and there was the original liquified draw dialect example 
I had released just before the new year.
I have a pretty nifty parse-rule generating application which uses 
liquidGL but its far to complex to be used for understanding of anything.
once revault is at least put to demo on line and I start getting 
feedback, I will turn to liquid fullblast...  what I am really looking 
for are examples of simple apps which can be liquified.
the real problem is also that dataflow usually improves larger systems. 
 so small demos might not illustrate the particular merits of using 
liquid, unless you count in the subjective, bug free, nature of most 
DF systems.
I do want to convert rebolek's famous color picker into using liquid... 
one of the thing which will be made better is the fact that I can 
sample colours from mouse events much more often than actual refreshes 
occur, so that it should feel smoother.
I think the best, simple illustration of liquid will be in making 
an unbreakable form example.
elixir already has that built-in to its values, so any gadget also 
inherit their "flawlessness" but its not something that jumps at 
you... its a subtle but oh so important detail.
so, my answer to DideC, I guess, is:  

Give me ideas on simple demo applications I can build ! 

And I'll consider which one I do first.  :-)


 I need and want this info to make the whole package more appealing 
 and comprehensible.  The current uber simple Sum example, just gives 
 a glimpse of the engine's capabilities, not of its application.
Brian asks, "Can you map nodes to physical world objects?"
I'd need a bit more explanation of what you mean by that.
BrianH
24-May-2007
[520]
Sorry if that was confusing. Most of my code has no user interface 
at all. It runs without intervention. Any monitoring or command interface 
is seperate. Most of my data points correspond to physical objects 
in the real world, and the code mostly tracks and directs these objects.
Maxim
24-May-2007
[521x2]
yes that would be easy (figuratively speaking) now it obviously depends 
on the nature of your interfaces and what you track...
but liquid would allow you to pregrogram any matter of "alerts" based 
on specific conditions, for example.