learn D & TDPL

Brad Anderson eco at gnuk.net
Mon Jan 23 11:37:45 PST 2012


On Sat, Jan 21, 2012 at 1:42 AM, Jonathan M Davis <jmdavisProg at gmx.com>wrote:

> On Saturday, January 21, 2012 09:11:52 Gour wrote:
> > Hello!
> >
> > I'd like to re-start learning D (from scratch) using TDPL.
> >
> > However, several times I've encountered some message which says that
> > there are some problems in learning the language, like:
> >
> > a) the language is not complete according to the TDPL-spec and
> >
> > b) language implementation differs from TDP (some things has changed)
> >
> > Now, I believe that a) case can be solved by looking at and/or fixing
> > bugs tagged as 'tdpl', but I wonder if there is some document
> > documenting b) case and listing where/how D2 parted of the TDPL?
> >
> >
> > Any other hint you can share for learning D2?
>
> http://erdani.com/tdpl/errata/
>
> As for new or altered features... The list isn't very long, I don't
> believe.
>
> 1. weak vs strong purity
>
> 2. new lambda syntax (which hasn't even been released yet, I don't believe)
>
> 3. attribute inferrence for templates and delegates (or at least delegate
> literals - I'm not sure exactly when delegates get their attributes
> inferred)
>
> 4. IFTI now uses the tail-const type of arrays and pointers
>
> There might be some other minor things, but for the most part, the language
> hasn't really been changed from what's described in TDPL. The main problem
> is
> that the compiler hasn't caught up to TDPL yet. The biggest items in that
> regard that I can think of are
>
> 1. TDPL says that you can multiple aliases this-es per type, but right now,
> you can only have one.
>
> 2. Not all of shared's guarantees are implemented yet.
>
> 3. You can't overload templated functions with non-templated functions yet.
>
> 4. According to TDPL, you can override private, but right now only public
> and
> protected functions are virtual. I'm not sure that it's 100% clear whether
> the
> compiler will be changed to match or whether TDPL is going to have to be
> changed. You can look at
> http://d.puremagic.com/issues/show_bug.cgi?id=4542
> for details.
>
> 5. @safe (and therefore SafeD) isn't fully implemented. So, it doesn't
> necessarily work quite like it's supposed to yet.
>
> There are probably a few others, but that's what I can think of at the
> moment.
> One of the big ones that got fixed recently though was inout. That was
> broken
> for ages.
>
> - Jonathan M Davis
>


This is a very helpful post, Jonathan.  I think the documentation could do
with a "Changes and additions since TDPL" section with stuff like this so
users aren't surprised.  Users could easily mistake changes for bugs
without these being documented somewhere other than the newsgroup.

Regards,
Brad Anderson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20120123/12051fe0/attachment.html>


More information about the Digitalmars-d-learn mailing list