Results 1 -
3 of
3
The Craft of Functional Programming
, 1999
"... Abstract. Refactoring is the process of improving the design of existing programs without changing their functionality. These notes cover refactoring in functional languages, using Haskell as the medium, and introducing the HaRe tool for refactoring in Haskell. 1 ..."
Abstract
-
Cited by 83 (4 self)
- Add to MetaCart
Abstract. Refactoring is the process of improving the design of existing programs without changing their functionality. These notes cover refactoring in functional languages, using Haskell as the medium, and introducing the HaRe tool for refactoring in Haskell. 1
GHood -- Graphical Visualisation and Animation of Haskell Object Observations
, 2001
"... ... The visualisation of program behaviour via animations of data structure observations has uses for program comprehension and exposition, in development, debugging and education. We find that the graphical structure facilitates orientation even when textual labels are no longer readable due to sca ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
... The visualisation of program behaviour via animations of data structure observations has uses for program comprehension and exposition, in development, debugging and education. We find that the graphical structure facilitates orientation even when textual labels are no longer readable due to scaling, suggesting advantages over a purely textual visualisation. A novel application area is opened by the use of GHood as an applet on web pages- discussions of Haskell program behaviour, e.g., in educational online material or in explanations of functional algorithms, can now easily be augmented with graphical animations of the issues being discussed.
Using pi-RED as a Teaching Tool for Functional Programming and Program Execution
"... . This paper describes an interactively controlled reduction system --red which may be employed to teach both basic concepts of functional programming and program execution at the undergraduate level, and advanced topics of computer science at the graduate level. --red supports the reduction la ..."
Abstract
- Add to MetaCart
. This paper describes an interactively controlled reduction system --red which may be employed to teach both basic concepts of functional programming and program execution at the undergraduate level, and advanced topics of computer science at the graduate level. --red supports the reduction languages KiR - a sugared versions of an applied --calculus with a full-fledged (type-free) fi-reduction. Functions (-abstractions) are truly treated as first class objects: they may be applied to other functions or to themselves, and -abstractions may be computed as function values. Name clashes are resolved by an indexing scheme similar to de Bruijn indices. Programs may be executed in a stepwise mode and intermediate programs may be displayed in high-level notation. Special pattern matching constructs provide the means to directly specify in KiR complex term rewrite systems. In conjunction with the stepwise execution mode, this feature has been extensively used, in lab courses ac...

