[m-dev.] Bug #309

Julien Fischer jfischer at opturion.com
Wed Jan 22 14:20:19 AEDT 2014


On Wed, Jan 22, 2014 at 2:18 PM, Paul Bone <paul at bone.id.au> wrote:

> On Wed, Jan 22, 2014 at 02:01:30PM +1100, Mark Brown wrote:
> > Hi Paul,
> >
> > >
> > > As mentioned above store(S) (like io) is special and supposed to never
> > > actually appear in generated code,
> >
> > It's never *required* to appear, but it still does. If you pass IO to
> > list.foldl, for example, the implementation will copy around a piece
> > of garbage for you.
>
> Okay, this is the most compelling reason as to why it's okay to represent
> variables of these types in programs, because it's easier with higher order
> code.


s/higher order/polymorphic/ and it's essential for it to be ok, otherwise
you couldn't use instantiate polymorphic arguments with dummy types.

Another place that dummy types "appear" is in foreign_procs.

Cheers,
Julien.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/developers/attachments/20140122/2bf50734/attachment.html>


More information about the developers mailing list