May 09, 2007
I'm currently working on implementing const/invariant. It's becoming clear that this is a pervasive change, and will cause binary incompatibility with existing code. I'm trying to minimize any source incompatibilities.

The first few iterations of const support probably will have lots of problems before it gets usable.

This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.
May 09, 2007
Walter Bright wrote:
> I'm currently working on implementing const/invariant. It's becoming clear that this is a pervasive change, and will cause binary incompatibility with existing code. I'm trying to minimize any source incompatibilities.
> 
> The first few iterations of const support probably will have lots of problems before it gets usable.
> 
> This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.


HALLELUJAH!!  <g>
May 09, 2007
Walter Bright wrote:
> I'm currently working on implementing const/invariant. It's becoming clear that this is a pervasive change, and will cause binary incompatibility with existing code. I'm trying to minimize any source incompatibilities.
> 
> The first few iterations of const support probably will have lots of problems before it gets usable.
> 
> This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.

I appreciate the fork. Have fun with 2.x :)

~ Clay
May 09, 2007
What is invariant?


Walter Bright Wrote:

> I'm currently working on implementing const/invariant. It's becoming clear that this is a pervasive change, and will cause binary incompatibility with existing code. I'm trying to minimize any source incompatibilities.
> 
> The first few iterations of const support probably will have lots of problems before it gets usable.
> 
> This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.

May 09, 2007
On Wed, 09 May 2007 11:56:14 -0700
Walter Bright <newshound1@digitalmars.com> wrote:

> I'm currently working on implementing const/invariant. It's becoming clear that this is a pervasive change, and will cause binary incompatibility with existing code. I'm trying to minimize any source incompatibilities.
> 
> The first few iterations of const support probably will have lots of problems before it gets usable.
> 
> This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.

Now THAT's great news!
May 09, 2007
bobef wrote:
> What is invariant?
> 
> 
> Walter Bright Wrote:
> 
>> I'm currently working on implementing const/invariant. It's becoming clear that this is a pervasive change, and will cause binary incompatibility with existing code. I'm trying to minimize any source incompatibilities.
>>
>> The first few iterations of const support probably will have lots of problems before it gets usable.
>>
>> This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.
> 

Sounds like a good chance to go ahead and make 'const' the default!
Did you and Andrei discuss that idea at all?  Or has it been abandoned for good?

--bb
May 09, 2007
bobef wrote:
> What is invariant?

http://www.digitalmars.com/d/archives/digitalmars/D/The_new_invariant._51159.html#N51164

Means "this symbol wont change what it refers to ever".  ... I think... or maybe that was const....

--bb
May 09, 2007
Thank you Walter.

This is a welcome change. I appreciate all the work you have done and thank you for a fantastic language.

Regards,

Myron.
d_programming...myron_alexander...
(Replace first ... with 'a t', second with .com and remove underscores)
May 09, 2007
Walter Bright wrote:
> 
> This means that dmd will have to fork into a 1.x maintenance version and a 2.x beta.

This is probably one of the best things for D I've heard in a long time!

While I know that this'll give you a lot of extra work maintaining two separate versions, there's no end to the possibilities and opportunities -- for both the corporate users and the community!

From now on it'll be feasible to actually use D in long-term professional development.
May 09, 2007
Bill Baxter wrote:
> bobef wrote:
>> What is invariant?
> 
> http://www.digitalmars.com/d/archives/digitalmars/D/The_new_invariant._51159.html#N51164 
> 
> 
> Means "this symbol wont change what it refers to ever".  ... I think... or maybe that was const....
> 
> --bb

Actually, that'll be 'final'.  The new 'invariant' will mean "this *data* absolute does not change", and the new 'const' will mean "this is an *immutable view* into data owned by other code, which *may* change".  (If I'm remembering/understanding right.)

-- Chris Nicholson-Sauls
« First   ‹ Prev
1 2 3 4 5
Top | Discussion index | About this forum | D home