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

  title={Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm},
  author={Margaret M. Burnett and John William Atwood and Rebecca Walpole Djang and James Reichwein and Herkimer J. Gottfried and Sherry Yang},
  journal={Journal of Functional Programming},
  pages={155 - 206}
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. [] Key Method Using FormsF;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 GUI IF;O also become…

Enhancing the Programmability of Spreadsheets with Logic Programming

  • P. Cox
  • Computer Science
    IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007)
  • 2007
This work proposes an enhancement in which sheets can be programmed using logic programming, and achieves a natural integration of logic-based and sheet-based computation, providing a concrete visualisation of operations that divide and assemble arrays of cells.

Programming for humans : a new paradigm for domain-specific languages

The WYSIWYG editor enables the user to put programs directly into web pages, and the use of tables as the pervasive data structure forces a tight mapping between the notation and the possible problems that can be expressed.

InterState: a language and environment for expressing interface behavior

A new programming language and environment that addresses the challenges of writing and reusing user interface code that uses a new visual notation that allows programmers to better understand and navigate their code and can scale to implement complex behaviors involving thousands of objects and constraints.

An interactive environment for beginning Java programmers

  • K. Goldman
  • Computer Science
    Sci. Comput. Program.
  • 2004

Subtext: uncovering the simplicity of programming

Subtext is a new medium in which the representation of a program is the same thing as its execution, and unifies traditionally distinct programming tools and concepts, and enables some novel ones.

End-user assertions in forms/3 : an empirical study

An assertion tool for spreadsheet languages that extends Microsoft Excel's validation scheme and includes capabilities such as assertion propagation, which is aimed at bringing the benefits of software engineering to end users without requiring that they first learn software engineering principles.

Visual Programming Languages

  • P. Cox
  • Computer Science
    Wiley Encyclopedia of Computer Science and Engineering
  • 2008
Several representative visual programming languages are presented, theoretical and cognitive issues are discussed, and a brief overview of current research in the area is provided.

The Deductive Spreadsheet

This book describes recent multidisciplinary research at the confluence of the fields of logic programming, database theory and human-computer interaction. The goal of this effort was to develop the

Gencel: a program generator for correct spreadsheets

A template specification language that allows the definition of spreadsheet templates that describe possible spreadsheet evolutions and a type system for this calculus that can prevent type, reference, and omission errors from occurring in spreadsheets.



Similarity inheritance: a new model of inheritance for spreadsheet VPLs

It is shown that bringing inheritance functionality to the spreadsheet paradigm can be done using the widely understood idea of copy/paste, and why the approach requires the presence of a live, visual environment.

Implementing a functional spreadsheet in clean

This paper describes a first attempt to implement a spreadsheet in a lazy, purely functional language and introduces the possibility of asking the system to prove equality of symbolic cell expressions: a property which can greatly enhance the reliability of a particular user-defined spreadsheet.

Exception Handling in the Spreadsheet Paradigm

An approach to exception handling for spreadsheet system users is presented that is aimed at this goal and the features of the approach are new; others are not new, but their effects on the programming language properties of spreadsheet systems have not been discussed before in the literature.

FUDGETS: a graphical user interface in a lazy functional language

This paper describes an implementation of a small windowbased graphical user interface toolkit for X Windows written in the lazy functional language LML, and suggests how the fudgets can evaluate in parallel.

Graphical techniques in a spreadsheet for specifying user interfaces

The spreadsheet interface described here, called C32 automatically generates appropriate references to C32, provides the programmer with the full power of writgraphical objects when the user clicks on the object in a ing constraint code in the underlying programming lanuser interface window.

What you see is what you test: a methodology for testing form-based visual programs

A testing methodology for form-based visual programs is presented that is validation driven and incremental, and an interface to the methodology is provided that does not require an understanding of testing theory.

Graphical definitions: expanding spreadsheet languages through direct manipulation and gestures

In the past, attempts to extend the spreadsheet paradigm to support graphical objects, such as colored circles or user-defined graphical types, have led to approaches featuring either a direct way of

Testing strategies for form-based visual programs

It is shown that an analogue to the traditional "all-uses" dataflow test adequacy criterion is well suited for code based testing of form based visual programs: it provides important error detection ability, and can be applied more easily to form based programs than to imperative programs.

CogMap: a Visual Description Language for Spreadsheets

This work describes 'CogMap', a tool for the visual expression of simple assertions about structure, function or any other propositions, and argues that the simple principles of CogMap allow it to be extended to many other visual programming environments.

The ins and outs of Clean I/O

This paper shows that I/O can be incorporated in a functional programming language without loss of any of the generally accepted advantages of functional programming languages.