Return to search

Multiparadigm programming: Novel devices for implementing functional and logic programming constructs in C++

Constructs for functional and logic programming can be smoothly integrated into an existing object-oriented language. We demonstrate this in the context of C++ (a statically-typed object-oriented language with effects and parametric polymorphism) via two libraries: FC++ and LC++. FC++ is a library for functional programming in C++; FC++ supports higher-order polymorphic functions, lazy lists, and a small lambda language; it also contains a large library of useful functions, datatypes, combinators, and monads. LC++ is a library for logic programming in C++; LC++ provides the same general functionality as Prolog, including the ability to return query results lazily (one at a time). Both
libraries are embedded in C++ so that they share C++'s static type system, and the library interfaces provide straightforward ways for
code from within one paradigm to ``call out' to another.

Our work describes the techniques used to implement these libraries in C++ and shows that the resulting multiparadigm language has useful
applications in real-world domains. We also describe how many of the implementation techniques can be generalized from C++ and applied to
other programming languages to yield similar results.

Identiferoai:union.ndltd.org:GATECH/oai:smartech.gatech.edu:1853/5073
Date12 July 2004
CreatorsMcNamara, Brian
PublisherGeorgia Institute of Technology
Source SetsGeorgia Tech Electronic Thesis and Dissertation Archive
Languageen_US
Detected LanguageEnglish
TypeDissertation
Format720843 bytes, application/pdf

Page generated in 0.0017 seconds