Abstract:
This paper describes some proposals for improving the reduction language KiR with respect to data abstraction, modularization and input/output. Rather than adding specialized language elements for each purpose, an attempt is made to provide the desired functionality by way of only two extensions. These are frames (record-like data structures) and interactions (constructs describing communications with the program's runtime environment). The main topic is the unified treatment of language elements for programming-in-the-large within the framework of an untyped, purely functional language. Both modules and data abstraction are modeled as first class data structures.
Citations
|
1128
|
Monads for functional programming
– Wadler
- 1992
|
|
277
|
Abstract types have existential type
– Mitchell, Plotkin
- 1988
|
|
259
|
A type-theoretic approach to higher-order modules with sharing
– Harper, Lillibridge
|
|
246
|
Why Functional Programming Matters
– Hughes
- 1989
|
|
215
|
Report on the Programming Language Haskell, A Non-strict, Purely Functional Language
– Hudak, Jones, et al.
- 1992
|
|
205
|
Manifest types, modules, and separate compilation
– Leroy
|
|
179
|
On Understanding Types
– Cardelli, Wegner
- 1985
|
|
167
|
Modules for Standard ML
– MacQueen
|
|
134
|
Orthogonally persistent object systems
– Atkinson, Morrison
- 1995
|
|
96
|
Applicative functors and fully transparent higher-order modules
– Leroy
- 1995
|
|
60
|
A semantics for higher-order functors
– MacQueen, Tofte
- 1994
|
|
42
|
The ins and outs of Clean I/O
– Achten, Plasmeijer
- 1995
|
|
31
|
The Implementation of Practical Functional Programming Languages
– Perry
- 1991
|
|
24
|
On the expressiveness of purely functional I/O systems
– Hudak, Sundaresh
- 1988
|
|
8
|
π-RED + : An interactive compiling graph reduction system for an applied λ-calculus
– Gaertner, Kluge
- 1996
|
|
8
|
A User's Guide for the Reduction System ��-RED
– Kluge
- 1994
|
|
8
|
Combining type classes and existential types
– Laufer
- 1994
|
|
8
|
Persistent polymorphic programming in Tycoon: An introduction
– Matthes, Mussig, et al.
- 1994
|
|
8
|
A functional approach to database updates
– Small
- 1993
|
|
6
|
Two Models for Integrating Persistence and Lazy Functional Languages
– McNally, Davie
- 1991
|
|
1
|
and Interactions
– Functions
- 1995
|
|
1
|
of Haskell 1.3 Report and Libraries
– Draft
- 1995
|