summaryrefslogtreecommitdiff
path: root/Test/dafny0/TypeTests.dfy
diff options
context:
space:
mode:
authorGravatar Rustan Leino <leino@microsoft.com>2011-05-27 01:44:26 -0700
committerGravatar Rustan Leino <leino@microsoft.com>2011-05-27 01:44:26 -0700
commit803f42612314d2d27f20dfa476bf0ff8ed24d958 (patch)
treef341d7239381047f31d761938df3b9e1f7a3874c /Test/dafny0/TypeTests.dfy
parente1bf8c0bfff274a0651fb581951cfcaae8b34007 (diff)
Dafny: permanently changed the syntax of "datatype" declarations to what previously was an alternative syntax
Diffstat (limited to 'Test/dafny0/TypeTests.dfy')
-rw-r--r--Test/dafny0/TypeTests.dfy31
1 files changed, 10 insertions, 21 deletions
diff --git a/Test/dafny0/TypeTests.dfy b/Test/dafny0/TypeTests.dfy
index 21f0dda8..9df11a67 100644
--- a/Test/dafny0/TypeTests.dfy
+++ b/Test/dafny0/TypeTests.dfy
@@ -13,37 +13,26 @@ class C {
}
}
-datatype D {
- A;
-}
-
-datatype Nothing { // error: no grounding constructor
-}
+datatype D = A;
-datatype NeverendingList { // error: no grounding constructor
- Cons(int, NeverendingList);
-}
+datatype NeverendingList = Cons(int, NeverendingList); // error: no grounding constructor
-datatype MutuallyRecursiveDataType<T> {
- FromANumber(int); // this is the base case
+datatype MutuallyRecursiveDataType<T> =
+ FromANumber(int) | // this is the base case
Else(TheCounterpart<T>, C);
-}
-datatype TheCounterpart<T> {
- TreeLike(TheCounterpart<T>, TheCounterpart<T>);
+datatype TheCounterpart<T> =
+ TreeLike(TheCounterpart<T>, TheCounterpart<T>) |
More(MutuallyRecursiveDataType<T>);
-}
// these 'ReverseOrder_' order tests may be called white-box unit tests
-datatype ReverseOrder_MutuallyRecursiveDataType<T> {
- FromANumber(int); // this is the base case
+datatype ReverseOrder_MutuallyRecursiveDataType<T> =
+ FromANumber(int) | // this is the base case
Else(ReverseOrder_TheCounterpart<T>, C);
-}
-datatype ReverseOrder_TheCounterpart<T> {
- TreeLike(ReverseOrder_TheCounterpart<T>, ReverseOrder_TheCounterpart<T>);
+datatype ReverseOrder_TheCounterpart<T> =
+ TreeLike(ReverseOrder_TheCounterpart<T>, ReverseOrder_TheCounterpart<T>) |
More(ReverseOrder_MutuallyRecursiveDataType<T>);
-}
// ---------------------