-- Programmed by Jedidiah Barber -- Licensed under the Sunset License v1.0 -- See license.txt for further details with Ada.Text_IO, Kompsos.Pretty_Print; procedure AB is package TIO renames Ada.Text_IO; package InKomp is new Kompsos (Integer); use InKomp; package Printer is new InKomp.Pretty_Print (Integer'Image); Relation : Goal := Empty_Goal; A, B : Term; begin TIO.Put_Line ("Test program to output a-and-b example from 2013 microKanren paper."); TIO.New_Line; A := Relation.Fresh; Relation.Unify (A, 7); B := Relation.Fresh; Relation := Disjunct (Relation.Unify (B, 5), Relation.Unify (B, 6)); TIO.Put_Line (Printer.Image (Relation)); end AB;