JPL - {{page.title}}

JPL
menu
an API between SWI-Prolog and the Java Virtual Machine - hosted on GitHub
{{page.title}}
{{ content }}

- Introduction
- Prolog API
- Overview
- Introduction
- JPL types
- Java values and references
- Java types: structured notation
- Java types: descriptor notation
- Java types: classname notation
- Creating Java objects
- Calling Java methods
- Fetching Java field values
- Setting Java field values
- A slightly longer example
- Exceptions thrown by Java
- Naming static nested classes
- Instantiating a non-static member class
- Enums are static nested classes
- Calling parameterless methods
- Calling void methods
- Exiting the JVM
- To do
- Reference
- jpl_new/3
- jpl_call/4
- jpl_set/3
- jpl_get/3
- Java inspection
- Utilities
- Miscellaneous
- Java API
- Overview
- The class hierarchy
- Initializing and terminating Prolog
- Creating terms
- Atoms
- Integers
- Rationals
- Floats
- Variables
- Compound terms
- Lists
- Dictionaries
- Java objects
- Creating queries
- Querying Prolog
- Obtaining one solution
- Obtaining all solutions
- Ground queries
- Terminating queries
- Queries from multi-threaded applications
- Exceptions
- Debugging
- Version information
- Gotchas
- Argument numbering
- All solutions of a Query with no solutions
- JavaDoc
- Tutorials
- Environment variables
- Initializing Prolog engine
- Java calls Prolog
- Types of queries
- Multi-threaded Java
- Deploying for users
- on Java
- on Linux
- on Windows
- on MacOS
- Developing JPL
- JPL architecture
- Setting up for development
- Testing
- Using the live devel tree
- Develop & Contribute
- Release notes
- 7.6.1
- 7.6.0
- 7.5.0
- 7.4.0
- 7.0.1
- 3.0.3
- 3.0.2
- 3.0.0
- 2.0.2
- LICENSE
- To do