Skip to content

EricGT/packages-cpp

 
 

Repository files navigation

SWI-Prolog C++ interface

Embedding SWI-Prolog in a C++ program

The files likes.pl and likes.cpp provide a simple example embedding SWI-Prolog. To compile, run

swipl-ld -o likes likes.cpp likes.pl

Next, run as e.g.

./likes john
./likes -happy

Extending SWI-Prolog using C++ code

The file test_cpp.cpp adds foreign predicates to SWI-Prolog. To compile, run

swipl-ld -shared -o test_cpp test_cpp.cpp

Next, run as e.g.

swipl test.pl
?- use_foreign_library(test_cpp).
?- hello(world).
Hello world
true.

Testing

This package also provides tests for the native C SWI-Prolog foreign language interface because this is the most convenient place to do so and the C++ interface depends on the C interface. Most of the testing thereof is indirect through its usage in the core system as well as many of the packages.

About

The SWI-Prolog C++ interface

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 63.2%
  • Prolog 18.3%
  • C 18.1%
  • CMake 0.4%