DIP1000

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Tue Aug 30 09:12:19 PDT 2016


I'd like to initiate collaboration on an effort to do DIP1000 rigorously.

First we need to reduce D to a bare subset that only has integers, 
structs, pointers, and functions. That's a working subset of actual D 
code. The grammar I have in mind is at http://erdani.com/d/DIP1000.html.

There is no type deduction, member functions, classes, arrays, 
constructors, loops, etc. etc. etc. Only the ability to create 
arbitrarily complex graphs containing integers and pointers to other nodes.

On this language we need to define typing rules and evaluation 
semantics. Once we have those, we need to prove what we want: for scope 
variables the accessibility never outlives lifetime. As a consequence 
we're good to deallocate them early etc.

The model for typing, evaluation, and proofs is at 
https://www.cis.upenn.edu/~bcpierce/papers/fj-toplas.pdf. It would be 
great if those interested in helping could give the paper a close read.

Once we get this done we'll have a fantastic model for any other 
language changes.


Andrei


More information about the Digitalmars-d mailing list