Dataflow Languages

I want to see more languages that incorporate dataflow, the way spreadsheets do. That kind of execution model is perfect for user interfaces. I once spent some time thinking about a dataflow extension for Java, which I called Ripple. As I recall, Internet Explorer at one point was exploring spreadsheet-style continuously-updated functions for dynamic HTML. This was back around when Netscape came up with their ill-fated (and deservedly so) "layers" hack. I thought IE's data flow feature seemed like a great idea, but I think it died when the market showed no interest (probably because it was too "weird"). Unfortunately I have no idea what keywords to search for to find a reference to this.

Most UI-oriented languages these days seem to be based on events. But it's difficult to maintain invariants using events, unless you program in a stylized way where almost all events call a single "recalculate the entire UI" function. Dataflow would make invariants much easier to maintain, and would make the UI itself more efficient because only the parts that have changed would need to be recalculated.

The only language I know of offhand that has a dataflow feature is Visual Basic, but VB's incarnation of the idea is strongly coupled to relational databases. That design is unfortunate because it causes the relational structure of your database to strongly influence your user interface. It would be better if they had made it possible to insert a data model (or computation) in between the database and the UI.

In case you missed what I just said, let me say it again: Visual Basic has a feature that, although crippled, is still a step in the right direction, and I know of no other language that rivals VB in this area. If you're a language designer, consider the gauntlet to have been thrown down.

While I'm at it, I'd also like to see more languages with undo features (or, more generally, transactions), built into the execution model. That would make it almost trivial to write programs that involve dialog boxes with OK and Cancel buttons. Todd Proebstring mentioned this at LL2, and as far as I know, nobody has taken him up on it yet.

Back when I was thinking about Ripple, I thought of adding an undo-style feature, where you could temporarily restrict the effects of a data change so that you could make several changes all at once before updating the rest of the world. Syntactically, this was based on an "atomic" block, similar to Java's synchronized block, where nothing would be updated until the block was completely finished. The block could be aborted from inside the block, via a "rollback" statement.

I got paid once to write a language interpreter that had built-in undo. It also had a built-in editor, and changes to source code were stored on the same undo stack as changes to program state, so that when you hit the undo button, it actually undid edits to the code as well as running the program backwards (this was a controversial decision, and I designed it so that this behavior was optional). The language was designed to control a robot, so the undo feature also made the robot move backwards, in addition to merely restoring the internal program state to what it used to be. It could also undo file output. It was a good thing the language didn't have any networking features, since that would have been the only thing we couldn't have undone.

This brings up a point I want to make about any language that might aspire to including an undo feature. The undo feature must be extensible with application-specific logic for side effects. That way an application programmer can create reversible robot motions, or reversible file I/O, without requiring that robot motion and file I/O be built into the compiler. Let the libraries create an arbitrary number of reversible operations.

These two features go very well together, and I suspect that as soon as you implement dataflow, you'll find yourself wanting transactions almost immediately. Since dataflow is based on implicit execution, you very quickly find yourself wanting some way to explicitly control that execution, and transactions are a good technique for doing that.

I'm not sure why people don't try to solve these things at the language level more often. Is it because most people who design languages don't work on user interfaces? Or is it because people who design languages don't often think of changing their execution model, preferring instead to focus on syntax and typing issues?

Followups to Dataflow Languages:

Posted on October 31, 2003 05:20 PM
More languages articles

Comments

What is the dataflow feature in VB? (Just a mention; I can look it up if I know what to look for.)

Posted by: Alistair Bayley at November 3, 2003 07:04 AM

The VB feature is called "data binding".

Posted by: kim at November 4, 2003 11:38 AM

IE's dataflow feature is called Dynamic Properties.
http://msdn.microsoft.com/workshop/author/dhtml/overview/recalc.asp

Posted by: Sjoerd Visscher at November 11, 2003 11:23 AM

Here's some research into dataflow languages. They call it "self-adjusting computation". Presented at POPL-02.

http://www-2.cs.cmu.edu/~umut/research/

Posted by: kim at February 12, 2004 02:45 PM

As humans, we're simply born into one of these dog training classes: chief or follower. As these couple types are extremes of one another, you may simply be a chief, or a buff, tiny is there of any fashion in between these puppy training.Some might contest though, that you could be both at one time, the chief to numerous and a buff to one.There are more teach dog tricks to outlook out for to review if or not you're a chief or a follower. The bulk all over individual aspect is the abilities to generate determinations not simply for yourself, but in supplement for remnant as prolonged as dog behavior training.Take this covering for example; each post-graduate learner is rewarded a cubicle each, which doesn't draw seal for loose though. Most would just announce no just because it doesn't draw seal free to wholesale dog supplies. The actual justification behind their tenacity is the portion that none wants to act on away from the crowd.When one or couple of them creates a tenacity to receive one cubicle in any dog supplies, remnant in the past prolonged followed not far behind. One later another, the cubicles are being filled. Sadly, there just isn't passable room for everyone to wholesale pet supplies. Even as learners with very competent standings and privileges, not all are competent to take find how to lose weight and generate stern life correcting determinations on their own. A buff would perpetually have determinations organised for them, perpetually staring to lose weight to play-act first after the time arises. If you're one of those any person who essentially have a darling to move out with the accumulation, it's come seal time to commence correcting and take find fault for once. belly fat is a yardstick journalist for a many cluster of themes and subjects. He in supplement drafts on braun bathe and transform and braun bathe and charge.

Posted by: dogtraining at October 21, 2009 08:46 PM

Great post, thanks.

Posted by: free online games at October 25, 2009 04:13 PM

Love this man. Great stuff, great prices, free shipping. Email him if you cant find what you are looking for and he will look for you. Good customer service.louis vuittonSomeone who is knowledgeable in louis vuitton.Another guy from hong Kong (Largest louis vuitton second hand city, I believe) he has great stuff at fair prices but his shipping is insane

Posted by: louis vuitton at October 29, 2009 08:00 AM

Love this man. Great stuff, great prices, free shipping. Email him if you cant find what you are looking for and he will look for you. Good customer service.louis vuittonSomeone who is knowledgeable in louis vuitton.Another guy from hong Kong (Largest louis vuitton second hand city, I believe) he has great stuff at fair prices but his shipping is insane

Posted by: louis vuitton at October 29, 2009 08:00 AM

Love this man. Great stuff, great prices, free shipping. Email him if you cant find what you are looking for and he will look for you. Good customer service.louis vuittonSomeone who is knowledgeable in louis vuitton.Another guy from hong Kong (Largest louis vuitton second hand city, I believe) he has great stuff at fair prices but his shipping is insane

Posted by: louis vuitton at October 29, 2009 08:00 AM

Love this man. Great stuff, great prices, free shipping. Email him if you cant find what you are looking for and he will look for you. Good customer service.louis vuittonSomeone who is knowledgeable in louis vuitton.Another guy from hong Kong (Largest louis vuitton second hand city, I believe) he has great stuff at fair prices but his shipping is insane

Posted by: louis vuitton at October 29, 2009 08:00 AM

Love this man. Great stuff, great prices, free shipping. Email him if you cant find what you are looking for and he will look for you. Good customer service.louis vuittonSomeone who is knowledgeable in louis vuitton.Another guy from hong Kong (Largest louis vuitton second hand city, I believe) he has great stuff at fair prices but his shipping is insane

Posted by: louis vuitton at October 29, 2009 08:00 AM

Love this man. Great stuff, great prices, free shipping. Email him if you cant find what you are looking for and he will look for you. Good customer service.louis vuittonSomeone who is knowledgeable in louis vuitton.Another guy from hong Kong (Largest louis vuitton second hand city, I believe) he has great stuff at fair prices but his shipping is insane

Posted by: louis vuitton at October 29, 2009 08:03 AM

Eliminating the need for the extra trouble to wear ugg boots uk
ugg boots saleuggs, in the extreme sports, look for happiness in life, with UGG Classic boots and nike sb showed off your tall body, do not worry about being laughed at, dancing new style ugg australia and nike sb dunk . The flavor of life that is colorful, there are Christian Louboutincheap nike dunksUGG cardy boots、and nike sb for sale also used fear to creep away money from your pocket Mody ? Love beauty, you might even love UGG Classic tall bootsUGG Nightfall bootsUGG Classic short bootsnew nike sb。There are an infinite high power drivers of popular front ugg boots saleugg saleuggsnike dunkdiscount ugg bootsnike dunk sb, our website also have UGG Nightfall bootsbutton ugg bootsbailey button uggugg button bootsbailey button bootsnike dunk midnike dunk highChristian Louboutin Boots, pick your favorite, do not hesitate!

Posted by: ugg boots sale at November 12, 2009 03:44 AM

People all over the world know the abercrombie and fitch,but not everyone really knows how fashion the abercrombie is,hollister is the Legend maker. Everybody wears the hollister clothing would be the abercrombie mensand the abercrombie womens, if you want know you can search the Ruehl No.925 or abercrombie outlet in the www.google.com .

Posted by: anf at November 13, 2009 12:51 AM

Good day! Thx for your great post and Im thinking about how to introduce my ugg boots to you cos Im not sure if u like this. Many people who live in the cold area like the ugg boots, especially the north-europe. Our uggshare.co.uk supply the cheapest classic cardy ugg boots, class tall ugg boots, classic short ugg boots and other series of uggs, hope my words didn’t trouble u, cy!

Posted by: ugg boots at November 16, 2009 09:36 PM

Uggs on sale now.UGG Classic Cardy Boot makes me different form the other

girls. The UGG Bailey Button Boot is a good choice for female.

Posted by: ugg classic cardy boots at November 17, 2009 12:08 AM

Louis Vuitton , commonly referred to as Discount Louis Vuitton and Louis Vuitton Backpack, or sometimes shortened to Louis Vuitton Sale has become one of the most Louis Vuitton Sale Agendas luxurybrands Louis Vuitton Store.

Posted by: 1 at November 17, 2009 01:38 AM

UGG Bailey Button bootsis a new style in 2009.The classic cardy uggs boots is another hot boots that worth of buying.And the classic tall ugg boots will make your winter amusing.And now uggs on sale,if you are looking for such a boot,the ugg boots is good choice this year.

Posted by: UGG Bailey Button Boots at November 17, 2009 01:39 AM

I love Women's UGG Classic Cardy Boot 5819 very much. And the new style UGG Mayfaire Boots is aslo a good choice this year.

Posted by: UGG Bailey Button Fancy Boots at November 17, 2009 03:29 AM

www.enjoywholesale.com

china wholesale clothing,china wholesale shoes,china wholesale electronics,china wholesale suppliers,china manufacturers

china wholesale products,light in the box,wholesale lots,wholesale ipod
china direct,china dropship,china trade,made in china

electronics wholesaler,ebay wholesaler,financial wholesaler
fashion wholesaler,clothing wholesaler,wholesaler magazine

computer wholesaler,external wholesaler,dvd wholesaler,wholesaler definition,china wholesaler,mutual fund wholesaler,define wholesaler,insurance wholesaler


discount ugg boots
forture
ugg boots
Discount store

Posted by: wholesaler business website, net shopping site, external wholesaler,dvd wholesaler,wholesaler definition,china wholesaler,mutual fund wholesaler,define wholesaler,insurance wholesaler at November 18, 2009 03:00 AM

lxjuan08ed hardyis a famous ed hardy store which sell directly ed hardy clothing, shoes, boots, swim suit and other cheap ed hardy.

Browse through our catalogue of hundreds of ed hardy clothing,Ed hardy Shirt,Ed hardy ... Buy Ed Hardy today for a gift, for a friend, or for yourself.

Posted by: ed hardy at November 18, 2009 03:48 AM


I ordered chocolates hoping they wouldn't show marks as much as my

beige

99.html">ugg mayfaire boots

and waterproofed

them when I first got them. They look so much cleaner than my old

beige pair, I wear my Whooga's all year round, they don't make my

feet sweat as much as my older pair. I'm very impressed with how

they are holding up to my abuse, very well made. My only

suggestion to everyone is keep them dry and out of the mud

Posted by: 4wtw4tw at November 19, 2009 08:21 PM

We are the best online sales for the china wholesale . Here you can have a large of choices of kinds Ugg Boots,Converse Shoes,Timberland Boots,puma shoes,Nike Shox Shoes ,Nike Dunk SB Shoes,Nike Air Max,Links Of London,Tiffany Jewelry,Dior Handbags?,jimmy choo handbags ,Cartier Watches, 8GB Mp4 Players,Bluetooth Car DVDs. All our cheap online cheap goods are high quality and original packages, and best service. We offer our customers the best service, 7 days arrive at your door.Enjoy your easy and happy shopping with us.

Posted by: cheap goods sale. at November 20, 2009 12:19 AM

Do you like sports? If you like it,the NIke Air Max TN and Nike Air Max 360 is a good choice for you.And now the there is a good news,CheapNike Air Max running Shoes is waiting for you.I think The New Nike Air MAX 2009 Running Shoes makes you great comfortable.

Posted by: Nike Air Max shoes at November 20, 2009 03:38 AM

xiaorong Auction house Antiquorum auctioned off a very rare vintage chronograph Patek Philippe that
replica watches
replica watches
replica Jaeger LeCoultre watches


replica watches
replica watches
replica A.Lange&Sohne watches

replica watches
replica watches
replica Breitling watches

Posted by: replica Piaget watches at November 21, 2009 05:40 AM

Your article is write very well, I like it very much ~
ghd Hair Straightener
ghd Hair Straighteners
ghd straighteners
GHD
hair straighteners
bose in ear headphones
bose on ear headphones
bose headphones
nike sb dunks
nike dunks
I wish you have a wonderful day!Thank you.

Posted by: ghd straighteners at November 22, 2009 08:35 PM

Timeberland boots on sale now! Do you want moreTimeberland boots information?Just move your mouse and press it to our Timberland shoes online store.

Posted by: Timberland uk at November 23, 2009 01:28 AM

Laptop Battery Laptop Battery Laptop Batteries
Laptop Batteries discount laptop battery
discount laptop battery
notebook battery notebook battery
computer battery computer battery
replacement laptop battery replacement laptop battery
notebook batteries notebook batteries

Posted by: Laptop Battery at November 23, 2009 10:04 PM

Ugg Classic Cardy

Boots

Ugg Classic Tall

Boots

Ugg Classic Short

Boots

Posted by: topuggshoes at November 26, 2009 03:12 AM

Ugg Classic Cardy

Boots

Ugg Classic Tall

Boots

Ugg Classic Short

Boots

Posted by: topuggshoes at November 26, 2009 03:13 AM

chaoying nfl jerseys
Giants Jerseys
Patriots Jerseys

Posted by: jerseysleague at November 29, 2009 04:13 AM

Paul Smith has been collaborating with a few different organizations recently and his latest venture sees him teaming up with Japanese bicycle saddle, Paul Smith bag, on a limited edition leather saddle. The release features Smith’s signature stripes where only 20 will be available at Paul Smith Clothing store in Japan and 8 at the Floral Street store in London. Get on it quick

Posted by: faf at November 29, 2009 11:43 AM

Just wanted to say great job with the blog, today is my first visit here and I’ve enjoyed reading your posts so far
ugg bailey button
Wow, my ugg classic mini will not be coming off now! I’ve had them on for 12hrs strait and I do not want to take them off. Thanks for everything, well worth the wait.

Posted by: ugg bailey button boots at November 30, 2009 06:00 AM

Spring is near,every girl wants to be the bride in the special season.They are eager to put on beautiful Wedding Dresses or the Bridal gowns.During the day the Wedding gowns is the good choose,and the night,if you want radiant,you need the Evening gowns.
About the bridesmaid,they have to wear Bridesmaid Dresses in order to avoid grab limelight with the bride.And the Flower Girl has the Flower Girl Dresses,too.In the wedding,the Cocktail Dresses and the Evening Dresses is necessary,too!And remember,the Wedding Dress of the Bridal Dress must be the most glaring!

Posted by: weddingdressclub at December 1, 2009 12:34 AM

market to find a good job. And many young female think that marrying a good husband is better than finding a good job. Why these young people have such kind of thoughts. Their aims of their life are only to marry a good man. Different Louis Vuitton Neverfull MM people have different opinion. Some persons think that it is quite right for these girls to find a good husband. With the hot competition in this society, hunting for a job is not so easy now. But there also a lot of people think that girls Louis Vuitton Neverfull MM Replica should become independent and should not totally rely on the men. Can girls live well without men? Of course they can but only when they want. Girls should cheer up and they will live better.

Posted by: fanqin at December 1, 2009 01:57 AM

You should go to www.uggssky.com who want to buy cheap ugg boots ,classic tall boots, short tall and bailey boots,buy youself or your friedns a pair of ugg boots for the christmas!

Posted by: ugg classic boots on sale at December 2, 2009 12:43 PM

Merry Christmas ! Go to puma store buy a pair of puma sneakers that have a nice holiday, cat puma,Ferrari puma and Women's Puma Speed Cat etc cheap puma shoes are the best gift for christmas,go on!

Posted by: buy cheap puma shoes on puma store at December 2, 2009 12:46 PM

Search UGG Classic Cardy for long, buy uggs boots on ugg boots online you will get high quality and first-class service, Bailey boots, UGG Classic Tall,UGG Classic Mini etc cheap ugg boots at www.mimiugg.com you could get.

Posted by: cheap ugg boots at December 2, 2009 12:48 PM

ugg boots sale at a time when large heat has set off a winter 08/09 to Ewha.Outlines the

warm wool winter fashion degree to wool crocheted wool ugg boots uk to join after the

body does not stimulate your skin soft, soft comfort UP. Fashion can not without
ugg boots presence in Winter.and ugg boots have many series.such as:
ugg classic
UGG Bailey Button boots
ugg nightfall
ugg kids

Posted by: uggboots at December 2, 2009 08:42 PM
Post a comment









Remember info?




Prove you're human. Type "human":