A C++ interface to SWI-Prolog
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • A C++ interface to SWI-Prolog
        • Introduction
        • Overview
        • Examples
        • The class PlTerm
        • The class PlTermv
        • Supporting Prolog constants
        • The class PlRegister
        • The class PlQuery
        • The PREDICATE macro
        • Exceptions
        • Embedded applications
        • Considerations
        • Conclusions

13 Conclusions

In this document, we presented a high-level interface to Prolog exploiting automatic type-conversion and exception-handling defined in C++.

Programming using this interface is much more natural and requires only little extra resources in terms of time and memory.

Especially the smooth integration between C++ and Prolog exceptions reduce the coding effort for type checking and reporting in foreign predicates.

Index

?
add/3
3.2
arg/3
4.5
assert
8.1
atom_chars/2
2 4.9
average/3
3.3
entry/1
4.11
hello/1
3.1
load_foreign_library/1
9.2
open/3
10.3
print_message/2
10.1
read/1
4.10
word/1
8.1
write/1
3.1 4.2
NAMED_PREDICATE()
NAMED_PREDICATE_NONDET()
P
PlAtom
4.3 6
PlAtom==()
PlCall()
PlCompound
4.5
PlDomainError
10
PlEngine
11
PlException
2 2 2 2 10 10 10 10.1 10.1
PlFrame
8.1 8.1 8.1 8.1 8.1 12.1
PlFrame::rewind()
PlQuery
3.3 5 8
PlQuery::next_solution()
PlRegister
9
PREDICATE0()
PlTail
4.11 4.11 4.11 4.11 4.11 4.11 4.11 4.11 4.11 4.11
PlTail::append()
PlTail::close()
PlTail::next()
PlTerm
2 2 2 2 2 2 2 3.1 3.1 3.2 3.2 4 4.1 4.2 4.2 4.2 4.3 4.4 4.4 4.4 4.5 4.5 4.5 4.6 10 10.1 12.1
PlTerm!=()
PlTerm::arity()
PlTerm::name()
PlTerm::type()
PlTerm<()
PlTerm<=()
PlTerm=()
PlTerm==()
PlTerm>()
PlTerm>=()
PlTerm[]()
PlTermv
2 4.10 5 9
PlTypeEror
10 10.1
T
cppThrow()
plThrow()