Overview

Idris functions can call Java functions and Java functions can call Idris functions. %foreign blocks in Idris allows calling Java functions from Idris. Similarly %export blocks in Idris allows Idris functions to be exported as Java static methods and instance methods. Java classes can be created from Idris and Java interfaces can be implemented using Idris functions. Java annotations can be added in the exported classes, fields and methods as well. We will see detailed examples of all of these capabilities in the following sections.