[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Exploring Parafunctional Programming: Separating the What from the How

Published: 01 January 1988 Publication History

Abstract

A method is presented that takes functional programming one step further by letting the programmer change operational (parafunctional) details without restructuring or rewriting the program. Parafunctional programming is based on the premise that the what (specification) and the how (implementation) are separately identifiable and maintainable system components. Unlike conventional programming methods, parafunctional programming maintains this separation by metalinguistic constructs in the source language and a programming environment that supports structured editing and high-level debugging.

References

[1]
1. P. Henderson, "Functional Programming, Formal Specification, and Rapid Prototyping," IEEE Trans. Software Eng., Feb. 1986, pp. 241-250.
[2]
2. P. Hudak, "Parafunctional Programming," Computer, Aug. 1986, pp. 60-71.
[3]
3. P. Hudak and L. Smith, "Parafunctional Programming: A Paradigm for Programming Multiprocessor Systems," ACM Symp. Princ. Programming Languages, ACM, New York, Jan. 1986, pp. 243-254.
[4]
4. B. Goldberg and P. Hudak, "Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor," Proc. Santa Fe Graph Reduction Workshop, Springer-Verlag, LNCS 279, New York, Oct. 1986, pp. 94-113.
[5]
5. P. Hudak and B. Goldberg, "Serial Combinators: 'Optimal' Grains of Parallelism," in Functional Programming Languages and Computer Architectures, Springer-Verlag, LCNS 201, New York, 1985, pp. 382-388.
[6]
6. P. Hudak, "Denotational Semantics of a Parafunctional Programming Language," Int'l J. Parallel Programming, April 1986, pp. 103-125.
[7]
7. P. Hudak and S. Anderson, "Pomset Interpretations of Parallel Functional Programs," Proc. Functional Programming Languages and Computer Architecture Conf., Springer-Verlag, LNCS 274, New York, Sept. 1987, pp. 234-256.
[8]
8. D. Kranz et al., "Orbit: An Optimizing Compiler for Scheme," SIGPlan Notices, July 1986, pp. 219-233.
[9]
9. D. Michie, "Memo Functions and Machine Learning," Nature, April 1968, pp. 19-22.
[10]
10. R.M. Keller and R. Sleep, "Applicative Caching," ACM Trans. Programming Languages and Systems, Jan. 1986, pp. 88-108.
[11]
11. J. Hughes, "Lazy Memo Functions," in Functional Programming Languages and Computer Architecture, Springer-Verlag, LNCS 201, New York, 1985, pp. 129-146.
[12]
12. F.W. Burton, "Annotations to Control Parallelism and Reduction Order in the Distributed Evaluation of Functional Programs," ACM Trans. Programming Languages and Systems, April 1984, pp. 159-174.

Cited By

View all
  • (2012)An hybrid model for very high level threadsProceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/2141702.2141709(55-63)Online publication date: 26-Feb-2012
  • (1998)Algorithm + strategy = parallelismJournal of Functional Programming10.1017/S09567968970029678:1(23-60)Online publication date: 1-Jan-1998
  • (1994)Dataflow-Based Lenient Implementation of a Functional Language, Valid, on Conventional Multi-processorsProceedings of the IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques10.5555/647042.713837(279-288)Online publication date: 24-Aug-1994
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Software
IEEE Software  Volume 5, Issue 1
January 1988
88 pages

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 01 January 1988

Author Tags

  1. functional programming
  2. high-level debugging
  3. implementation
  4. metalinguistic constructs
  5. parafunctional programming
  6. programming
  7. programming environment
  8. programming environments
  9. source language
  10. specification
  11. structured editing

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2012)An hybrid model for very high level threadsProceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/2141702.2141709(55-63)Online publication date: 26-Feb-2012
  • (1998)Algorithm + strategy = parallelismJournal of Functional Programming10.1017/S09567968970029678:1(23-60)Online publication date: 1-Jan-1998
  • (1994)Dataflow-Based Lenient Implementation of a Functional Language, Valid, on Conventional Multi-processorsProceedings of the IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques10.5555/647042.713837(279-288)Online publication date: 24-Aug-1994
  • (1993)ConferencesIEEE Parallel & Distributed Technology: Systems & Technology10.5555/613767.6138001:1(68-72)Online publication date: 1-Feb-1993
  • (1993)Program Structuring for Effective Parallel PortabilityIEEE Transactions on Parallel and Distributed Systems10.1109/71.2435304:9(1041-1059)Online publication date: 1-Sep-1993
  • (1990)A method for parallel program generation with an application to the Booster languageProceedings of the 4th international conference on Supercomputing10.1145/77726.255189(457-469)Online publication date: 1-Jun-1990
  • (1990)A method for parallel program generation with an application to the Booster languageACM SIGARCH Computer Architecture News10.1145/255129.25518918:3b(457-469)Online publication date: 1-Jun-1990
  • (1990)Do Parallel Languages Respond to the Needs of Scientific Programmers?Computer10.1109/2.6209023:12(13-23)Online publication date: 1-Dec-1990
  • (1988)Topologies' - computational messaging for multicomputersProceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 110.1145/62297.62373(580-593)Online publication date: 1-Jan-1988

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media