diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/membero.adb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/membero.adb b/test/membero.adb new file mode 100644 index 0000000..694410d --- /dev/null +++ b/test/membero.adb @@ -0,0 +1,53 @@ + + +-- Programmed by Jedidiah Barber +-- Licensed under the Sunset License v1.0 + +-- See license.txt for further details + + +with + + Ada.Strings.Unbounded, + Ada.Text_IO, + Kompsos.Prelude, + Kompsos.Pretty_Print; + + +procedure Membero is + + package SU renames Ada.Strings.Unbounded; + package TIO renames Ada.Text_IO; + + function "+" + (Item : in String) + return SU.Unbounded_String + renames SU.To_Unbounded_String; + + + package InKomp is new Kompsos (SU.Unbounded_String); + use InKomp; + + package Prelude is new InKomp.Prelude; + package Printer is new InKomp.Pretty_Print (SU.To_String); + + Verse : World := Empty_World; + + Test_Item : constant Term := T (T (+"one") & T (+"two") & T (+"three") & T (+"four")); + +begin + + TIO.Put_Line ("Test program to check if membero, and hence recursion, is working."); + TIO.Put_Line ("Not currently designed to check for infinite recursion."); + TIO.New_Line; + TIO.Put_Line ("Should find all possible members of (one two three four)"); + + TIO.New_Line; + + Prelude.Member (Verse, T (Verse.Fresh ("result")), Test_Item); + + TIO.Put_Line (Printer.Image (Verse)); + +end Membero; + + |
