diff lib/basis.urs @ 456:1a4fa157fedd

Monoizing FFI transactions correctly
author Adam Chlipala <adamc@hcoop.net>
date Thu, 06 Nov 2008 09:21:34 -0500
parents 222cbc1da232
children f542bc3133dc
line wrap: on
line diff
--- a/lib/basis.urs	Tue Nov 04 09:33:35 2008 -0500
+++ b/lib/basis.urs	Thu Nov 06 09:21:34 2008 -0500
@@ -69,6 +69,22 @@
 val read_time : read time
 
 
+(** * Transactions *)
+
+con transaction :: Type -> Type
+
+val return : t ::: Type
+             -> t -> transaction t
+val bind : t1 ::: Type -> t2 ::: Type
+           -> transaction t1 -> (t1 -> transaction t2)
+           -> transaction t2
+
+
+(** HTTP operations *)
+
+val requestHeader : string -> transaction (option string)
+
+
 (** SQL *)
 
 con sql_table :: {Type} -> Type
@@ -233,13 +249,6 @@
 
 (*** Executing queries *)
 
-con transaction :: Type -> Type
-val return : t ::: Type
-             -> t -> transaction t
-val bind : t1 ::: Type -> t2 ::: Type
-           -> transaction t1 -> (t1 -> transaction t2)
-           -> transaction t2
-
 val query : tables ::: {{Type}} -> exps ::: {Type}
             -> fn [tables ~ exps] =>
                   state ::: Type