[D.typesystem] Static (CT) enforce anybody?
Don
nospam at nospam.com
Thu Sep 2 12:09:39 PDT 2010
Denis Koroskin wrote:
> On Thu, 02 Sep 2010 18:55:14 +0400, Don <nospam at nospam.com> wrote:
>
>> Steven Schveighoffer wrote:
>>> On Wed, 01 Sep 2010 17:11:50 -0400, Jonathan M Davis
>>> <jmdavisprog at gmail.com> wrote:
>>>
>>>> On Wednesday, September 01, 2010 13:54:15 Philippe Sigaud wrote:
>>>>> On Wed, Sep 1, 2010 at 22:37, bearophile <bearophileHUGS at lycos.com>
>>>>> wrote:
>>>>> > Philippe Sigaud:
>>>>> > > Yes, Steve is right. Also, you cannot throw exceptions at CT.
>>>>> >
>>>>> > This is a temporary limitation :-)
>>>>>
>>>>> Really? That means being able to create reference types at CT,
>>>>> that'd be
>>>>> interesting, to say the least. And what code would catch them?
>>>>> Aren't they
>>>>> caught by the runtime?
>>>>
>>>> Well, according to TDPL, the ultimate goal is to be able to use
>>>> _all_ of SafeD
>>>> with CTFE. So, exceptions would be on the list. However, I wouldn't
>>>> expect CTFE
>>>> to get that powerful anytime soon.
>>> I think step 1 is to rewrite the compiler in D. Right now, CTFE is
>>> interpreting things from a C++-based program. I think without a
>>> garbage collector too.
>>> -Steve
>>
>> Writing the compiler in D would be great, but it's a long way off.
>> This will happen a lot sooner than that.
>> Exceptions, like almost all other CTFE features, are blocked by bug
>> 1330. Fixing this will require a new CTFE memory allocation system.
>> It's not terribly complicated, but won't happen until the high
>> priority bugs are taken care of.
>> Other than memory management, most of the CTFE machinery for classes
>> and exceptions is already in place. Note, for example, that reference
>> parameters and struct member functions work correctly.
>
> DDMD advances pretty fast, it can already compile druntime, phobos and
> some of the applications.
Cool! Have you tried the DMD test suite?
> We also started updating it to newer versions,
> so it's catching up (ddmd is at 2.036 atm). GC is disabled atm due to
> memory corruptions inherited from DMD, though. I believe once we resolve
> those and enable GC we could backport the changes to DMD so that it
> could use Boehm's GC. Win-win?
Yes, although the absence of GC is not the problem with the CTFE
implementation.
More information about the Digitalmars-d
mailing list