Forms/3 is a general purpose, declarative, spreadsheet-based Visual Programming
Language (VPL). Its goal is to provide computational and expressive
power in a language featuring a simple, concrete programming style with
Programming in Forms/3 follows the spreadsheet
paradigm; the programmer uses direct manipulation to place cells on
forms, and then defines a formula for each cell. Such a formula may
include constants, references to other cells, or references to the
cell's own value at a previous moment in time. Cells are referenced by
clicking on them. (In our current prototype, these references are
reflected textually in the formulas.) A program's calculations are
determined by these formulas.
Three Frequently Asked Questions
- Q: What is the best academic reference for the Forms/3 language?
A: The article "Forms/3: A First-Order Visual Language to Explore the Boundaries of
the Spreadsheet Paradigm," M. Burnett, J. Atwood, R. Djang, H. Gottfried,
J. Reichwein, S. Yang, Journal of Functional Programming 11(2), March 2001,
- Q: What is the best write-up for actually using Forms/3 software?
A: The guided tour.
- Q: Do other publications exist about Forms/3?
A1: Yes. Most of my research until about 2004 used Forms/3 as a prototype, so almost all of my publications until then include information about aspects of Forms/3.
A2: Forms/3 was also a testbed for end-user software engineering research in portions of the EUSES Consortium research. We prototyped a number of end-user software engineering features in the Forms/3 environment and tried them out with end-user participants in our lab.
- Q: Is anything happening lately with Forms/3?
A: No, we switched to other kinds of end-user programming platforms in the mid-2000s.
Recent and Current Research
What You See Is What You Test (WYSIWYT).
We are working on a variety of testing and debugging mechanisms for visual programming languages, with a special interest in the spreadsheet paradigm as used by end users. The primary testbed for this work is Forms/3.
End User Software Engineering
Software engineering for end-user programming languages, again with a particular emphasis on spreadsheets. This work is being further generalized as part of our involvement in the new EUSES Consortium.
Comments can be sent to:
Originally authored by Herky Gottfried and JJ Cadiz, Dec '95.
Last updated by Margaret Burnett, Nov. 14, 2014.