www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D.NET PreAlpha release

reply deja <deja scratch-ware.net> writes:
There hasn't been much movement on the D.NET front lately as I'm getting 
settled back into college life.

Since I don't know how long it'll be before I have a proper beta up and 
running I've decided to release what I have so far with a very simple 
caveat:

"This software carries NO guarentees whatsoever, implied or explicit. 
Use at your own risk."

Check out http://dnet.scratch-ware.net/ for the download.

Enjoy!

-Deja
Sep 09 2004
next sibling parent reply "Ivan Senji" <ivan.senji public.srce.hr> writes:
What about msvcr80d.dll, i don't have it but dnet needs it.
It seems to be part of VS.NET 2005 beta?

"deja" <deja scratch-ware.net> wrote in message
news:chqpf1$hi6$1 digitaldaemon.com...
 There hasn't been much movement on the D.NET front lately as I'm getting
 settled back into college life.

 Since I don't know how long it'll be before I have a proper beta up and
 running I've decided to release what I have so far with a very simple
 caveat:

 "This software carries NO guarentees whatsoever, implied or explicit.
 Use at your own risk."

 Check out http://dnet.scratch-ware.net/ for the download.

 Enjoy!

 -Deja

Sep 10 2004
parent reply deja <deja scratch-ware.net> writes:
ah yes, I'd forgotten about that... I'll won't have time to post it 
until later tonight, but I believe that is the only dependancy

-Deja

Ivan Senji wrote:
 What about msvcr80d.dll, i don't have it but dnet needs it.
 It seems to be part of VS.NET 2005 beta?
 
 "deja" <deja scratch-ware.net> wrote in message
 news:chqpf1$hi6$1 digitaldaemon.com...
 ah yes, I'd forgotten about that... I'll won't have time to post it until
later tonight, but I believe that is the only dependancy
There hasn't been much movement on the D.NET front lately as I'm getting
settled back into college life.

Since I don't know how long it'll be before I have a proper beta up and
running I've decided to release what I have so far with a very simple
caveat:

"This software carries NO guarentees whatsoever, implied or explicit.
Use at your own risk."

Check out http://dnet.scratch-ware.net/ for the download.

Enjoy!

-Deja


Sep 10 2004
next sibling parent Joey Peters <Joey_member pathlink.com> writes:
In article <chsvia$1rok$1 digitaldaemon.com>, deja says...
ah yes, I'd forgotten about that... I'll won't have time to post it 
until later tonight, but I believe that is the only dependancy

-Deja

Hmm I once tried to distribute something I made with vc8, but it seemed it needed the whole framework or else you'd get a 'application misconfiguration'. Don't know if you can somehow fix that though. I'm not into that stuff.
Sep 10 2004
prev sibling parent David L. Davis <SpottedTiger yahoo.com> writes:
In article <chsvia$1rok$1 digitaldaemon.com>, deja says...
ah yes, I'd forgotten about that... I'll won't have time to post it 
until later tonight, but I believe that is the only dependancy

-Deja

Ivan Senji wrote:
 What about msvcr80d.dll, i don't have it but dnet needs it.
 It seems to be part of VS.NET 2005 beta?
 
 "deja" <deja scratch-ware.net> wrote in message
 news:chqpf1$hi6$1 digitaldaemon.com...
 ah yes, I'd forgotten about that... I'll won't have time to post it until
later tonight, but I believe that is the only dependancy
There hasn't been much movement on the D.NET front lately as I'm getting
settled back into college life.

Since I don't know how long it'll be before I have a proper beta up and
running I've decided to release what I have so far with a very simple
caveat:

"This software carries NO guarentees whatsoever, implied or explicit.
Use at your own risk."

Check out http://dnet.scratch-ware.net/ for the download.

Enjoy!

-Deja



Deja: Use the "Dependency Walker v2.1" (freeware) at http://www.dependencywalker.com/ to check for any other dependancys, this app should help you spot if they're more. David L. P.S. Good luck in your upcoming classes. :)) ------------------------------------------------------------------- "Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
Sep 10 2004
prev sibling next sibling parent reply "Ivan Senji" <ivan.senji public.srce.hr> writes:
I haven't tried it yet but i have some question:
(first i have to say great job, d.net is really progressing
and i think that it is great how import looks for assemblies)

1. what is pragma(Namespace.. for? D doesn't have namespaces,
    so isn't it pointless to have to say what namespace does what go into?
    It just goes to that modules namespace (global), and if you want
something
    in another namespace put it in another module.

2. why global functions need to be static? What does it even mean?
    I think it is not needed.

3. slices part is commented out but i am woried about this line
"int nar[] = arr;  // new array of length 3 is created and arr is copied
into it"

Did you mean reference to the data of arr is copied into nar?
If not(and the actual data is being copyed), then this aren't really
D-arrays :(

I see you have implemented pointers so i know it should be possible to
implement
arrays as some
class Array{int length; void* data;} ?


Sorry if all this comes out a little negative, but it wasn't meant that way.
Good work!

"deja" <deja scratch-ware.net> wrote in message
news:chqpf1$hi6$1 digitaldaemon.com...
 There hasn't been much movement on the D.NET front lately as I'm getting
 settled back into college life.

 Since I don't know how long it'll be before I have a proper beta up and
 running I've decided to release what I have so far with a very simple
 caveat:

 "This software carries NO guarentees whatsoever, implied or explicit.
 Use at your own risk."

 Check out http://dnet.scratch-ware.net/ for the download.

 Enjoy!

 -Deja

Sep 11 2004
parent reply deja <deja scratch-ware.net> writes:
You bring up some good points, and the lack of documentation and lack of 
a lot of stuff being finished is why I've hesistated so long to release 
anything, but I'll address your point questions point-by-point

Ivan Senji wrote:
 1. what is pragma(Namespace.. for? D doesn't have namespaces,
     so isn't it pointless to have to say what namespace does what go into?
     It just goes to that modules namespace (global), and if you want
 something
     in another namespace put it in another module.

Namespaces, while not D concepts, are very strong .NET concepts. The reason for the pragma is to allow programmers to keep individual file-sizes down. .NET namespaces can be VERY large (just take a look at the System namespace) and if the entire contents of a namespace were required to be within a single file, it could quickly grow oppressively large. The pragma allows namespaces to be split up across multiple modules.
 2. why global functions need to be static? What does it even mean?
     I think it is not needed.

It's a .NET requirement. All "global" functions need to be static.
 3. slices part is commented out but i am woried about this line
 "int nar[] = arr;  // new array of length 3 is created and arr is copied
 into it"
 
 Did you mean reference to the data of arr is copied into nar?
 If not(and the actual data is being copyed), then this aren't really
 D-arrays :(
 
 I see you have implemented pointers so i know it should be possible to
 implement
 arrays as some
 class Array{int length; void* data;} ?
 

Yes, at the moment it expands and copies the data. In order to have something to play with I simply used the same code for resizing dynamic arrays (which, due to the way .NET handles arrays, requires allocating a new array and copying the data over). Properly implementing slices, and arrays in general, was something that I was in the process of working on when I took my little vacation.
 Sorry if all this comes out a little negative, but it wasn't meant that way.
 Good work!
 

No worries. I appreciate the criticism as it helps me to write a compiler that will actually be used rather than one that's simply a novelty :) -Deja
Sep 11 2004
parent reply "Ivan Senji" <ivan.senji public.srce.hr> writes:
"deja" <deja scratch-ware.net> wrote in message
news:chvqqb$5qe$1 digitaldaemon.com...
 You bring up some good points, and the lack of documentation and lack of
 a lot of stuff being finished is why I've hesistated so long to release
 anything, but I'll address your point questions point-by-point

 Ivan Senji wrote:
 1. what is pragma(Namespace.. for? D doesn't have namespaces,
     so isn't it pointless to have to say what namespace does what go


     It just goes to that modules namespace (global), and if you want
 something
     in another namespace put it in another module.

Namespaces, while not D concepts, are very strong .NET concepts. The reason for the pragma is to allow programmers to keep individual file-sizes down. .NET namespaces can be VERY large (just take a look at the System namespace) and if the entire contents of a namespace were required to be within a single file, it could quickly grow oppressively large. The pragma allows namespaces to be split up across multiple modules.

Makes sense!
 2. why global functions need to be static? What does it even mean?
     I think it is not needed.

It's a .NET requirement. All "global" functions need to be static.

I know it is a .NET requirement, but it doesn't have to be the requirement of D.NET, your compiler can transform a D.NET non static global function and internally implement it as static.
 3. slices part is commented out but i am woried about this line
 "int nar[] = arr;  // new array of length 3 is created and arr is copied
 into it"

 Did you mean reference to the data of arr is copied into nar?
 If not(and the actual data is being copyed), then this aren't really
 D-arrays :(

 I see you have implemented pointers so i know it should be possible to
 implement
 arrays as some
 class Array{int length; void* data;} ?

Yes, at the moment it expands and copies the data. In order to have something to play with I simply used the same code for resizing dynamic arrays (which, due to the way .NET handles arrays, requires allocating a new array and copying the data over). Properly implementing slices, and arrays in general, was something that I was in the process of working on when I took my little vacation.

Nice to hear that.
 Sorry if all this comes out a little negative, but it wasn't meant that


 Good work!

No worries. I appreciate the criticism as it helps me to write a compiler that will actually be used rather than one that's simply a novelty :)

It certainly has potential to be something that will be used!
 -Deja

Sep 11 2004
parent deja <deja scratch-ware.net> writes:
Ivan Senji wrote:
<snip>
 
 I know it is a .NET requirement, but it doesn't have to be the
 requirement of D.NET, your compiler can transform a D.NET non static
 global function and internally implement it as static.
 

That's one of the "beautification" features that I'll probably eventually add once all of the basic functionality is completed. However, what I did release was never intended for release so it's extremely rough around the edges. Some things like fptrs and delegates are completely unimplemented, and others, like slices, are only hackishly implemented. I'm happy to see, however, that my little pre-alpha release had an expected effect of enticing me to work on D.NET more :) -Deja
Sep 11 2004
prev sibling next sibling parent kinghajj <kinghajj_member pathlink.com> writes:
Another .NET Language? I guess that this is good for D: if it can really someday
be completely .NET-compatible, and still follow the D standard, then D might get
a major boost in popularity.

I'll be waiting for a beta release of this! Keep up the good work!

In article <chqpf1$hi6$1 digitaldaemon.com>, deja says...
There hasn't been much movement on the D.NET front lately as I'm getting 
settled back into college life.

Since I don't know how long it'll be before I have a proper beta up and 
running I've decided to release what I have so far with a very simple 
caveat:

"This software carries NO guarentees whatsoever, implied or explicit. 
Use at your own risk."

Check out http://dnet.scratch-ware.net/ for the download.

Enjoy!

-Deja

Sep 11 2004
prev sibling parent reply J C Calvarese <jcc7 cox.net> writes:
deja wrote:
 There hasn't been much movement on the D.NET front lately as I'm getting 
 settled back into college life.
 
 Since I don't know how long it'll be before I have a proper beta up and 
 running I've decided to release what I have so far with a very simple 
 caveat:
 
 "This software carries NO guarentees whatsoever, implied or explicit. 
 Use at your own risk."

That's fine. I won't sue you. ;)
 Check out http://dnet.scratch-ware.net/ for the download.
 
 Enjoy!

Thanks.
 
 -Deja

I'm among those that didn't have MSVCR80D.dll. I think I fixed that by downloading and installing Visual C++ 2005 Express (http://lab.msdn.microsoft.com/vs2005/get/default.aspx). The installation crashed for me at first (because I missed that my firewall was blocking the installation -- oops!), but I think it's installed now. Is this how I'm supposed to build the example? dnet.exe testlib.d dnet.exe main.d I ask because I'm still getting error messages: [dnet.exe main.d] testlib.d: testlib is not a valid module or assembly [dnet.exe main.d] Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory has been corrup ted. at std._Lockit.{ctor}(_Lockit* , Int32 ) at std._Container_base._Orphan_all(_Container_base* ) at std._Container_base.{dtor}(_Container_base* ) at std._Vector_val<gcroot<System::Reflection::Emit::ModuleBuilder ^>,std::all ocator<gcroot<System::Reflection::Emit::ModuleBuilder ^> >
.{dtor}(_Vector_val<

^>\,std::allocator<gcroot<System: :Reflection::Emit::ModuleBuilder ^> > >* ) at std.vector<gcroot<System::Reflection::Emit::ModuleBuilder ^>,std::allocato r<gcroot<System::Reflection::Emit::ModuleBuilder ^> >
.{dtor}(vector<gcroot<Sys

^>\,std::allocator<gcroot<System::Reflectio n::Emit::ModuleBuilder ^> > >* ) at Global.{dtor}(Global* ) at ?A0xa0a42665.??__Fglobal $$FYMXXZ() at _exit_callback() at __unload_class.DomainUnload(Object , EventArgs ) Any ideas where I went wrong? -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Sep 11 2004
parent reply Deja Augustine <deja scratch-ware.net> writes:
J C Calvarese wrote:
 deja wrote:
 
 There hasn't been much movement on the D.NET front lately as I'm 
 getting settled back into college life.

 Since I don't know how long it'll be before I have a proper beta up 
 and running I've decided to release what I have so far with a very 
 simple caveat:

 "This software carries NO guarentees whatsoever, implied or explicit. 
 Use at your own risk."

That's fine. I won't sue you. ;)
 Check out http://dnet.scratch-ware.net/ for the download.

 Enjoy!

Thanks.
 -Deja

I'm among those that didn't have MSVCR80D.dll. I think I fixed that by downloading and installing Visual C++ 2005 Express (http://lab.msdn.microsoft.com/vs2005/get/default.aspx). The installation crashed for me at first (because I missed that my firewall was blocking the installation -- oops!), but I think it's installed now. Is this how I'm supposed to build the example? dnet.exe testlib.d dnet.exe main.d I ask because I'm still getting error messages: [dnet.exe main.d] testlib.d: testlib is not a valid module or assembly [dnet.exe main.d] Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory has been corrup ted. at std._Lockit.{ctor}(_Lockit* , Int32 ) at std._Container_base._Orphan_all(_Container_base* ) at std._Container_base.{dtor}(_Container_base* ) at std._Vector_val<gcroot<System::Reflection::Emit::ModuleBuilder ^>,std::all ocator<gcroot<System::Reflection::Emit::ModuleBuilder ^> > >.{dtor}(_Vector_val< gcroot<System::Reflection::Emit::ModuleBuilder ^>\,std::allocator<gcroot<System: :Reflection::Emit::ModuleBuilder ^> > >* ) at std.vector<gcroot<System::Reflection::Emit::ModuleBuilder ^>,std::allocato r<gcroot<System::Reflection::Emit::ModuleBuilder ^> > >.{dtor}(vector<gcroot<Sys tem::Reflection::Emit::ModuleBuilder ^>\,std::allocator<gcroot<System::Reflectio n::Emit::ModuleBuilder ^> > >* ) at Global.{dtor}(Global* ) at ?A0xa0a42665.??__Fglobal $$FYMXXZ() at _exit_callback() at __unload_class.DomainUnload(Object , EventArgs ) Any ideas where I went wrong?

Yes, I did not include the testlib assembly with the download. You can get it at http://dnet.scratch-ware.net/TestLib.dll Just throw it in the same folder as DNET.exe and it should work just fine. TestLib was a sample written in C# used to demonstrate that D.NET does indeed produce a working .NET assembly that can interop with other .NET languages. To all: I apologize for not having built it to be more readily distributable, but it was never intended for release at this stage. In order to get it to work you will probably have to install VC8 (the 2005 beta). However, if you're willing to mess around with a pre-alpha then you have no excuse to be squeemish about using, what I've found to be, a pretty decent beta. Also, since I've had a little time to code today, I've implemented proper handling of D arrays and slicing no longer duplicates the data but rather does as it should do and plays with references. Unfortunately, I broke some other code in doing so, so it'll be a bit before I'll be able to upload this. Just rest assured that I'm back on the project and picking up steam once again :) -Deja
Sep 11 2004
parent J C Calvarese <jcc7 cox.net> writes:
Deja Augustine wrote:
 J C Calvarese wrote:
 
 deja wrote:

 There hasn't been much movement on the D.NET front lately as I'm 
 getting settled back into college life.

 Since I don't know how long it'll be before I have a proper beta up 
 and running I've decided to release what I have so far with a very 
 simple caveat:

 "This software carries NO guarentees whatsoever, implied or explicit. 
 Use at your own risk."

That's fine. I won't sue you. ;)
 Check out http://dnet.scratch-ware.net/ for the download.

 Enjoy!



 Unhandled Exception: System.AccessViolationException: Attempted to 


 Any ideas where I went wrong?

Yes, I did not include the testlib assembly with the download. You can get it at http://dnet.scratch-ware.net/TestLib.dll Just throw it in the same folder as DNET.exe and it should work just

Thanks, that did the trick.
 fine.  TestLib was a sample written in C# used to demonstrate that D.NET 
 does indeed produce a working .NET assembly that can interop with other 
 .NET languages.

I don't like to try to write my own examples until I've gotten at least one of the examples that come with the compiler to work. ;) Now, that I've seen it work, I might get a little more creative.
 
 To all:
 I apologize for not having built it to be more readily distributable, 
 but it was never intended for release at this stage.  In order to get it 
 to work you will probably have to install VC8 (the 2005 beta).  However, 
 if you're willing to mess around with a pre-alpha then you have no 
 excuse to be squeemish about using, what I've found to be, a pretty 
 decent beta.

I don't think any apology is needed. You warned us it'd be rough around the edges. I certainly didn't mean to put you on the spot. My computer's pretty dis-organized. (I'm planning to format the hard drive and start over sometime soon.) I wasn't sure if it I needed to install something else or if I was misusing the compiler.
 Also, since I've had a little time to code today, I've implemented 
 proper handling of D arrays and slicing no longer duplicates the data 
 but rather does as it should do and plays with references. 
 Unfortunately, I broke some other code in doing so, so it'll be a bit 
 before I'll be able to upload this.

No rush. I'm glad to read that you're making progress.
 
 Just rest assured that I'm back on the project and picking up steam once 
 again :)
 
 -Deja

-- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Sep 11 2004