Programmable applications: interpreter meets interface

Current fashion in "user-friendly" software design tends to place an over-reliance on direct manipulation interfaces. To be truly expressive (and thus truly user-friendly), applications need both learnable interfaces and domain-enriched languages that are accessible to the user. This paper discusses some of the design issues that arise in the creation of such programmable applications. As an example, we present "SchemePaint," a graphics application that combines a MacPaint-like interface with an interpreter for (a "graphics-enriched") Scheme.

[1]  William D. Clinger,et al.  Revised3 report on the algorithmic language scheme , 1986, SIGP.

[2]  Elliot Soloway,et al.  PROUST: An automatic debugger for Pascal programs , 1985 .

[3]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[4]  Roy D. Pea,et al.  Language-Independent Conceptual “Bugs” in Novice Programming , 1986 .

[5]  Mitchel Resnick,et al.  Animal simulations with Logo: Massive parallelism for the masses , 1991 .

[6]  Ilan Vardi,et al.  Computational recreations in Mathematica , 1991 .

[7]  John R. Anderson,et al.  Learning Flow of Control: Recursive and Iterative Procedures , 1986, Hum. Comput. Interact..

[8]  Gerhard Fischer,et al.  Towards a System Architecture Supporting Contextualized Learning , 1990, AAAI.

[9]  Kate Ehrlich,et al.  An empirical investigation of the tacit plan knowledge in programming , 1984 .

[10]  Aaron Marcus,et al.  User-interface developments for the nineties , 1991, Computer.

[11]  J. Foley Interfaces for advanced computing , 1987 .

[12]  Jerry Glynn,et al.  Exploring mathematics with Mathematica , 1991 .

[13]  Stan Wagon Mathematica in action , 1991 .

[14]  Peter Pirolli,et al.  A Cognitive Model and Computer Tutor for Programming Recursion , 1987, SGCH.

[15]  Mark L. Miller A structured planning and debugging environment for elementary programming , 1979 .

[16]  John R. Anderson,et al.  Novice LISP Errors: Undetected Losses of Information from Working Memory , 1985, Hum. Comput. Interact..

[17]  Harold Abelson,et al.  Boxer: a reconstructible computational medium , 1986, CACM.

[18]  R. Mayer Different problem-solving competencies established in learning computer programming with and without meaningful models. , 1975 .

[19]  Peter Henderson Functional geometry , 1982, LFP '82.

[20]  Brian Beckman,et al.  A scheme for little languages in interactive graphics , 1991, Softw. Pract. Exp..

[21]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[22]  Ed Dubinsky,et al.  Learning discrete mathematics with ISETL , 1989 .

[23]  Ed Dubinsky,et al.  Learning Discrete Math with ISETL , 1990 .

[24]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[25]  Gary M. Olson,et al.  Can principles of cognition lower the barriers to programming? in empirical studies of programmers: , 1987 .

[26]  Roy D. Pea,et al.  Children's Mental Models of Recursive Logo Programs , 1985 .

[27]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[28]  奥乃博 1984 ACM Symposium on LISP and Functional Programming報告 , 1984 .

[29]  Elliot Soloway,et al.  A Goal/Plan Analysis of Buggy Pascal Programs , 1985, Hum. Comput. Interact..

[30]  Richard E. Mayer,et al.  A psychology of learning BASIC , 1979, CACM.

[31]  Richard C. Atkinson,et al.  The Computer as a Tutorial Laboratory: The Stanford BIP Project. , 1976 .

[32]  John R. Anderson,et al.  The LISP tutor: it approaches the effectiveness of a human tutor , 1985 .

[33]  T. Rodriguez,et al.  I Would Also like to Thank , 2007 .

[34]  Andrea A. diSessa An Overview of Boxer. , 1991 .

[35]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[36]  Harold Abelson,et al.  Turtle geometry : the computer as a medium for exploring mathematics , 1983 .

[37]  Gerhard Fischer,et al.  Enhancing incremental learning processes with knowledge-based systems , 1988 .

[38]  Gerhard Fischer,et al.  Computer-based critics , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume III: Decision Support and Knowledge Based Systems Track.