in reply to Re^2: An exploration of higher-level-language approaches to the "First all-zero row in an NxN matrix" problem (goto Considered Harmful)
in thread An exploration of higher-level-language approaches to the "First all-zero row in an NxN matrix" problem (goto Considered Harmful)

Certainly a more practical conclusion should be "functional units should do one and only one thing, and that thing well"
Eh? I don't follow. How's that even remotely related to having structured blocks?
avoid obvious flow control at any language level lower than the language primitive which enables functional units". Otherwise you have trouble with if.
How's that? An if construct is well understood when it comes to formal proofs, and it's a block with exactly one entry, and one exit point:
,---> then-block ---, / T \ pre ---> expression ---+ +---> post \ F / `---> else-block ---'
  • Comment on Re^3: An exploration of higher-level-language approaches to the "First all-zero row in an NxN matrix" problem (goto Considered Harmful)
  • Select or Download Code

Replies are listed 'Best First'.
Re^4: An exploration of higher-level-language approaches to the "First all-zero row in an NxN matrix" problem (goto Considered Harmful)
by chromatic (Archbishop) on Sep 25, 2011 at 23:31 UTC

    What's a block, in this context? I'm familiar with basic blocks in terms of SSA and register allocation and flow analysis and optimization. The branch instructions necessary for conditions such as if delimit basic blocks.

    Because you can represent a program in terms of the relationships of these basic blocks, I question the problem of functional analysis. What am I missing?


    Improve your skills with Modern Perl: the free book.