From 115b4213d515ce308568fd71e362f6ce2881fb50 Mon Sep 17 00:00:00 2001 From: krasimir Date: Fri, 12 Nov 2010 19:37:19 +0000 Subject: operations in the abstract syntax --- testsuite/compiler/check/abstract-operations/Nat.gf | 13 +++++++++++++ .../check/abstract-operations/abstract-operations.gfs | 5 +++++ .../check/abstract-operations/abstract-operations.gfs.gold | 13 +++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 testsuite/compiler/check/abstract-operations/Nat.gf create mode 100644 testsuite/compiler/check/abstract-operations/abstract-operations.gfs create mode 100644 testsuite/compiler/check/abstract-operations/abstract-operations.gfs.gold (limited to 'testsuite') diff --git a/testsuite/compiler/check/abstract-operations/Nat.gf b/testsuite/compiler/check/abstract-operations/Nat.gf new file mode 100644 index 000000000..09dc0809a --- /dev/null +++ b/testsuite/compiler/check/abstract-operations/Nat.gf @@ -0,0 +1,13 @@ +abstract Nat = { + +cat Nat ; +data zero : Nat ; + succ : Nat -> Nat ; + +oper plus : Nat -> Nat -> Nat ; +def plus zero y = y ; + plus (succ x) y = succ (plus x y) ; + +oper twice : Nat -> Nat = \x -> plus x x ; + +} diff --git a/testsuite/compiler/check/abstract-operations/abstract-operations.gfs b/testsuite/compiler/check/abstract-operations/abstract-operations.gfs new file mode 100644 index 000000000..da5cb71fe --- /dev/null +++ b/testsuite/compiler/check/abstract-operations/abstract-operations.gfs @@ -0,0 +1,5 @@ +-- here we test that the abstract operations are not used for proof search + +i testsuite\compiler\check\abstract-operations\Nat.gf +gt -cat=Nat -number=10 -depth=10 +pt -compute (twice (succ zero)) diff --git a/testsuite/compiler/check/abstract-operations/abstract-operations.gfs.gold b/testsuite/compiler/check/abstract-operations/abstract-operations.gfs.gold new file mode 100644 index 000000000..c0a36cff0 --- /dev/null +++ b/testsuite/compiler/check/abstract-operations/abstract-operations.gfs.gold @@ -0,0 +1,13 @@ +zero +succ zero +succ (succ zero) +succ (succ (succ zero)) +succ (succ (succ (succ zero))) +succ (succ (succ (succ (succ zero)))) +succ (succ (succ (succ (succ (succ zero))))) +succ (succ (succ (succ (succ (succ (succ zero)))))) +succ (succ (succ (succ (succ (succ (succ (succ zero))))))) +succ (succ (succ (succ (succ (succ (succ (succ (succ zero)))))))) + +succ (succ zero) + -- cgit v1.2.3