digitalmars.D - Lack of STL is annoying
- Joey Peters (16/16) Mar 10 2005 I find the lack of a standard template library quite annoying. Being the...
- Matthew (6/22) Mar 10 2005 Indeed!
- Joey Peters (2/4) Mar 10 2005 Do you have some sort of a roadmap or design document for the DTL?
- Matthew (10/12) Mar 10 2005 Did have, but have been sidetracked in a big way for some time.
- Joey Peters (6/19) Mar 11 2005 We should certainly work together, setting a STL for D. I think the C++ ...
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (7/9) Mar 10 2005 Do you mean that you want to re-define Error and Object ? (I hope not)
- Joey Peters (5/11) Mar 10 2005 Mainly the filename thing. I think names like object.d, error.d, etc are...
- Craig Black (12/14) Mar 10 2005 Perhaps I could help. I am a C++ programmer that has a lot of experienc...
- Georg Wrede (2/18) Mar 10 2005 Have you actually tried the "slow GC"?
- Craig Black (7/8) Mar 10 2005 No I haven't. But I know for a fact that in its current state, it is sl...
- Unknown W. Brackets (12/26) Mar 10 2005 Personally, I agree. I mean, I've argued with people about garbage
- clayasaurus (6/27) Mar 10 2005 maybe you could get a project at dsource.org, post your c++ templates
- Craig Black (3/5) Mar 10 2005 Sure. Just keep in mind that these templates are easy to use but the
- clayasaurus (21/31) Mar 10 2005 There's a forum on dsource named 'potential projects' where you make a
- Matthew (3/21) Mar 10 2005 Where can we find your C++ template library?
- Joey Peters (8/22) Mar 11 2005 If I am going to try to pull something off I need all the help I can get...
- Matthew (4/47) Mar 11 2005 I think you need to show your wares, as it's a little difficult to judge...
- Zz (2/9) Mar 14 2005 Is this C++ library available for download?
- Ben Hinkle (6/30) Mar 10 2005 Note in-depth design discussions about STL-like libraries for D should
- Charlie Patterson (7/14) Mar 10 2005 I'm just a D lurker so far, but it has been pointed out that half of the...
I find the lack of a standard template library quite annoying. Being the weirdo I am I tried to write one myself multiple times, but failed, making it too clunky and slow. Is there an estimated time of release or group effort to make a central STL, as part of the standard package? The biggest problem I had, by the way, was that D is simply too perfect, and -I- am not. It's hard to code it in such a way that it's elegant and makes semantic sense at the same time. Coding an STL is a very fun practise though. I'm thinking of objects like stacks, vectors, strings, just containers. I tried to expand it with more functionality like spawn objects (keeps track of object instances) and extra string functionality (expanded with regexp), it would be nice if the D STL would be an improvement over the C++ STL. Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL. PS: I don't like it that Phobos' namespace eats the names you may use for filenames like error.d, object.d, etc. PSS: Any good IDE there yet?
Mar 10 2005
I find the lack of a standard template library quite annoying.I don't doubt it.Being the weirdo I am I tried to write one myself multiple times, but failed, making it too clunky and slow. Is there an estimated time of release or group effort to make a central STL, as part of the standard package?This year.The biggest problem I had, by the way, was that D is simply too perfect, and -I- am not. It's hard to code it in such a way that it's elegant and makes semantic sense at the same time. Coding an STL is a very fun practise though.Indeed!I'm thinking of objects like stacks, vectors, strings, just containers.They're in the prototypical DTL, and also in minTL.I tried to expand it with more functionality like spawn objects (keeps track of object instances) and extra string functionality (expanded with regexp), it would be nice if the D STL would be an improvement over the C++ STL.It most certainly will beMaybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Go for it. Good bits can be folded in when we get serious on DTL.
Mar 10 2005
This year.Good.Go for it. Good bits can be folded in when we get serious on DTL.Do you have some sort of a roadmap or design document for the DTL?
Mar 10 2005
Did have, but have been sidetracked in a big way for some time. Thankfully the process of doing DPD will cause it to receive focus. Essentially, I'd like for it to be similar to STL in purpose: providing useful, consistent and efficient containers & algorithms, and also a framework/paradigm for extension. I expect to get back to it before the month is out, and that minTL, DTL and anyone else's inputs in this area will coallesce before the end of the year. I know Walter's skeptical that it'll be ready for 1.0, but I think it will. (But then Walter and I have somewhat differing views on how far D has to go before it's 1.0-able. <g>)Go for it. Good bits can be folded in when we get serious on DTL.Do you have some sort of a roadmap or design document for the DTL?
Mar 10 2005
In article <d0qisj$7hl$2 digitaldaemon.com>, Matthew says...We should certainly work together, setting a STL for D. I think the C++ STL is a pretty good example of what it should look like, however, I also think that in D some things could look so much better. Iterator types for example, or anything you can think of. By the end of the year... This year will still take pretty long. :PDid have, but have been sidetracked in a big way for some time. Thankfully the process of doing DPD will cause it to receive focus. Essentially, I'd like for it to be similar to STL in purpose: providing useful, consistent and efficient containers & algorithms, and also a framework/paradigm for extension. I expect to get back to it before the month is out, and that minTL, DTL and anyone else's inputs in this area will coallesce before the end of the year. I know Walter's skeptical that it'll be ready for 1.0, but I think it will. (But then Walter and I have somewhat differing views on how far D has to go before it's 1.0-able. <g>)Go for it. Good bits can be folded in when we get serious on DTL.Do you have some sort of a roadmap or design document for the DTL?
Mar 11 2005
Joey Peters wrote:PS: I don't like it that Phobos' namespace eats the names you may use for filenames like error.d, object.d, etc.Do you mean that you want to re-define Error and Object ? (I hope not) Or just that you can't use those filenames without them being included ? (which is somewhat annoying, especially with stray dogs like unittest.d) Ignoring some out-of-place Phobos files like crc32.d & etc/c/zlib/zlib.d which I hope will get cleaned up before the library is released? (D 1.0) --anders
Mar 10 2005
In article <d0pa16$1t4k$1 digitaldaemon.com>, =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...Joey Peters wrote:Mainly the filename thing. I think names like object.d, error.d, etc are pretty common choises. I also don't really understand why it doesn't work, according to the modules section it should just be poured in it's own namespace?PS: I don't like it that Phobos' namespace eats the names you may use for filenames like error.d, object.d, etc.Do you mean that you want to re-define Error and Object ? (I hope not) Or just that you can't use those filenames without them being included ? (which is somewhat annoying, especially with stray dogs like unittest.d)
Mar 10 2005
Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D. However, I do not like the idea of having to rely on a slow GC. I understand that D supports the old new and delete approach. This would be better for container templates IMO. Anyone interested? -Craig
Mar 10 2005
Craig Black wrote:Have you actually tried the "slow GC"?Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D. However, I do not like the idea of having to rely on a slow GC. I understand that D supports the old new and delete approach. This would be better for container templates IMO.
Mar 10 2005
Have you actually tried the "slow GC"?No I haven't. But I know for a fact that in its current state, it is slow. Walter says so himself. It hasn't been optimized yet. And I don't see Walter optimizing GC in the near future. Let me clarify myself. I do not mean to prevent programmers from using GC. I just don't want to use it internally for templates when there are more efficient ways of doing things. -Craig
Mar 10 2005
Personally, I agree. I mean, I've argued with people about garbage collection before, to convince them that in many ways it is a necessary evil; this is exactly as I believe. However, some people take it too far, imho. Instead of letting the garbage collector just help for the areas where it is needed, they let it take over everything. This is good in many ways, and prevents mistakes... but I've always felt explicit deallocation is good too. Explicitly deallocating memory you know you don't need to pass around, so long as you don't expect the garbage collector to really optimize the freeing of larger groups of data so easily, seems like only a good thing. If phobos does this by default, all the better, no? -[Unknown]Have you actually tried the "slow GC"?No I haven't. But I know for a fact that in its current state, it is slow. Walter says so himself. It hasn't been optimized yet. And I don't see Walter optimizing GC in the near future. Let me clarify myself. I do not mean to prevent programmers from using GC. I just don't want to use it internally for templates when there are more efficient ways of doing things. -Craig
Mar 10 2005
Craig Black wrote:maybe you could get a project at dsource.org, post your c++ templates online, then the community can help speed up the c++ --> d process.Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D.However, I do not like the idea of having to rely on a slow GC. I understand that D supports the old new and delete approach. This would be better for container templates IMO.D doesn't force anyone to use the GC. Adding your own new/delete doesn't hurt either. Just give the users of your library the option of using the GC or not.Anyone interested? -Craig
Mar 10 2005
maybe you could get a project at dsource.org, post your c++ templates online, then the community can help speed up the c++ --> d process.Sure. Just keep in mind that these templates are easy to use but the implementation is involved. How would I go about doing that? -Craig
Mar 10 2005
Craig Black wrote:There's a forum on dsource named 'potential projects' where you make a post about your project and what its goals are etc. Note you need to register before you can post. (http://www.dsource.org/forums/viewforum.php?f=13) Then the admin (brad) will set up a svn directory for you to post the project. SVN is very straightfoward IMO, and on windows you can use a good graphical frontend called tourtise svn. So you can check out the default stuff in your directory with a command similar to , 'right click -->checkout' or ... svn co http://svn.dsource.org/svn/projects/myproject which will create 'myproject' folder on your desktop/wherever. you can then add / remove files and folders as you wish, and it will be accessable to anyone with an internet connection. you can make changes and update the folder as need be. with tortoise on windows it shouldn't be harder than 'right click' and 'add folder' on linux, just a command line 'svn add folder/' after you get it installed (apt-get install subversion on debian) http://subversion.tigris.org/ for more about subversion www.dsource.org/ 'getting started' reiterates most of what i'm sayingmaybe you could get a project at dsource.org, post your c++ templates online, then the community can help speed up the c++ --> d process.Sure. Just keep in mind that these templates are easy to use but the implementation is involved. How would I go about doing that? -Craig
Mar 10 2005
Where can we find your C++ template library? "Craig Black" <cblack ara.com> wrote in message news:d0q4u9$2p9j$1 digitaldaemon.com...Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D. However, I do not like the idea of having to rely on a slow GC. I understand that D supports the old new and delete approach. This would be better for container templates IMO. Anyone interested? -Craig
Mar 10 2005
In article <d0q4u9$2p9j$1 digitaldaemon.com>, Craig Black says...If I am going to try to pull something off I need all the help I can get. However, it's always better to work on something in existance, I don't know how open DTL is. I have to say for myself that I'm not that much of an advanced programmer, but I know my things. The thing with the STL is that I always try to make it too perfect. Perhaps we could just port a STL. I tried to port the C++ STL earlier but that was such a load of work predicting all those preprocessors and figuring out in what order things were, I quit the very same day.Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D. However, I do not like the idea of having to rely on a slow GC. I understand that D supports the old new and delete approach. This would be better for container templates IMO. Anyone interested? -Craig
Mar 11 2005
"Joey Peters" <Joey_member pathlink.com> wrote in message news:d0rp00$1haf$1 digitaldaemon.com...In article <d0q4u9$2p9j$1 digitaldaemon.com>, Craig Black says...I think you need to show your wares, as it's a little difficult to judge where you're at / going to from these posts.If I am going to try to pull something off I need all the help I can get. However, it's always better to work on something in existance, I don't know how open DTL is. I have to say for myself that I'm not that much of an advanced programmer, but I know my things. The thing with the STL is that I always try to make it too perfect. Perhaps we could just port a STL. I tried to port the C++ STL earlier but that was such a load of work predicting all those preprocessors and figuring out in what order things were, I quit the very same day.Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL.Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D. However, I do not like the idea of having to rely on a slow GC. I understand that D supports the old new and delete approach. This would be better for container templates IMO. Anyone interested? -Craig
Mar 11 2005
Perhaps I could help. I am a C++ programmer that has a lot of experience writing C++ templates. I personally don't like C++ STL, so I wrote my own template library. It's WAY easier to use than C++ STL and more powerful IMO. It currently only lacks a hash table template, but I understand that capability is provided by D natively. I've never programmed in D, but I've kept my eye on the language since it was introduced on the internet. To get a library started, I could port my templates to D.Is this C++ library available for download? Zz
Mar 14 2005
"Joey Peters" <Joey_member pathlink.com> wrote in message news:d0p88j$1ru8$1 digitaldaemon.com...I find the lack of a standard template library quite annoying. Being the weirdo I am I tried to write one myself multiple times, but failed, making it too clunky and slow. Is there an estimated time of release or group effort to make a central STL, as part of the standard package? The biggest problem I had, by the way, was that D is simply too perfect, and -I- am not. It's hard to code it in such a way that it's elegant and makes semantic sense at the same time. Coding an STL is a very fun practise though. I'm thinking of objects like stacks, vectors, strings, just containers. I tried to expand it with more functionality like spawn objects (keeps track of object instances) and extra string functionality (expanded with regexp), it would be nice if the D STL would be an improvement over the C++ STL. Maybe somebody already has a nice, simplistic STL? Or, if there's no group effort yet, maybe somebody wants to help me code a tiny, but powerful STL. PS: I don't like it that Phobos' namespace eats the names you may use for filenames like error.d, object.d, etc. PSS: Any good IDE there yet?Note in-depth design discussions about STL-like libraries for D should probably be on the newsgroup digitalmars.D.dtl It's generally very quiet so getting that puppy as busy as this main newsgroup would be a good thing.
Mar 10 2005
"Joey Peters" <Joey_member pathlink.com> wrote in message news:d0p88j$1ru8$1 digitaldaemon.com...I'm thinking of objects like stacks, vectors, strings, just containers. I tried to expand it with more functionality like spawn objects (keeps track of object instances) and extra string functionality (expanded with regexp), it would be nice if the D STL would be an improvement over the C++ STL.I'm just a D lurker so far, but it has been pointed out that half of the STL goes away since D has built in associative arrays (maps), and arrays act similar to vectors (and therefore stacks). Array slices also solve the problem of many algorithms. But yeah it would need filling out with libaries (deques and some algorithms).
Mar 10 2005