[m-dev.] Bug #309

Paul Bone paul at bone.id.au
Wed Jan 22 14:29:06 AEDT 2014


On Wed, Jan 22, 2014 at 02:20:19PM +1100, Julien Fischer wrote:
> 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.

Yes, I was thinking of polymorphism when I wrote that.

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

Yep.


-- 
Paul Bone
http://www.bone.id.au



More information about the developers mailing list