Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Useful alternative control structures?

Sometimes when I am programming, I find that some particular control structure would be very useful to me, but is not directly available in my programming language. I think my most common desire is something like a "split while" (I have no idea what to actually call this):

{     foo(); } split_while( condition ) {     bar(); } 

The semantics of this code would be that foo() is always run, and then the condition is checked. If true, then bar() is run and we go back to the first block (thus running foo() again, etc). Thanks to a comment by reddit user zxqdms, I have learned that Donald E. Knuth writes about this structure in his paper "Structured programming with go to statements" (see page 279).

What alternative control structures do you think are a useful way of organizing computation?

My goal here is to give myself and others new ways of thinking about structuring code, in order to improve chunking and reasoning.

Note: I'm not asking about how to generalize all possible control structures, whether by using jne, if/goto, Lisp macros, continuations, monads, combinators, quarks, or whatever else. I'm asking what specializations are useful in describing code.

like image 595
A. Rex Avatar asked Nov 27 '10 20:11

A. Rex


People also ask

What are the 3 types of control structures?

The following are the different types of control structures: Sequential control structure. Selection control structure. Iteration control structure.

What are the 4 control structures?

if-else conditionals, case statements, for loops, and while loops are all control structures.


1 Answers

One that's fairly common is the infinite loop. I'd like to write it like this:

forever {   // ... } 
like image 149
Jordão Avatar answered Oct 01 '22 03:10

Jordão