summaryrefslogtreecommitdiff
path: root/testsuite/runtime/paraphrase
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-06-13 13:54:06 +0000
committerkrasimir <krasimir@chalmers.se>2009-06-13 13:54:06 +0000
commit9142fcff76eabaabe984760c211be1a0f31bcb55 (patch)
treecdf8b8e5fa53b9049f96d7a37affa38ae42e3408 /testsuite/runtime/paraphrase
parentc25d7be8773f2a2ee643d1d266b02bd2076f04be (diff)
split the testsuite to different directories for compiler, runtime and libraries
Diffstat (limited to 'testsuite/runtime/paraphrase')
-rw-r--r--testsuite/runtime/paraphrase/City.gf26
-rw-r--r--testsuite/runtime/paraphrase/CityEng.gf16
-rw-r--r--testsuite/runtime/paraphrase/Nat.gf34
-rw-r--r--testsuite/runtime/paraphrase/lambda.gf17
-rw-r--r--testsuite/runtime/paraphrase/lambda.gfs9
-rw-r--r--testsuite/runtime/paraphrase/lambda.gfs.gold12
-rw-r--r--testsuite/runtime/paraphrase/test.gfs.gold7
7 files changed, 121 insertions, 0 deletions
diff --git a/testsuite/runtime/paraphrase/City.gf b/testsuite/runtime/paraphrase/City.gf
new file mode 100644
index 000000000..2ea8a10ff
--- /dev/null
+++ b/testsuite/runtime/paraphrase/City.gf
@@ -0,0 +1,26 @@
+abstract City = {
+
+cat S ; City ; Country ; Adj ;
+
+data
+ PredIn : City -> Country -> S ;
+fun
+ PredAdj : City -> Adj -> S ;
+ Capital : Country -> City ;
+ CountryAdj : Adj -> Country ;
+data
+ Stockholm, Helsinki : City ;
+ Sweden, Finland : Country ;
+ Swedish, Finnish : Adj ;
+
+def
+ PredAdj city x = PredIn city (CountryAdj x) ;
+
+ Capital Finland = Helsinki ;
+ Capital Sweden = Stockholm ;
+
+ CountryAdj Finnish = Finland ;
+ CountryAdj Swedish = Sweden ;
+
+
+}
diff --git a/testsuite/runtime/paraphrase/CityEng.gf b/testsuite/runtime/paraphrase/CityEng.gf
new file mode 100644
index 000000000..39a0974c8
--- /dev/null
+++ b/testsuite/runtime/paraphrase/CityEng.gf
@@ -0,0 +1,16 @@
+concrete CityEng of City = {
+
+lincat S, City, Country, Adj = Str ;
+
+lin
+ PredIn ci co = ci ++ "is in" ++ co ;
+ PredAdj ci ad = ci ++ "is" ++ ad ;
+ Capital co = "the capital of" ++ co ;
+ CountryAdj ad = "the" ++ ad ++ "country" ;
+ Stockholm = "Stockholm" ;
+ Helsinki = "Helsinki" ;
+ Sweden = "Sweden" ;
+ Finland = "Finland" ;
+ Swedish = "Swedish" ;
+ Finnish = "Finnish" ;
+}
diff --git a/testsuite/runtime/paraphrase/Nat.gf b/testsuite/runtime/paraphrase/Nat.gf
new file mode 100644
index 000000000..b55333472
--- /dev/null
+++ b/testsuite/runtime/paraphrase/Nat.gf
@@ -0,0 +1,34 @@
+abstract Nat = {
+
+cat Nat ;
+
+data
+ Zero : Nat ;
+ Succ : Nat -> Nat ;
+
+fun one : Nat ;
+def one = Succ Zero ;
+
+fun plus : Nat -> Nat -> Nat ;
+def plus x Zero = x ;
+def plus x (Succ y) = Succ (plus x y) ;
+
+fun twice : Nat -> Nat ;
+def twice x = plus x x ;
+
+fun times : Nat -> Nat -> Nat ;
+def times x Zero = Zero ;
+def times x (Succ y) = plus (times x y) x ;
+
+fun four : Nat ;
+def four = twice (twice one) ;
+
+fun exp : Nat -> Nat ;
+def exp Zero = one ;
+def exp (Succ x) = twice (exp x) ;
+
+fun plus' : Nat -> Nat -> Nat ;
+def plus' Zero = \y -> y ;
+def plus' (Succ x) = \y -> Succ (plus x y) ;
+
+}
diff --git a/testsuite/runtime/paraphrase/lambda.gf b/testsuite/runtime/paraphrase/lambda.gf
new file mode 100644
index 000000000..3476866c9
--- /dev/null
+++ b/testsuite/runtime/paraphrase/lambda.gf
@@ -0,0 +1,17 @@
+abstract lambda = {
+
+fun f1 : Int -> Int ;
+def f1 = (\x -> x) ;
+
+fun f2 : Int ;
+def f2 = f1 1 ;
+
+cat D ;
+data D1 : D ;
+ D2 : D ;
+
+fun d : D -> Int -> Int ;
+def d D1 = \x -> x ;
+ d D2 = \x -> 2 ;
+
+} \ No newline at end of file
diff --git a/testsuite/runtime/paraphrase/lambda.gfs b/testsuite/runtime/paraphrase/lambda.gfs
new file mode 100644
index 000000000..5313751b5
--- /dev/null
+++ b/testsuite/runtime/paraphrase/lambda.gfs
@@ -0,0 +1,9 @@
+i testsuite/runtime/paraphrase/lambda.gf
+
+pt -compute f1
+pt -compute f2
+
+pt -compute d D1
+pt -compute d D2
+pt -compute d D1 1
+pt -compute d D2 1
diff --git a/testsuite/runtime/paraphrase/lambda.gfs.gold b/testsuite/runtime/paraphrase/lambda.gfs.gold
new file mode 100644
index 000000000..0d8f027d6
--- /dev/null
+++ b/testsuite/runtime/paraphrase/lambda.gfs.gold
@@ -0,0 +1,12 @@
+\v0 -> v0
+
+1
+
+\v0 -> v0
+
+\v0 -> 2
+
+1
+
+2
+
diff --git a/testsuite/runtime/paraphrase/test.gfs.gold b/testsuite/runtime/paraphrase/test.gfs.gold
new file mode 100644
index 000000000..82b443d48
--- /dev/null
+++ b/testsuite/runtime/paraphrase/test.gfs.gold
@@ -0,0 +1,7 @@
+Succ (Succ Zero)
+
+Succ (Succ (Succ Zero))
+
+Succ (Succ Zero)
+
+unknown variable two