1
0
forked from GitHub/gf-core

split the testsuite to different directories for compiler, runtime and libraries

This commit is contained in:
krasimir
2009-06-13 13:54:06 +00:00
parent c25d7be877
commit 9142fcff76
19 changed files with 5 additions and 5 deletions

View File

@@ -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 ;
}

View File

@@ -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" ;
}

View File

@@ -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) ;
}

View File

@@ -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 ;
}

View File

@@ -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

View File

@@ -0,0 +1,12 @@
\v0 -> v0
1
\v0 -> v0

View File

@@ -0,0 +1,7 @@
Succ (Succ Zero)
Succ (Succ (Succ Zero))