Skip to content

KernelF Introduction

Please start with the readme file of the iets3.opensource ⧉ repository. The primary documentation is the book DESIGN, EVOLUTION, AND USE of KernelF by Markus Voelter. There's also a short reference ⧉ with only 27 pages.

Language Implementations

Multi-Party boolean decision table:

Mutable State

Functional Programming


The execution trace is helpful if you want to follow the execution path of an interpreter. Right-click an interpreted node and click Show Trace. The trace explorer now opens in the lower left corner. When you click one of the lines in the trace explorer, the node in the editor gets replaced by the trace. You can manipulate the trace through the trace expression.

trace tool


KernelF doesn't allow returning null values (intermediate null values that the same or other evaluators catch are fine). Instead, it supports so-called nix handlers (there's a nixHandler extension point). The default handler for KernelF is DefaultNixHandler ⧉. A nix value (interface INixValue) represents an empty (nothing) value. There is, for example, a DefaultNix class; for dates, there's EmptyDateRangeValue ⧉. Use the handler's method process to handle values that might be nix. To use this feature call new NixSupport(Object value node<> node {NixSupport => Object} calculator).run() where the calculator returns the value:

examples: nix support

Last update: July 28, 2023