Interactive Visual Functional Programming

Hanna, Keith (2002) Interactive Visual Functional Programming. In: Proc. Intnl Conf. on Functional Programming, OCT 04-06, 2002, Pittsburgh, PA, USA. (The full text of this publication is not available from this repository)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL
http://dx.doi.org/10.1145/581478.581493

Abstract

An interactive graphical environment for supporting the development and use of Haskell applications programs is described. The environment, named Vital, is particularly intended for supporting the open-ended, incremental development style often preferred by non-specialist users in which successive steps of program development are motivated and informed by results so far obtained.Significant features of Vital include: the graphical display of data structures in a format defined by a datatype-indexed stylesheet, the way that evaluation of (possibly infinite) values is demand-driven by the action of the user scrolling around an unbounded workspace, and support for copy-and-paste graphical editing of data structures. This latter allows, for example, the user to modify a complex data structure by point-and-click operations, or to create (by functional evaluation) a regular data structure and then edit values or expressions into it. The effect of each editing operation is immediately reflected in the Haskell program source code.

Item Type: Conference or workshop item (Paper)
Uncontrolled keywords: functional visual interactive edit live stylesheet Haskell
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Theoretical Computing Group
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 17:59
Last Modified: 27 May 2014 11:31
Resource URI: http://kar.kent.ac.uk/id/eprint/13713 (The current URI for this page, for reference purposes)
  • Depositors only (login required):