mirror of
https://github.com/sdiehl/wiwinwlh.git
synced 2024-08-17 07:50:22 +03:00
Remove eff, unstable
This commit is contained in:
parent
21d9bde18a
commit
f2cc400c92
@ -8,6 +8,10 @@
|
||||
<li><strong><a href="http://dev.stephendiehl.com/hask/tutorial.mobi">Kindle Version</a></strong></li>
|
||||
</ul>
|
||||
<p>Pull requests are always accepted for changes and additional content. This is a living document. The only way this document will stay up to date is through the kindness of readers like you and community patches and <a href="https://github.com/sdiehl/wiwinwlh">pull requests</a> on Github.</p>
|
||||
<p>If you’d like a physical copy of the text you can either print it for yourself (see Printable PDF) or purchase one online:</p>
|
||||
<ul class="incremental">
|
||||
<li><a href="https://www.blurb.co.uk/b/9958091-what-i-wish-i-knew-when-learning-haskell"><strong>Blurb Publisher</strong></a></li>
|
||||
</ul>
|
||||
<h2 id="author">Author</h2>
|
||||
<p>This text is authored by Stephen Diehl.</p>
|
||||
<ul class="incremental">
|
||||
@ -18,6 +22,6 @@
|
||||
<p>Special thanks for Erik Aker for copyediting assitance.</p>
|
||||
<h2 id="license">License</h2>
|
||||
<p>Copyright © 2009-2020 Stephen Diehl</p>
|
||||
<p>This code included in the text is dedicated to the public domain. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.</p>
|
||||
<p>This code included in the text is dedicated to the public domain. You can copy, modify, distribute and perform the code, even for commercial purposes, all without asking permission.</p>
|
||||
<p>You may distribute this text in its full form freely, but may not reauthor or sublicense this work. Any reproductions of major portions of the text must include attribution.</p>
|
||||
<p>The software is provided “as is”, without warranty of any kind, express or implied, including But not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, Arising from, out of or in connection with the software or the use or other dealings in the software.</p>
|
||||
|
@ -14,6 +14,11 @@ living document. The only way this document will stay up to date is through the
|
||||
kindness of readers like you and community patches and [pull
|
||||
requests](https://github.com/sdiehl/wiwinwlh) on Github.
|
||||
|
||||
If you'd like a physical copy of the text you can either print it for yourself
|
||||
(see Printable PDF) or purchase one online:
|
||||
|
||||
* [**Blurb Publisher**](https://www.blurb.co.uk/b/9958091-what-i-wish-i-knew-when-learning-haskell)
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
|
25
tutorial.md
25
tutorial.md
@ -4849,11 +4849,10 @@ and can get by. However in recent years there have many other libraries that
|
||||
have explored the design space of alternative effect modeling systems. These
|
||||
systems are still quite early compared to the `mtl` but some are able to avoid
|
||||
some of the shortcomings of `mtl` in favour of newer algebraic models of
|
||||
effects. The three most commonly used libraries are:
|
||||
effects. The two most commonly used libraries are:
|
||||
|
||||
* `fused-effects`
|
||||
* `polysemy`
|
||||
* `eff`
|
||||
|
||||
Polysemy
|
||||
--------
|
||||
@ -6296,9 +6295,9 @@ model.
|
||||
|
||||
Model Strictness Description
|
||||
------------- ------------- ---------------
|
||||
Call-by-value Strict arguments evaluated before function entered
|
||||
Call-by-name Non-strict arguments passed unevaluated
|
||||
Call-by-need Non-strict arguments passed unevaluated but an expression is only evaluated once
|
||||
Call-by-value Strict Arguments evaluated before function entered
|
||||
Call-by-name Non-strict Arguments passed unevaluated
|
||||
Call-by-need Non-strict Arguments passed unevaluated but an expression is only evaluated once
|
||||
|
||||
Seq and WHNF
|
||||
------------
|
||||
@ -7634,8 +7633,6 @@ resulting collected arguments must either converted into a single type or unpack
|
||||
~~~~ {.haskell include="src/08-applicatives/variadic.hs"}
|
||||
~~~~
|
||||
|
||||
See: [Polyvariadic functions](http://okmij.org/ftp/Haskell/polyvariadic.html)
|
||||
|
||||
<hr/>
|
||||
|
||||
Error Handling
|
||||
@ -7860,10 +7857,6 @@ The ``spoon`` function evaluates its argument to head normal form, while
|
||||
~~~~ {.haskell include="src/09-errors/spoon.hs"}
|
||||
~~~~
|
||||
|
||||
See:
|
||||
|
||||
* [Spoon](https://hackage.haskell.org/package/spoon)
|
||||
|
||||
<hr/>
|
||||
|
||||
|
||||
@ -8140,11 +8133,6 @@ following:
|
||||
~~~~ {.haskell include="src/10-advanced-monads/free_impl.hs"}
|
||||
~~~~
|
||||
|
||||
See:
|
||||
|
||||
* [Monads for Free!](http://www.andres-loeh.de/Free.pdf)
|
||||
* [I/O is not a Monad](http://r6.ca/blog/20110520T220201Z.html)
|
||||
|
||||
Indexed Monads
|
||||
--------------
|
||||
|
||||
@ -8834,7 +8822,6 @@ See:
|
||||
* [PHOAS](http://adam.chlipala.net/papers/PhoasICFP08/PhoasICFP08Talk.pdf)
|
||||
* [Encoding Higher-Order Abstract Syntax with Parametric Polymorphism](http://www.seas.upenn.edu/~sweirich/papers/itabox/icfp-published-version.pdf)
|
||||
|
||||
|
||||
Final Interpreters
|
||||
------------------
|
||||
|
||||
@ -9552,11 +9539,9 @@ coerce :: Coercible * a b => a -> b
|
||||
class (~R#) k k a b => Coercible k a b
|
||||
```
|
||||
|
||||
[Safe Zero-cost Coercions for Haskell](http://cs.brynmawr.edu/~rae/papers/2014/coercible/coercible.pdf)
|
||||
[Data.Coerce](https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Coerce.html#t:Coercible)
|
||||
|
||||
See:
|
||||
|
||||
* [Data.Coerce](https://hackage.haskell.org/package/base-4.9.0.0/docs/Data-Coerce.html#t:Coercible)
|
||||
* [Roles](https://ghc.haskell.org/trac/ghc/wiki/Roles)
|
||||
* [Roles: A New Feature of GHC](http://typesandkinds.wordpress.com/2013/08/15/roles-a-new-feature-of-ghc/)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user