terminology

Richard Uhtenwoldt ru@river.org
Sun, 15 Sep 2002 21:07:30 -0700 (PDT)


consider an ordinary state monad that we've seen 1000 times:

newtype StateTrans s a = ST( s -> (s, a) )
instance Monad (StateTrans s)
  where
    (ST p) >>= k  =  ST( \s0 -> let (s1, a) = p s0
                                    (ST q) = k a
                                in q s1 )
    return a      = ST( \s -> (s, a) )

now Haskell is an applicative language in which every expression
has a value.  the value of the expression

   return 3

is unprintable.  it is a newtype whose representation is a function.

I need a term for the 3.  that is, I need a name for the variable
a above.

unless someone suggests a better name or knows of a name already in the
literature, I'm going to call 3 the "oblique value" of the expression

  return 3.