capitalization and type declaration syntax
authorjim <jim@web>
Mon, 6 Apr 2015 09:22:37 +0000 (05:22 -0400)
committerLinux User <ikiwiki@localhost.members.linode.com>
Mon, 6 Apr 2015 09:22:37 +0000 (05:22 -0400)
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.*