merge
This commit is contained in:
parent
02c92e795f
commit
a056164bd7
3 changed files with 9 additions and 8 deletions
|
@ -66,9 +66,8 @@ Here we see the completed implementation of the `list` monad in the module `List
|
|||
|
||||
[^capture-define]: TODO: be explicit about how monads exist independently and we are _capturing_ them in the particular language of ocaml. `list` forms a monad whether we actually implement that monad, or not
|
||||
|
||||
A "functor" in OCaml parlance is distinct from anything called a "functor" elsewhere, being essentially a function from modules to modules. For practical reasons, modules and value-level programs are stratified from one another in OCaml, so a functor does not literally have a function type, but the mental model is still basically correct. We will encounter some functors of both sorts later on.
|
||||
(aside: this stratification is not theoretically needed, re 1ml)
|
||||
|
||||
[^action-std]: This gives rise to a standard term. See [Monads as Computations](https://wiki.haskell.org/Monads_as_computation).
|
||||
|
||||
So the list monad allows us to write non-determinsitic code in much the same style as we would write fundamentally simpler determinstic code
|
||||
So the list monad allows us to write non-determinsitic code in much the same style as we would write fundamentally simpler determinstic code
|
||||
|
||||
(aside: this stratification is not theoretically needed, re 1ml)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue