From: jim Date: Sat, 4 Apr 2015 21:14:57 +0000 (-0400) Subject: add comments X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=83c61fe11c5d2561ed69d97d867a506699c8fae7 add comments --- diff --git a/topics/week9_using_the_juli8_library.mdwn b/topics/week9_using_the_juli8_library.mdwn index bdceb622..bf1abc74 100644 --- a/topics/week9_using_the_juli8_library.mdwn +++ b/topics/week9_using_the_juli8_library.mdwn @@ -1,5 +1,18 @@ [[!toc]] + + + ## Using the Juli8 Libraries ## In addition to the fine programming language Kapulet, which doesn't yet exist in a form you can actually execute --- though the full-featured interpreter we provided last week is a good start --- I decided it would be useful to have a collection of basic libraries for our teaching (and other) purposes, that brought OCaml, Haskell, and the Scheme implementations we recommend, more onto even footing. Of course there are fundamental differences between these languages, such as the lack of types in Scheme (though both Racket and Chicken have some facility for working with types in extensions), or the default lazy evaluation strategy in Haskell. But there are also many simply accidental differences between the languages too, in that this one provides a library function doing so-and-so, but the other one doesn't, or calls it by a different name. The Juli8 collection of libraries is aimed to reduce these differences, to make it easier to move back and forth between the languages, and also to just make some of the languages generally easier to use (from my perspective). Juli8 will eventually have components that you can install into each of Haskell, OCaml, Racket, and Chicken. For the moment, OCaml is the most developed of these, and Haskell a bit, with the Scheme components deferred for another time.