add link to old page
[lambda.git] / rosetta2.mdwn
index 2161345..d4b6a02 100644 (file)
@@ -1,47 +1,20 @@
 ## More detailed differences between Scheme, OCaml, and Haskell ##
 
 ## More detailed differences between Scheme, OCaml, and Haskell ##
 
-*Will add this later.*
+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)
 
 
-## Offsite Readings comparing Scheme, OCaml, and Haskell ##
+    (* 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
 
 
-*   [Haskell for OCaml Programmers](http://science.raphael.poss.name/haskell-for-ocaml-programmers.pdf)
-*   [Introduction to OCaml for Haskellers](http://foswiki.cs.uu.nl/foswiki/pub/Stc/BeyondFunctionalProgrammingInHaskell:AnIntroductionToOCaml/ocaml.pdf), [another](http://blog.ezyang.com/2010/10/ocaml-for-haskellers/)
-*   Haskell Wiki on [OCaml](https://wiki.haskell.org/OCaml)
-*   [ML Dialects and Haskell](http://hyperpolyglot.org/ml)
-*   [Differences between Haskell and SML?](http://www.quora.com/What-are-the-key-differences-between-Haskell-and-Standard-ML?browse)
-*   [Comparing SML to OCaml](http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html)
 
 
+*Will explain later, and add more material.*
 
 
-
-## Why did you name this page "Rosetta"? ##
-
-The [Rosetta Stone](https://en.wikipedia.org/wiki/Rosetta_Stone) is a famous slab discovered during Napoleon's invasion of Egypt, that had the same decree written in ancient Greek (which modern scholars understood) and two ancient Egyptian scripts (which they didn't). The slab enabled us to recover understanding of those Egyptian scripts; and has since come to be a symbol for the simultaneous expression of a single idea in multiple languages. A number of websites do this for various programming languages:
-
-<table><th>
-<td>Scheme
-<td>OCaml
-<td>Haskell
-<tr>
-<td rowspan=10>&nbsp;
-<td><a href="http://rosettacode.org/wiki/Category:Scheme">Rosetta Code</a>
-<td><a href="http://rosettacode.org/wiki/Category:OCaml">Rosetta Code</a>
-<td><a href="http://rosettacode.org/wiki/Category:Haskell">Rosetta Code</a>
-<tr>
-<td><a href="http://pleac.sourceforge.net/pleac_guile/index.html">PLEAC</a>
-<td><a href="http://pleac.sourceforge.net/pleac_ocaml/index.html">PLEAC</a>
-<td><a href="http://pleac.sourceforge.net/pleac_haskell/index.html">PLEAC</a>
-<tr>
-<td>n/a
-<td colspan=2 align=center><hr><a href="http://langref.org/ocaml+haskell/solved">langref.org</a>
-<tr>
-<td><a href="http://www.codecodex.com/wiki/Category:Scheme">code codex</a>
-<td><a href="http://www.codecodex.com/wiki/Category:Objective_Caml">code codex</a>
-<td><a href="http://www.codecodex.com/wiki/Category:Haskell">code codex</a>
-<tr>
-<td><a href="http://community.schemewiki.org/?ninety-nine-scheme-problems">99 problems</a>
-<td><a href="http://ocaml.org/learn/tutorials/99problems.html">99 problems</a>
-<td><a href="https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems">99 problems</a>
-</table>
-
-See also the [Project Euler](https://projecteuler.net/) programming challenges.
+Until we do, have a look at our [page on translating between OCaml Scheme and Haskell](http://lambda1.jimpryor.net/translating_between_OCaml_Scheme_and_Haskell) from the first time we offered this seminar.