summaryrefslogtreecommitdiff
path: root/book/examples/chapter6/Aggregation.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2011-01-11 15:46:43 +0000
committeraarne <aarne@chalmers.se>2011-01-11 15:46:43 +0000
commite7439d65b0e153434d3acc07df6e2a0972ee79ca (patch)
tree36716eec18256eeb600b4a552d9cc80f8ad7f16f /book/examples/chapter6/Aggregation.gf
parent276327f7f264e770478a6d8c6e683266505b0a55 (diff)
gf-book web page index and toc
Diffstat (limited to 'book/examples/chapter6/Aggregation.gf')
-rw-r--r--book/examples/chapter6/Aggregation.gf33
1 files changed, 0 insertions, 33 deletions
diff --git a/book/examples/chapter6/Aggregation.gf b/book/examples/chapter6/Aggregation.gf
deleted file mode 100644
index 28cbd39ef..000000000
--- a/book/examples/chapter6/Aggregation.gf
+++ /dev/null
@@ -1,33 +0,0 @@
-abstract Aggregation = {
- cat S ; NP ; VP ;
- data
- PredVP : NP -> VP -> S ;
- ConjS : S -> S -> S ;
- ConjVP : VP -> VP -> VP ;
- ConjNP : NP -> NP -> NP ;
- Run, Walk : VP ;
- John, Mary : NP ;
-
- fun aggr : S -> S ; -- main aggregation function
- def aggr (ConjS (PredVP x X) (PredVP y Y)) =
- ifS (eqNP x y)
- (PredVP x (ConjVP X Y))
- (ifS (eqVP X Y)
- (PredVP (ConjNP x y) X)
- (ConjS (PredVP x X) (PredVP y Y))) ;
- fun ifS : Bool -> S -> S -> S ; -- if b then x else y
- def
- ifS True x _ = x ;
- ifS False _ y = y ;
- fun eqNP : NP -> NP -> Bool ; -- x == y
- def
- eqNP John John = True ;
- eqNP Mary Mary = True ;
- eqNP _ _ = False ;
- fun eqVP : VP -> VP -> Bool ; -- X == Y
- def
- eqVP Run Run = True ;
- eqVP Walk Walk = True ;
- eqVP _ _ = False ;
- cat Bool ; data True, False : Bool ;
-}