-
Notifications
You must be signed in to change notification settings - Fork 0
/
functional-programming-in-ocaml-1-2.html
64 lines (53 loc) · 4 KB
/
functional-programming-in-ocaml-1-2.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta id="keywords" name="keywords" content="">
<link id="stylesheet" rel="stylesheet" type="text/css" href="https://oskipa.github.io/theme/css/code.css"></link>
<link id="stylesheet" rel="stylesheet" type="text/css" href="https://oskipa.github.io/theme/css/site.css"></link>
</head>
<body>
<header class="header">
<h1 class="site-name">
<a class="home-link" href="https://oskipa.github.io">Dada</a><br />
|> Structures<br />
|> Algorithms</h1>
<nav>
<menu class="minimal-menu">
<li><a href="https://oskipa.github.io/pages/today-i-learned.html">til</a></li>
<li><a href="https://oskipa.github.io/pages/now.html">now</a></li>
<li><a href="https://oskipa.github.io/short_index.html">index</a></li>
<!--
<li><a href="category/log.html">web log<a></li>
<li><a href="">about<a></li>
<li><a href="">site map<a></li>
-->
</menu>
</nav>
</header>
<div class="container">
<div class="row">
<div class="col-md-8">
<h2>Functional Programming in OCaml, 1-2</h2>
<h3>Study notes for chapters 1 and 2</h3>
<label>14 March, 2020</label>
<p><a href="https://www.cs.cornell.edu/courses/cs3110/2020sp/textbook/">Functional Programming in OCaml</a> is an online book compiled by Michael R. Clarkson. It is used by Cornell University for their functional programming course.</p>
<p>I enjoyed reading chapter one. They explain the goals and purpose of the class that the book supports. It also has a great section on the history of the book and the course. It tells how the class was originally based on <a href="http://sarabander.github.io/sicp/html/index.xhtml#SEC_Contents">Structure and Interpretation of Computer Programs</a>, (SICP). From the challenges of teaching SICP, they changed languages, from Scheme to OCaml, and they developed the textbook from their class notes. This is fascinating because it is a similar experience that lead to the development of <a href="https://racket-lang.org/">Racket</a> and the supporting book <a href="https://htdp.org/">How To Design Programs</a>. I will probably talk more about how SICP, a beloved textbook, lead to the creation of other books in a future entry.</p>
<p>Chapter 2 is an introduction to OCaml as a language. I have read a number of tutorials and several chapters on other OCaml books, and "Functional Programming in Ocaml" seems to be one of the clearest explanations on the basics of OCaml. If for some reason you didn't understand the topic well enough from this text, at the end of the chapter the authors tell you which chapters from others OCaml books you should read to get an alternate explanation of the same topics.</p>
<p>There is a caveat to the previous statement. It will be clear if you have a basic understanding on lambda calculus and you are familiar with how modern mathematics defines concepts. If you are not familiar with these, the text should be more challenging. </p>
<p>The exercises for chapter 2 were good. You get to face the difference between integer operators such as +, -, * , /, versus the floating point operators, like +., -., * . / .. </p>
</div>
</div>
</div>
<footer class="footer">
<!-- <p class="about"><a href="http://hugoestr.github.io/blog/manifesto.html">About</a> --> <a href="https://oskipa.github.io/pages/about.html" >I am</a> a software developer. I code in Python, Ruby, Lisp, and many other languages. I like poetry, museums, and ukuleles. I try to guide my life on principles of dadaism and nonviolence.</p>
<p>
<a href="feeds/all.atom.xml">atom</a>
<!-- <a href="http://github.com/oskipa/">github</a> -->
</p>
<p>Artisanally built with <a href="https://blog.getpelican.com/">Pelican</a>. Content handcrafted in <a href="https://www.vim.org/" >Vim</a>. All hallucinations are human. 100% AI Free.</p>
</footer>
</body>
</html>