October 21, 2008
"Andrei Alexandrescu" wrote
> Yigal Chripun wrote:
>> Walter Bright Wrote:
>>
>>> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.036.zip
>>>
>>> The 2.0 version splits phobos into druntime and phobos libraries (thanks to Sean Kelly). This will enable both Tango and Phobos to share a common core library.
>>>
>>> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.020.zip
>>>
>>> There are a lot of structural changes that go along with this, so expect some rough patches with this release. It may take a followup release to file them down. There's also some renaming of imports and function names, as a compromise with Tango names.
>>
>> Great news! thank you Sean And Walter for this important first step. I hope the rest of the tango/phobos issue will be sorted out as well..
>
> I was hoping there is no more issue. The common runtime levels the ground for library interoperability.

one big issue:  druntime only supported with phobos using D2. but Tango only supports D1 ;)

But some of us are working to get Tango to compile on D2 (it does currently, but Tango is not fully constified yet).

I think I'll wait until some of the dust settles before trying to build Tango with D2 druntime.

Thanks for the efforts!

-Steve


October 21, 2008
"Bill Baxter" <wbaxter@gmail.com> wrote in message news:mailman.186.1224567134.3087.digitalmars-d-announce@puremagic.com...
> On Tue, Oct 21, 2008 at 8:29 AM, Walter Bright <newshound1@digitalmars.com> wrote:
>>
>> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.036.zip
>>
>> The 2.0 version splits phobos into druntime and phobos libraries (thanks
>> to
>> Sean Kelly). This will enable both Tango and Phobos to share a common
>> core
>> library.
>>
>> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.020.zip
>>
>> There are a lot of structural changes that go along with this, so expect
>> some rough patches with this release. It may take a followup release to
>> file
>> them down. There's also some renaming of imports and function names, as a
>> compromise with Tango names.
>
> Wao!  Missed this at first:
>
> class Foo
> {
>    ref int getref() {
>        return m_int;
>    }
> private:
>    int m_int = 23;
> }
>
> void main() {
>    auto foo = new Foo;
>
>    writefln(foo.getref);
>    foo.getref() = 7;
>    writefln(foo.getref);
> }
> //Outputs:
> //23
> //7
>
> It works!  This is maybe even bigger news than cure for TangoPhobia!
>
> But I think maybe more documentation is needed in the Ref returns section regarding how this affects opIndex.
>
> class Foo
> {
>    this() {
>        m_arr.length = 10;
>        foreach(i, ref a; m_arr) { a=i;}
>    }
>    int[] array() {
>        return m_arr;
>    }
>    ref int opIndex(size_t idx) {
>        return m_arr[idx];
>    }
>
> private:
>    int[] m_arr;
> }
>
> void main() {
>    auto foo = new Foo;
>    foo[3] = -99;
> //hello.d(44): Error: operator [] assignment overload with opIndex(i,
> value) illegal, use opIndexAssign(value, i)
> //hello.d(44): function hello.Foo.opIndex (uint idx) does not match
> parameter types (int,int)
> //hello.d(44): Error: expected 1 arguments, not 2
> }
>
> Apparently using opIndex with ref return is not allowed as a way to
> set an index.
> This works though:
>
>    *(&foo[3]) = -99;
>
> Is there a good reason why it shouldn't be possible to use opAssign as a replacement for opIndexAssign?

I think it should be a bug.  I believe Andrei fully intended to use it this way.

-Steve


October 21, 2008
Bill Baxter wrote:
> On Tue, Oct 21, 2008 at 8:29 AM, Walter Bright
> <newshound1@digitalmars.com> wrote:
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.036.zip
>>
>> The 2.0 version splits phobos into druntime and phobos libraries (thanks to
>> Sean Kelly). This will enable both Tango and Phobos to share a common core
>> library.
>>
>> http://www.digitalmars.com/d/2.0/changelog.html
>> http://ftp.digitalmars.com/dmd.2.020.zip
>>
>> There are a lot of structural changes that go along with this, so expect
>> some rough patches with this release. It may take a followup release to file
>> them down. There's also some renaming of imports and function names, as a
>> compromise with Tango names.
> 
> Hooray for progress on mending the Tango/Phobos schism!
> 
> One question about the D2 release notes.  This one doesn't look quite right:
>     OLD                         NEW
> import std.array; 	import core.exception;
> 
> --bb

But http://www.digitalmars.com/d/2.0/phobos/std_array.html got 404'ed, and std/array.d is really removed.
October 21, 2008
KennyTM~ wrote:
> Bill Baxter wrote:
>> On Tue, Oct 21, 2008 at 8:29 AM, Walter Bright
>> <newshound1@digitalmars.com> wrote:
>>> http://www.digitalmars.com/d/1.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.1.036.zip
>>>
>>> The 2.0 version splits phobos into druntime and phobos libraries (thanks to
>>> Sean Kelly). This will enable both Tango and Phobos to share a common core
>>> library.
>>>
>>> http://www.digitalmars.com/d/2.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.2.020.zip
>>>
>>> There are a lot of structural changes that go along with this, so expect
>>> some rough patches with this release. It may take a followup release to file
>>> them down. There's also some renaming of imports and function names, as a
>>> compromise with Tango names.
>>
>> Hooray for progress on mending the Tango/Phobos schism!
>>
>> One question about the D2 release notes.  This one doesn't look quite right:
>>     OLD                         NEW
>> import std.array;     import core.exception;
>>
>> --bb
> 
> But http://www.digitalmars.com/d/2.0/phobos/std_array.html got 404'ed, and std/array.d is really removed.

That's odd. I have a bunch of (uncommitted) stuff in my array.d. Of course, if there's any problem with the module name I can gladly change it.

Andrei
October 21, 2008
"KennyTM~" wrote
> Bill Baxter wrote:
>> On Tue, Oct 21, 2008 at 8:29 AM, Walter Bright <newshound1@digitalmars.com> wrote:
>>> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.036.zip
>>>
>>> The 2.0 version splits phobos into druntime and phobos libraries (thanks
>>> to
>>> Sean Kelly). This will enable both Tango and Phobos to share a common
>>> core
>>> library.
>>>
>>> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.020.zip
>>>
>>> There are a lot of structural changes that go along with this, so expect
>>> some rough patches with this release. It may take a followup release to
>>> file
>>> them down. There's also some renaming of imports and function names, as
>>> a
>>> compromise with Tango names.
>>
>> Hooray for progress on mending the Tango/Phobos schism!
>>
>> One question about the D2 release notes.  This one doesn't look quite
>> right:
>>     OLD                         NEW
>> import std.array; import core.exception;
>>
>> --bb
>
> But http://www.digitalmars.com/d/2.0/phobos/std_array.html got 404'ed, and std/array.d is really removed.

The comment for the commit is

"Removed std.array. To trap an array bounds error, import 'exception' from druntime and catch ArrayBoundsException."

It says nothing about the other functions that were in std.array.  Are those replaced by functions elsewhere?

It might have been an oversight by Sean.

-Steve


October 21, 2008
On Mon, 20 Oct 2008 16:29:36 -0700, Walter Bright <newshound1@digitalmars.com> wrote:

>
>http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.036.zip
>
>The 2.0 version splits phobos into druntime and phobos libraries (thanks to Sean Kelly). This will enable both Tango and Phobos to share a common core library.
>
>http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.020.zip
>
>There are a lot of structural changes that go along with this, so expect some rough patches with this release. It may take a followup release to file them down. There's also some renaming of imports and function names, as a compromise with Tango names.

Thank you!
October 21, 2008
On Tue, 21 Oct 2008 18:40:04 +0300, Max Samukha wrote:

> On Mon, 20 Oct 2008 16:29:36 -0700, Walter Bright <newshound1@digitalmars.com> wrote:
> 
> 
>>http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.036.zip
>>
>>The 2.0 version splits phobos into druntime and phobos libraries (thanks to Sean Kelly). This will enable both Tango and Phobos to share a common core library.
>>
>>http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.020.zip
>>
>>There are a lot of structural changes that go along with this, so expect some rough patches with this release. It may take a followup release to file them down. There's also some renaming of imports and function names, as a compromise with Tango names.
> 
> Thank you!

Nice! Thank you.
October 21, 2008
Don wrote:
> 
> We also now have two modules called 'bitmanip', which is somewhat ironic since we brainstormed for ages trying to come up with a better name for it. Modules with duplicate names have caused linking problems in the past -- not sure if that applies here.

It applies if the modules from both Phobos and druntime end up in the same library on *nix.  Windows doesn't appear to have the same issue. But I'd love to hear suggestions for alternative names-- I'm not terribly good at naming modules :-p.

Also, any I'd like to see how people feel about having three top-level packages in druntime vs. one-- an alternative I'd considered was to put everything under core.


Sean
October 21, 2008
Mon, 20 Oct 2008 19:56:01 -0700,
Walter Bright wrote:
> Walter Bright wrote:
> > I see the problem. The phobos.lib was built correctly, but I'd forgotten to remove the old object.d. If you simply delete /dmd/src/phobos/object.d, it should work.
> 
> I removed them from the zip file.

Still a problem in dmd.conf:

  -I%@P%/../src/runtime/import

should be

  -I%@P%/../src/druntime/import

note the 'd' in 'druntime'
October 21, 2008
Tue, 21 Oct 2008 09:40:28 -0700,
Sean Kelly wrote:
> Don wrote:
> > 
> > We also now have two modules called 'bitmanip', which is somewhat ironic since we brainstormed for ages trying to come up with a better name for it. Modules with duplicate names have caused linking problems in the past -- not sure if that applies here.
> 
> It applies if the modules from both Phobos and druntime end up in the same library on *nix.  Windows doesn't appear to have the same issue. But I'd love to hear suggestions for alternative names-- I'm not terribly good at naming modules :-p.
> 
> Also, any I'd like to see how people feel about having three top-level packages in druntime vs. one-- an alternative I'd considered was to put everything under core.

I actually was expecting all the runtime stuff to be in core.* and was surprised to find std and sys there.