[GHC] #15189: Avoid word "transformer" in the documentation of ST
GHC
ghc-devs at haskell.org
Sun May 27 21:02:25 UTC 2018
#15189: Avoid word "transformer" in the documentation of ST
-------------------------------------+-------------------------------------
Reporter: ulysses4ever | Owner: (none)
Type: feature | Status: new
request |
Priority: normal | Milestone: 8.6.1
Component: Documentation | Version: 8.2.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I'm unhappy about the current wording in the documentation of the ST
module in base. Let me explain why.
Some time ago, as a novice, I struggled to get the difference between
three monad-related concepts:
1. The State monad.
2. The StateT monad transformer.
3. The ST monad.
Current [http://hackage.haskell.org/package/base-4.11.1.0/docs/Control-
Monad-ST.html documentation for ST] says that "ST" stands for state
transformer (see everywhere except for the introduction paragraph). While
this follows original 1994 paper "Lazy Functional State Threads", I find
this confusing after the adoption of term "(monad) transformer" due to
1995 paper "Functional Programming with Overloading and Higher-Order
Polymorphism". Note that ST paper predates MT one.
At the same time, the 1994 paper itself (in the title) and some current
tutorials, [https://wiki.haskell.org/Monad/ST like the one at HaskelWiki],
use the word "thread" to describe what's going on, avoiding discussion of
spelling of ST.
As the bottom line, I think, it would be helpful, especially for a novice,
to avoid the word "transformer" in the documentation of ST module.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15189>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list