diff options
| author | krasimir <krasimir@chalmers.se> | 2009-06-13 13:54:06 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-06-13 13:54:06 +0000 |
| commit | 9142fcff76eabaabe984760c211be1a0f31bcb55 (patch) | |
| tree | cdf8b8e5fa53b9049f96d7a37affa38ae42e3408 /testsuite/runtime/paraphrase | |
| parent | c25d7be8773f2a2ee643d1d266b02bd2076f04be (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.gf | 26 | ||||
| -rw-r--r-- | testsuite/runtime/paraphrase/CityEng.gf | 16 | ||||
| -rw-r--r-- | testsuite/runtime/paraphrase/Nat.gf | 34 | ||||
| -rw-r--r-- | testsuite/runtime/paraphrase/lambda.gf | 17 | ||||
| -rw-r--r-- | testsuite/runtime/paraphrase/lambda.gfs | 9 | ||||
| -rw-r--r-- | testsuite/runtime/paraphrase/lambda.gfs.gold | 12 | ||||
| -rw-r--r-- | testsuite/runtime/paraphrase/test.gfs.gold | 7 |
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
|
