While this doesn't impact the code I'm working on directly, I think it is a
good idea for two reasons:

   1. It will make the AST cleaner
   2. This transformation doesn't really have anything to do with function
   resolution and so it should be done somewhere else

Right now there is a lot going on in function resolution; moving this to
somewhere else in the compiler would make the code easier to understand.

- Chris


On Wed, Jan 15, 2014 at 11:52 AM, Brad Chamberlain <[email protected]> wrote:

>
> > The thing I would like to add here is that I found it very confusing
> > (but am used to it now) that Class within the compiler means
> >  - reference
> >  - record
> >  - class
> >  - tuple
> >
> > I don't philosophically disagree with 'things with fields' being
> > grouped into one AST element, but that AST element should be
> > called "Aggregate" or "Container" or something, not Class...
>
> Not so long ago, there was agreement to make this change on the mailing
> list, but then nobody ever did it.  I'll add it to our task list (unless
> you want to take it on).  I don't remember what term we converged on the
> last time this was discussed, but it may not be hard to find in the
> archives (or perhaps someone else remembers).
>
>
> > And along the same lines, I don't think that reference belongs
> > in the "Aggregate" group, since it only ever holds one element.
>
> I think this is an offshoot of how the compiler implements references --
> by using a class with a single value to represent the "pointer-to-value"
> concept.  I believe the goal was to unify cases in the compiler related to
> pointer-/alias-analysis.  I'm not opposed to moving away from this, but
> suspect it would be a pretty big undertaking.  Maybe it would fall out
> fairly directly if we're successful in making the change proposed here...
> not sure.
>
> -Brad
>
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> Chapel-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chapel-developers
>
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to