blakemor@software.org (Alex Blakemore) (03/08/90)
> In article <8211@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes: > > Not exactly. There is a lack of orthogonality in that similar > > flow-of-control constructs do not terminate in similar ways. > > It is this lack of orthogonality which leads to potential problems. In article <1990Mar6.215440.992@IDA.ORG> boone@IDA.ORG.UUCP (John Boone) writes: > This is a minor flame, but I feel it's necessary ... > Orthogonal means, roughly, "at right angles to" - so I think your > point is really BECAUSE of orthogonality in the flow-of-control > constucts [ for C ] which leads to potential problems ... etc. I think Bill was correct on this one. If the termination constructs were orthogonal to the control flow constructs, then the rules about termination would not depend on which flow control contruct was used. Switch branches would have the same termination rules as if branches. A better example is the Motorola MC680x0 instruction set. For the most part, the addressing modes (syntax and semantics) are orthogonal to the op codes. You can mix almost any combination and derive the meaning from a few simple rules that don't vary from situation to situation. The addressing modes and the op codes are separate independent dimensions, inspiring the direct analogy to orthogonality in linear algebra. ------------------------------------------------------------------------- Alex Blakemore blakemore@software.org (703) 742-7125 Software Productivity Consortium 2214 Rock Hill Road Herndon, VA 22070 ------------------------ Eschew Obfuscation !!! -----------------------
jnixon@andrew.ATL.GE.COM (John F Nixon) (03/08/90)
blakemor@software.org (Alex Blakemore) writes: >> In article <8211@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes: >> > Not exactly. There is a lack of orthogonality in that similar >> > flow-of-control constructs do not terminate in similar ways. >In article <1990Mar6.215440.992@IDA.ORG> boone@IDA.ORG.UUCP (John Boone) writes: >> This is a minor flame, but I feel it's necessary ... >> Orthogonal means, roughly, "at right angles to" - so I think your >> point is really BECAUSE of orthogonality in the flow-of-control >> constucts [ for C ] which leads to potential problems ... etc. >I think Bill was correct on this one. If the termination constructs were >orthogonal to the control flow constructs, then the rules about termination >would not depend on which flow control contruct was used. Switch branches >would have the same termination rules as if branches. [ example of 68000 opcodes/addressing as orthogonal deleted ] I agree with John. If the termination constructs were orthogonal to the control flow constructs *it should be possible to mix and match the constructs with sensible results* (as in the case of 68000 op codes and addressing schemes). Bill clearly does not want this. If switch and if are to have the same termination rules, then the termination rules are not orthogonal to the switch and if rules. You cannot change the way switch terminates without changing the way if terminates (without violating the initial condition). -- ---- jnixon@atl.ge.com ...steinmetz!atl.decnet!jnxion