Lambda the Ultimate

inactiveTopic The Fault Tolerant Shell
started 3/16/2004; 7:22:36 AM - last post 3/17/2004; 9:45:37 AM
Dan Shappir - The Fault Tolerant Shell  blueArrow
3/16/2004; 7:22:36 AM (reads: 12783, responses: 5)
The Fault Tolerant Shell
via Slashdot

The Fault-Tolerant Shell (ftsh) is a small language for system integration that makes failures a first class concept. Ftsh aims to combine the ease of scripting with very precise error semantics. It is especially useful in building distributed systems, where failures are common, making timeouts, retry, and alternation necessary techniques. ... If any element of the script fails, all running process trees are reliably cleaned up, and the block is tried again with an exponential backoff.
Posted to DSL by Dan Shappir on 3/16/04; 7:24:17 AM

Darius Bacon - Re: The Fault Tolerant Shell  blueArrow
3/16/2004; 11:40:11 AM (reads: 382, responses: 0)
The "forany host in xxx yyy zzz" example reminds me of Icon -- I wonder if you can define your own generators.

Ehud Lamm - Re: The Fault Tolerant Shell  blueArrow
3/16/2004; 1:45:18 PM (reads: 372, responses: 0)
Side effects - the life blood of shell programming - are not automatically reverssible, right?

Suppose I have this group {md x; cd x; wget bla}. If the wget fails, x will not be removed (i.e., the md undone). This, of course, may be the right thing to do. However, it means that when you want this sort of transactional semantics (i.e., rollback) you have to implement it yourself using exceptions, which isn't very elegant, and the shell doesn't provide abstraction mechanisms to make this translation easier or automatic (e.g., macros).

Right?

David Golden - Re: The Fault Tolerant Shell  blueArrow
3/17/2004; 9:03:44 AM (reads: 270, responses: 1)
Just something "related prior work" to think about- Common Lisp-style Conditions+Restarts (also show up in various Schemes), where when a "condition" is thrown (like an exception), the catcher can try correcting the error, then calling a "restart" from the place the condition was thrown and trying again. IMHO the condition system is one of the best features of Common Lisp.

Tayssir John Gabbour - Re: The Fault Tolerant Shell  blueArrow
3/17/2004; 9:45:37 AM (reads: 258, responses: 0)
Out of curiosity, are there any other systems which have a Conditions System as interesting as lisp's? With all the coverage about continuations, not to mention increasing use of dynamic variables, I would think other systems would have some good ideas.

andrew cooke - Re: The Fault Tolerant Shell  blueArrow
3/17/2004; 9:57:52 AM (reads: 272, responses: 0)
http://www.supelec.fr/docs/cltl/clm/node312.html