On 27 October 2011 21:37, Fawzi Mohamed <[email protected]> wrote:
> I came back from the Goggle Summer of Code mentor summit.
> It was nice to see many people from other open source communities, and meet 
> David face to face ;).
>
> We did try to leave some notes to remember what we said and for those who 
> could not attend, but this wasn't the strong point of this conference, but it 
> did improve (at least my note taking activity did)…
> Anyway if you are interested to have a glimpse on what was discussed you can 
> go to http://gsoc-wiki.osuosl.org/index.php/2011
>
> David and me obviously did try to show how nice D is, but we also saw the 
> cool stuff other are doing, and discussed both the practical and the more 
> philosophical aspects of open source.
>
> For example from the unexpected interesting stuff I can tell of a discussion 
> that I had with Tobias Burnus that works on fortran fronted I realized that 
> intent(in) in fortran is very close to immutable (actually even stronger, as 
> it guarantees that the pointer will not escape, so the compiler is even ok in 
> copying stuff on entry (this also for intent(inout), which had no real 
> corresponding thing in D).
>
> intent(inout) x even guarantees that x=5; f(); assert(x==5);. f can obviously 
> also have x as intent(in).
> Fortran does this to give the optimizer as much freedom as possible.
> D doesn't have all that, but with immutable and pure, it can use some of the 
> same optimizations.
> Indeed it is possible that gdc could use some of the fortran annotations 
> something that I promptly mailed Iain.
>
> Here the different philosophy is visible: D give safe primitives, and 
> behavior, and try to optimize; fortran choose fast options, define it as the 
> way things work, and make the programmer job to make sure he uses things 
> right, something that is simplified for the fact that fortran is typically 
> threaded only through OpenMP.
>
> ciao
> Fawzi

I've just gotten round to implementing this, and in the middle of
testing it out. :-)

I'll write a spec review of it in a short while if you are interested.


-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';

Reply via email to