change x,y to n,m
[lambda.git] / rosetta2.mdwn
index c37f222..ab2de7d 100644 (file)
@@ -1,5 +1,19 @@
 ## More detailed differences between Scheme, OCaml, and Haskell ##
 
-*Will add this later, as we learn more concepts.*
+Here is comparison of the syntax for declaring types in Haskell and OCaml:
 
+    -- Haskell
+    data Pretty a b = Lovely a | Cute b ClothingModule.ButtonType
+    newtype Pretty a b = Pretty a b Int
+    newtype Pretty a b = Pretty { unPretty a }
+    type Pretty a b = (a, b)
+
+    (* OCaml *)
+    type ('a,'b) pretty = Lovely of 'a | Cute of 'b * ClothingModule.ButtonType
+    type ('a,'b) pretty = Pretty of 'a * 'b * int
+    type ('a,'b) pretty = Pretty of 'a
+    type ('a,'b) pretty = 'a * 'b
+
+
+*Will explain later, and add more material.*