Skip to main content

An overview of the relational-functional language RELFUN

  • Chapter
  • First Online:
A Tight, Practical Integration of Relations and Functions

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1712))

  • 105 Accesses

Abstract

This overview considers research and development in integrated declarative programming based on the design, semantics, implementation, and use of the RELFUN (RELational-FUNctional) language. RELFUN reciprocally extends Horn relations and call-by-value (eager) functions just enough to yield a unified operator concept. Relations acquire application nesting and higher-order notation; functions acquire non-groundness and non-determinism. Relations are defined by Horn-like clauses implicitly returning true; functions are defined by rules with an additional returned-value premise. This minimal relational-functional kernel then provides a platform for common extensions such as finite domains, avoiding their duplication as separate features of logic and functional languages. Operational (interpreter in pure LISP), procedural (SLV-resolution), fixpoint, and model-theoretic semantics were developed for pure RELFUN. The compiler system has a layered structure, ranging from source-to-source transformers to a declarative classifier, to a code generator for the WAM (Warren Abstract Machine). Applications include a library of declarative (hyper)graph operations, a CAD-to-NC transformer of geometry/plan terms, as well as sharable knowledge bases on materials science and engineering.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

(1999). An overview of the relational-functional language RELFUN. In: A Tight, Practical Integration of Relations and Functions. Lecture Notes in Computer Science, vol 1712. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0103292

Download citation

  • DOI: https://doi.org/10.1007/BFb0103292

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66644-8

  • Online ISBN: 978-3-540-48064-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics