summaryrefslogtreecommitdiff
path: root/old-examples/dialogue/ResProlog.gf
diff options
context:
space:
mode:
Diffstat (limited to 'old-examples/dialogue/ResProlog.gf')
-rw-r--r--old-examples/dialogue/ResProlog.gf22
1 files changed, 22 insertions, 0 deletions
diff --git a/old-examples/dialogue/ResProlog.gf b/old-examples/dialogue/ResProlog.gf
new file mode 100644
index 000000000..ce3bbce4b
--- /dev/null
+++ b/old-examples/dialogue/ResProlog.gf
@@ -0,0 +1,22 @@
+resource ResProlog = open Prelude in {
+
+ oper
+ bracket : Str -> Str = \s -> "[" ++ s ++ "]" ;
+
+ app1 : Str -> Str -> Str = \f,x -> f ++ paren x ;
+ app2 : Str -> Str -> Str -> Str = \f,x,y -> f ++ paren (x ++ "," ++ y) ;
+
+ apps : Str -> SS -> SS = \f,x -> ss (app1 f x.s) ;
+
+ op1 : (s,x : Str) -> {s,x : Str} = \s,x -> {s = s ; x = x} ;
+ op2 : (s,x,y : Str) -> {s,x,y : Str} = \s,x,y -> {s = s ; x = x ; y = y} ;
+
+ request : Str -> Str = app1 "request" ;
+ answer : Str -> Str = app1 "answer" ;
+
+ req_ans : Str -> Str -> Str -> Str = \f,t,k ->
+ bracket (request f ++ "," ++ answer (app1 t k)) ;
+
+}
+
+-- [request(add_event), answer(event_to_store(meeting))]