ABSTRACT
Schematic tables are a new representation for conditionals. Roughly a cross between decision tables and data flowgraphs, they represent computation and decision-making orthogonally. They unify the full range of conditional constructs, from if statements through pattern matching to polymorphic predicate dispatch. Program logic is maintained in a declarative canonical form that enforces completeness and disjointness among choices. Schematic tables can beused either as a code specification/generation tool, or as a self-contained diagrammatic programming language. They give program logic the clarity of truth tables, and support high-level direct manipulation of that logic, avoiding much of the mental computation demanded by conventional conditionals.
- A. Blake. Canonical expressions in Boolean algebra. PhD thesis, University of Chicago, 1938.Google Scholar
- E. Börger, Y. Gurevich, and E. Grädel. The classical decision problem. Springer, 2001.Google Scholar
- F. Brooks. No Silver Bullet: Essence and Accidents of Software Engineering. Computer, 20(4):10--19, 1987. Google Scholar
Digital Library
- F. Brown. Boolean Reasoning. Kluwer Academic Publishers Boston, 1990.Google Scholar
- M. Burnett and A. Goldberg. Visual Object-Oriented programming. Manning, 1995. Google Scholar
Digital Library
- R. Burstall, D. MacQueen, and D. Sannella. HOPE: An experimental applicative language. Proceedings of the 1980 ACM conference on LISP and functional programming, pages 136--143, 1980. Google Scholar
Digital Library
- M. Davis, G. Logemann, and D. Loveland. A machine program for theorem-proving. Commun. ACM, 5(7): 394--397, 1962. Google Scholar
Digital Library
- E. W. Dijkstra. Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM, 18 (8):453--457, 1975. Google Scholar
Digital Library
- J. Edwards. Example centric programming. SIGPLAN Not. (OOPSLA'04 Onward! Proceedings), 39(12):84--91, 2004. ISSN 0362--1340. Google Scholar
Digital Library
- J. Edwards. Subtext: Uncovering the simplicity of programming. In OOPSLA'05: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pages 505--518. ACM Press, 2005. Google Scholar
Digital Library
- J. Edwards. First Class Copy & Paste. Technical report, Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory, May 2006. URL http://hdl.handle.net/1721.1/32980.Google Scholar
- M. Ernst, C. Kaplan, and C. Chambers. Predicate Dispatching: A Unified Theory of Dispatch. ECOOP, 98:12th, 1998. Google Scholar
Digital Library
- D. L. Fisher. Data, documentation, and decision tables. Commun. ACM, 9(1):26--31, 1966. Google Scholar
Digital Library
- T. Green and M. Petre. When Visual Programs are Harder to Read than Textual Programs. Human-Computer Interaction, 1992.Google Scholar
- R. Halverson Jr. An Empirical Investigation Comparing IF-THEN Rules and Decision Tables for Rrogramming Rule-based Expert Systems. System Sciences, 1993, Proceeding of the Twenty-Sixth Hawaii International Conference on, 3, 1993.Google Scholar
- C. Heitmeyer, M. Archer, R. Bharadwaj, and R. Jeffords. Tools for constructing requirements specifications: The SCR toolset at the age of ten. International Journal of Computer Systems Science and Engineering, 20(1):19--35, 2005.Google Scholar
- M. Ibramsha and V. Rajaraman. Detection of logical errors in decision table programs. Commun. ACM, 21 (12):1016--1025, 1978. Google Scholar
Digital Library
- R. Janicki, D. L. Parnas, and J. Zucker. Tabular representations in relational rocuments. In Relational methods in computer science, pages 184--196. Springer-Verlag, 1997. Google Scholar
Digital Library
- A. Jeffrey. Premonoidal categories and a graphical view of programs. Technical Report 98--004, CTI, DePaul University, August 1998. URL http://facweb.cs.depaul.edu/research/techreports/abstract98004.htm.Google Scholar
- S. Jones. Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreignlanguage calls in Haskell. Engineering theories of software construction, Marktoberdorf Summer School, pages 47--96, 2000.Google Scholar
- P. J. H. King. Ambiguity in limited entry decision tables. Commun. ACM, 11(10):680--684, 1968. Google Scholar
Digital Library
- H. Kirk. Use of Decision Tables in Computer Programming. Communications of the ACM, 8(1):41--43, 1965. Google Scholar
Digital Library
- V. Kuncak and M. Rinard. Decision procedures for setvalued fields. 1st International Workshop on Abstract Interpretation of Object-Oriented Languages (AIOOL 2005), 2005.Google Scholar
- N. G. Leveson. Intent specifications: An approach to building human-centered specifications. Software Engineering, 26(1):15--35, 2000. Google Scholar
Digital Library
- LogicGem 3.0 QuickStart. URL http://www.catalyst.com/products/logicgem/quickstart.pdf.Google Scholar
- A. Löh and R. Hinze. Open data types and open functions. Proceedings of the 8th ACM SIGPLAN symposium on Principles and practice of declarative programming, pages 133--144, 2006. Google Scholar
Digital Library
- T. Millstein. Practical predicate dispatch. Proceedings of the 19th annual ACM SIGPLAN Conference on Object-Oriented programming, systems, languages, and applications, pages 345--364, 2004. Google Scholar
Digital Library
- D. A. Moon. Object-Oriented programming with flavors. In OOPLSA'86: Conference proceedings on Object-Oriented programming systems, languages and applications, pages 1--8, New York, NY, USA, 1986. ACM Press. Google Scholar
Digital Library
- B. Myers. Taxonomies of Visual Programming and Program Visualization. Journal of Visual Languages and Computing, 1(1):97--123, 1990.Google Scholar
Digital Library
- I. Nassi and B. Shneiderman. Flowchart techniques for structured programming. SIGPLAN Not., 8(8):12--26, 1973. Google Scholar
Digital Library
- J. Pane and B. Myers. Tabular and Textual Methods for Selecting Objects from a Group. Proceedings of VL 2000: IEEE International Symposium on Visual Languages, pages 157--164, 2000. Google Scholar
Digital Library
- J. Pane and B. Myers. Usability Issues in the Design of Novice Programming Systems. Technical Report CMU-CS-96-132, School of Computer Science, Carnegie Mellon University, August 1996.Google Scholar
- S. Pollack. Analysis of the Decision Rules in Decision Tables. Technical Report RM--3669--PR, Rand Corp, 1963.Google Scholar
- U. Pooch. Translation of Decision Tables. ACM Computing Surveys (CSUR), 6(2):125--151, 1974. Google Scholar
Digital Library
- W. Quine. The Problem of Simplifying Truth Functions. The American Mathematical Monthly, 59(8): 521--531, 1952.Google Scholar
- B. Silberg. Detab/65 in third-generation cobol. SIGPLAN Not., 6(8):4--8, 1971. Google Scholar
Digital Library
- StateStep Tutorial. URL http://statestep.com/tutorial/RuleInitial.html.Google Scholar
- R. F. Sterbenz. Tabsol decision table preprocessor. SIGPLAN Not., 6(8):33--40, 1971. Google Scholar
Digital Library
- D. Thomas. Agile Programming: Design to Accommodate Change. IEEE Software, 22(3):14--16, 2005. Google Scholar
Digital Library
- A. M. Turing. (1946) Proposed Electronic Calculator, report for National Physical Laboratory, Teddington. In A. M. Turing's ACE Report of 1946 and Other Papers. MIT Press, 1986.Google Scholar
- I. Vessey and R. Weber. Structured Tools and Conditional Logic: an Empirical Investigation. Communications of the ACM, 29(1):48--57, 1986. Google Scholar
Digital Library
- P. Wadler. Comprehending monads. Proceedings of the 1990 ACM conference on LISP and functional programming, pages 61--78, 1990. Google Scholar
Digital Library
Index Terms
No ifs, ands, or buts: uncovering the simplicity of conditionals
Recommendations
No ifs, ands, or buts: uncovering the simplicity of conditionals
Proceedings of the 2007 OOPSLA conferenceSchematic tables are a new representation for conditionals. Roughly a cross between decision tables and data flowgraphs, they represent computation and decision-making orthogonally. They unify the full range of conditional constructs, from if statements ...
Polymorphic lemmas and definitions in $\lambda$Prolog and Twelf
$\lambda$Prolog is known to be well-suited for expressing and implementing logics and inference systems. We show that lemmas and definitions in such logics can be implemented with a great economy of expression. We encode a higher-order logic using an ...
A logic of subtyping
LICS '95: Proceedings of the 10th Annual IEEE Symposium on Logic in Computer ScienceThe relation of inclusion between types has been suggested by the practice of programming, as it enriches the polymorphism of functional languages. We propose a simple (and linear) calculus of sequents for subtyping as logical entailment. This allows to ...







Comments