[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