more minor style fixes
This commit is contained in:
parent
dea942d02e
commit
ef028bb4de
6 changed files with 69 additions and 29 deletions
|
@ -1,12 +1,12 @@
|
|||
# Living Free with Monads
|
||||
|
||||
It's an old tradition that any programmer who thinks they know something useful about monads eventually goes off and writes a blog post about it.
|
||||
It's an old tradition that any programmer who thinks they know something useful about monads eventually goes off and writes a blog post about their revelation.
|
||||
|
||||
_Anyway_ ...
|
||||
|
||||
Lets take a look at a `Monad` definition (yeah, I know) in OCaml and walk through the clues that suggest a monad's implementation. Modular explicits make OCaml feel _good_.
|
||||
Lets take a look at a `Monad` definition (yeah, I know) in OCaml and walk through the clues that suggest a monad's implementation. Modules make OCaml a great language to explore abstract structures.
|
||||
|
||||
An OCaml module can be thought of as a record containing types and terms that constitutes an abstraction boundary via information hiding. OCaml's type/module system allows a programmer to selectively expose information about a module to the outside world and, dually, to selectively depend on particular module structure. Modules are the primary mechanism by which OCaml code is structured and provide programmers the machinery of composition and code reuse.
|
||||
An OCaml module can be thought of as a record containing types and terms that constitutes an abstraction boundary through information hiding. OCaml's type/module system allows a programmer to selectively expose information about a module to the outside world and, dually, to selectively depend on particular module structure. Modules are the primary mechanism by which OCaml code is structured and provide programmers the machinery of composition and code reuse.
|
||||
|
||||
```ocaml
|
||||
module type Monad = sig
|
||||
|
@ -31,7 +31,6 @@ end
|
|||
|
||||
`list` forms a monad when equipped with suitable definitions of `return` and `bind`, though I've omitted those definitions for now to focus on the first item. The meaning of `list` as a monad--- that is, the context that `list` and its natural accompanying definitions of `bind` and `return` represent--- is interesting, broadly useful, and sufficiently non-obvious as to demand some intuition. I'll use it as a running example.
|
||||
|
||||
Examine the
|
||||
|
||||
***
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
# Reading Order of The Culture
|
||||
|
||||
I've generated a dependency graph for the Culture series reading order. The idea is that if there's an arrow from book A to book B, then to get the most possible enjoyment from either A or B, A should be read before B.
|
||||
I've generated a reading order dependency graph for books in Iain M. Banks' monumental _Culture_ series. The idea is that if there's an arrow from book A to book B, then to get the most possible enjoyment from either A or B, A should be read before B.
|
||||
|
||||
 Above is the graph, and [right here](/culture.dot.txt) is the vizgraph description file that lists my rationale for each dependency.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue