Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm

被引:100
作者
Burnett, M [1 ]
Atwood, J [1 ]
Djang, RW [1 ]
Reichwein, J [1 ]
Gottfried, H [1 ]
Yang, S [1 ]
机构
[1] Oregon State Univ, Corvallis, OR 97331 USA
关键词
D O I
10.1017/S0956796800003828
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Although detractors of functional programming sometimes claim that functional programming is too difficult or counter-intuitive for most programmers to understand and use. evidence to the contrary can be found by looking at the popularity of spreadsheets. The spreadsheet paradigm, a first-order subset of the functional programming paradigm, has found wide acceptance among both programmers and end users. Still, there are many limitations with most spreadsheet systems. In this paper, we discuss language features that eliminate several of these limitations without deviating from the first-order, declarative evaluation model. The language used to illustrate these features is a research language called Forms/3. Using Forms/3, we show that procedural abstraction, data abstraction and graphics output can be supported in the spreadsheet paradigm. We show that, with the addition of a simple model of time, animated output and CUI I/O also become viable. To demonstrate generality, we also present an animated Turing machine simulator programmed using these features. Throughout the paper, we combine our discussion of the programming language characteristics with how the language features prototyped in Forms/3 relate to what is known about human effectiveness in programming.
引用
收藏
页码:155 / 206
页数:52
相关论文
共 92 条
[41]   USER-INTERFACE SPECIFICATION USING AN ENHANCED SPREADSHEET MODEL [J].
HUDSON, SE .
ACM TRANSACTIONS ON GRAPHICS, 1994, 13 (03) :209-239
[42]  
Hughes C., 1990, VISUAL LANGUAGES APP, P203
[43]  
HUGHES C, 1985, FUNCTIONAL PROGRAMMI, P129
[44]  
Hutchins Edwin L, 1985, Human-Computer Interaction, V1, P311, DOI 10.1207/s15327051hci0104_2
[45]  
JONES SLP, 1996, ACM S PRINC PROGR LA
[46]  
JONES SLP, 1993, 1993 ACM S PRINC PRG, P75
[47]   COMPUTER SOFTWARE [J].
KAY, A .
SCIENTIFIC AMERICAN, 1984, 251 (03) :52-&
[48]   A CORRESPONDENCE BETWEEN ALGOL 60 AND CHURCHS LAMBDA-NOTATION .1. [J].
LANDIN, PJ .
COMMUNICATIONS OF THE ACM, 1965, 8 (02) :89-&
[49]   A CORRESPONDENCE BETWEEN ALGOL 60 AND CHURCHS LAMBDA-NOTATION .2. [J].
LANDIN, PJ .
COMMUNICATIONS OF THE ACM, 1965, 8 (03) :158-&
[50]  
Launchbury J., 1994, ACM C PROGR LANG DES