Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
The Inmates Are Running the Asylum
The Inmates Are Running the Asylum
Mindstorms: children, computers, and powerful ideas
Mindstorms: children, computers, and powerful ideas
Sketchpad: a man-machine graphical communication system
AFIPS '63 (Spring) Proceedings of the May 21-23, 1963, spring joint computer conference
Real-time human interaction with supervised learning algorithms for music composition and performance
The Design of Everyday Things
Hi-index | 0.00 |
This paper seeks to broaden the view of what programming is, who programs, and how programming fits in to larger systems. With growing frequency, people are approaching programming from unlikely backgrounds such as the arts. Often these new programmers bring with them ways of working which are incompatible with mainstream programming practices, but which allow for new possibilities in programming interfaces. This paper makes suggestions for the design of these new programming interfaces. It presents as a case study and demonstration Recursive Drawing. Recursive Drawing is a reimplementation of the textual programming language Context Free as a graphical, directly manipulable interface. Instead of a compiler or interpreter, Recursive Drawing's programming interface is modeled as a constraint solver. This allows the programmer to modify the program's source code by manipulating the program's output. Additionally, the design of the interface focuses on program transformation, rather than program construction.