From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Expressive Case Statements (was: Software landmines) Date: 1998/09/02 Message-ID: #1/1 X-Deja-AN: 387206907 References: <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@ <904556531.666222@miso.it.uq.edu.au> <35EAEC47.164424A7@s054.aone.net.au> <6sgn8l$7aq$1@nnrp1.dejanews.com> <6sh487$lnq$1@nnrp1.dejanews.com> <6shit4$eaj@dfw-ixnews5.ix.netcom.com> <35ECDA3F.3372@atlas.otago.ac.nz> Organization: The Mitre Corp., Bedford, MA. Newsgroups: comp.lang.ada Date: 1998-09-02T00:00:00+00:00 List-Id: In article <35ECDA3F.3372@atlas.otago.ac.nz> "Dr Richard A. O'Keefe" writes: > Concerning decision tables, the EVALUATE statement in COBOL, > and Robert I. Eachus's suggestion for doing them in Ada, > I don't know what the COBOL standard says about EVALUATE, > but there was one point about decision tables which seems > to have been missed: > - as well as the condition *combinations* being complex, > - the condition *elements* may be complex, and > - you don't want to evaluate them if you don't have to... True, but from experience decision tables are not for situations where evaluating all the decision variables is potentially harmful. There are often cases where you nest decision tables because some predicates should only be evaluated in some cases. Too many don't cares should also be taken as an indication that you have merged tables that should be separate. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...