Re: I love GIO.

John Hughes <[email protected]>
Newsgroups gmane.comp.lang.haskell.gui
Message-ID <[email protected]>
On Wed, 12 Feb 2003, Daan Leijen wrote:

>
>   Warning about the use of (:=): This symbol has been proposed by John
> Hughes for use in some future version of Haskell to distinguish
> monomorphic and polymorphic `let` constructs.  (See, for example,
> http://www.math.chalmers.se/~rjmh/Globals.ps , section 6.)  You might
> prefer to choose a different symbol, such as (:==) or (::=).
>
> Thanks for mentioning this. However, (:=) is a rather attractive
> constructor to use and I wonder if a monomorphic binding is used enoug
> to justify taking another operator away.
>
> It might be better after all to have a family of "let" bindings in a
> future haskell:
let -- lazy binding
let!  -- strict binding
let$ -- > speculative binding (ie. try operationally strictly but maintain lazy
> semantics)
let# -- monomorphic binding ?...
>
> -- Daan.
>

The trouble with this idea is that let is associated with a BINDING GROUP,
not with an individual binding -- and indeed, some binding groups (e.g.
the top level!) have no associated let. You really want to be able to
mark, say, one top-level binding as monomorphic. So the right place to
attach this information is to the syntax of the binding itself -- that is,
the equals sign.

John
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.