A spreadsheet interface for logic programming

We present PERPLEX, a programming environment intended for the end-user. In its design, the concepts of logic programming and spreadsheets are combined. Thus, on the one hand, logic programming becomes an interactive, incremental task where the user gets direct visual feedback, on the other hand, functionality and scope of a conventional spreadsheet program are considerably extended. In order to perform calculations and queries, constraints are imposed on the contents of the spreadsheet cells. New predicates can be defined using a programming-by-example technique: Rules are extracted from the user's solutions for example problems. Thus, concrete intermediate results take over the role of abstract logic variables in the programming process. PERPLEX has been successfully implemented on a Symbolics Lisp Machine.

[1]  Nan C. Shu Formal: A Forms-Oriented, Visual-Directed Application Development System , 1985, Computer.

[2]  F. Kriwaczek LogiCalc: a prolog spreadsheet , 1988 .

[3]  Moshé M. Zloof QBE/OBE: A Language for Office and Business Automation , 1981, Computer.

[4]  William Leler,et al.  Constraint programming languages: their specification and generation , 1988 .

[5]  Maria Simi,et al.  Extending the power of programming by examples , 1982 .

[6]  Henry Lieberman,et al.  A session with Tinker: Interleaving program testing with program design , 1980, LISP Conference.

[7]  Uday S. Reddy,et al.  On the Relationship Between Logic and Functional Languages , 1986, Logic Programming: Functions, Relations, and Equations.

[8]  S. Peter de Jong,et al.  The System for Business Automation (SBA): Programming language , 1976, Commun. ACM.

[9]  Rudolf Bayer,et al.  Database Technology for Expert Systems , 1985, Wissensbasierte Systeme.

[10]  Daniel C. Halbert,et al.  Programming by Example , 2010, Encyclopedia of Machine Learning.

[11]  B. A. Myers,et al.  Visual programming, programming by example, and program visualization: a taxonomy , 1986, CHI '86.

[12]  Gerald Jay Sussman,et al.  CONSTRAINTS - A Language for Expressing Almost-Hierarchical Descriptions , 1980, Artif. Intell..

[13]  Akikazu Takeuchi,et al.  A Framework for Interactive Problem Solving Based on Interactive Query Revision , 1986, LP.

[14]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[15]  Maria Simi,et al.  Extending the power of programming by examples , 1982, COCS.

[16]  Moshé M. Zloof Query-by-Example: A Data Base Language , 1977, IBM Syst. J..

[17]  Deane E. Arganbright Mathematical modeling with spreadsheets , 1986 .

[18]  M ZloofMoshé,et al.  The system for business automation (SBA) , 1977 .

[19]  Kurt W. Piersol Object Oriented Spreadsheets: The Analytic Spreadsheet Package , 1986, OOPSLA.

[20]  John F. Rockart,et al.  The management of end user computing , 1983, CACM.

[21]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[22]  Alain Colmerauer,et al.  Opening the Prolog III universe , 1987 .

[23]  Wm Leler,et al.  Constraint programming languages , 1987 .