summaryrefslogtreecommitdiff
path: root/test/rembero.adb
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2025-11-19 16:51:08 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2025-11-19 16:51:08 +1300
commit39a112952e328ce52e5f7b08bf18bbadd3fca03f (patch)
treea3ac33e45e4ca643da28930979d38454bda949ff /test/rembero.adb
parent5c077a81964096daf997949da695500c8ab4a7d3 (diff)
Reification, including Term flattening and Treeification
Diffstat (limited to 'test/rembero.adb')
-rw-r--r--test/rembero.adb26
1 files changed, 23 insertions, 3 deletions
diff --git a/test/rembero.adb b/test/rembero.adb
index e2f9a87..669d42a 100644
--- a/test/rembero.adb
+++ b/test/rembero.adb
@@ -8,13 +8,15 @@
with
+ Ada.Characters.Latin_1,
Ada.Text_IO,
Kompsos.Pretty_Print;
procedure Rembero is
- package TIO renames Ada.Text_IO;
+ package Latin renames Ada.Characters.Latin_1;
+ package TIO renames Ada.Text_IO;
package InKomp is new Kompsos (Integer);
@@ -29,13 +31,31 @@ begin
TIO.Put_Line ("Test program to check if calculating an infinite number of results works.");
TIO.New_Line;
TIO.Put_Line ("It will call rembero with variables as all arguments.");
- TIO.Put_Line ("The first 10 results will be displayed.");
+ TIO.Put_Line ("The first 5 results will be displayed.");
TIO.New_Line;
Verse.Remove (Verse.Fresh ("item") & Verse.Fresh ("list") & Verse.Fresh ("out"));
- TIO.Put_Line (Printer.Image (Verse.Take (10)));
+ declare
+ First_Five : constant State_Array := Verse.Take (5);
+ begin
+ TIO.Put_Line ("Raw results:");
+ TIO.Put_Line (Printer.Image (First_Five));
+
+ TIO.New_Line;
+
+ TIO.Put_Line ("Reified results:");
+ for Index in First_Five'Range loop
+ TIO.Put_Line ("#" & Printer.Image (Index) & ":");
+ TIO.Put_Line (Latin.HT & "item: " &
+ Printer.Image (Resolve_First (First_Five (Index), "item")));
+ TIO.Put_Line (Latin.HT & "list: " &
+ Printer.Image (Resolve_First (First_Five (Index), "list")));
+ TIO.Put_Line (Latin.HT & "out: " &
+ Printer.Image (Resolve_First (First_Five (Index), "out")));
+ end loop;
+ end;
end Rembero;