Skip to main content

External Function Calls in a Functional Language

  • Conference paper
Functional Programming, Glasgow 1991

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 64 Accesses

Abstract

In order to perform IO’s in the pure, nonstrict functional language NATURAL EXPERT LANGUAGE (NEL) via subroutine calls, we have extended functional programming by nondeterministic functions. These functions are hyperstrict and their input and output must be data. This makes it possible to write functional programs that run under (multi-user) TP-monitors, furthermore it makes programming cleaner and easier. Integration into commercial mainframe DP-environments is improved since such programs behave like usual commercial dialog programs. Some source-level transformations and optimisations can no longer be used such as: unfolding, common subexpression elimination and fully lazy lambda-lifting.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Bloss, Update analysis and the efficient implementation of functional aggregates. In FPCA’89, pp.26–38,ACM Press, 1989

    Google Scholar 

  2. P. Hudak, S. P. Jones, P. Wadler et. al, Report on the programming language Haskell: A nonstrict, purely functional language

    Google Scholar 

  3. R.J.M. Hughes and J. O’Donell, Expressing and Reasoning about nondeterministic functional programs, Proc. of Functional Programming, Glasgow, 1989

    Google Scholar 

  4. N. Hutchison, U. Neuhaus, M. Schmidt-Schauß, NATURAL EXPERT: A commercial functional programming environment, submitted to J. Functionl Programming

    Google Scholar 

  5. L. McLoughlin and E.S. Hayes, Imperative Effects from a Pure Functional Language, Proc. of Functional Programming, Glasgow, 1989

    Google Scholar 

  6. S. Peyton Jones, The Implementation of functional programming languages, Prentice Hall, (1987)

    Google Scholar 

  7. Software AG, NATURAL EXPERT, Reference Manual, Version 1.1. 3, (1990)

    Google Scholar 

  8. Søndergaard, H., and Sestoft, P., Referential transparency, definiteness and unfoldability, Acta informática 27, 505–517 (1990)

    Google Scholar 

  9. P. Trinder, Referentially transparent database languages, Proc. of Functional Programming, Glasgow, 1989

    Google Scholar 

  10. P. Wadler, Linear types can change the world!, In IFIP working conference on Programming concepts and methods, North Holland, 1990

    Google Scholar 

  11. D. Wakeling, C. Runciman, Linearity and Laziness, Proc FPCA 1991, LNCS 523, pp. 215–240, (1991)

    Google Scholar 

  12. Telefonica and Software Ag España, “Satelite: Exploiting Natural Language”, Journal of the Asociación Española para la Inteligencia Artificial, March 1991

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 British Computer Society

About this paper

Cite this paper

Schmidt-Schauß, M. (1992). External Function Calls in a Functional Language. In: Heldal, R., Holst, C.K., Wadler, P. (eds) Functional Programming, Glasgow 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3196-0_26

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3196-0_26

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19760-7

  • Online ISBN: 978-1-4471-3196-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics