X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=rosetta1.mdwn;h=a84719588b4242e5cbbbc1d6730daad686e42e8b;hp=70866b1252e7b1e1865356f1c6d6025fcde7496f;hb=a0eb18e702862266fdc8a7d935d6cc33821fdf4a;hpb=31cebc8050836005ee17dd1d20ae81b2ab9afa3c diff --git a/rosetta1.mdwn b/rosetta1.mdwn index 70866b12..a8471958 100644 --- a/rosetta1.mdwn +++ b/rosetta1.mdwn @@ -1,5 +1,7 @@ [[!toc levels=2]] +More details are also available on these [[two|/rosetta2]] [[pages|/rosetta3]]. (But some information is only discussed below; the others aren't supersets of this page.) + ## Can you summarize the differences between your made-up language and Scheme, OCaml, and Haskell? ## The made-up language we wet our toes in in week 1 is called Kapulet. (I'll tell you [the story behind its name](/images/randj.jpg) sometime.) The purpose of starting with this language is that it represents something of a center of gravity between Scheme, OCaml, and Haskell, and also lacks many of their idiosyncratic warts. One downside is that it's not yet implemented in a form that you can run on your computers. So for now, if you want to try out your code on a real mechanical evaluator, you'll need to use one of the other languages. @@ -517,6 +519,7 @@ Note there is no closing `end` or `}`. You can enclose the whole expression in p | 1 -> result1 | x -> resultx + The syntax for [[guards|topics/week1_kapulet_advanced#guards]] and [[as-patterns|topics/week1_kapulet_advanced#as-patterns]] also only varies slightly between these languages: # Kapulet