Re: Patterns of Human Error - my presentation at the DC ACM

2011-05-06 Thread Lutger Blijdestijn
Nice slides, very simple and elegant. 

This reminds me of when I started with D. I found a lot of these 'details' 
unload quite some burden I had with C++ and made programming that much more 
enjoyable.


Re: D Programming Language source (dmd, phobos, etc.) has moved to github

2011-01-25 Thread Lutger Blijdestijn
Nick Sabalausky wrote:

 David Nadlinger s...@klickverbot.at wrote in message
 news:ihkub8$1ia4$1...@digitalmars.com...
 On 1/24/11 10:20 PM, Nick Sabalausky wrote:
 Does Git really not have real revision/changeset numbers?

[.]


 Not that I've actually used DVCSes much yet, but my understanding is
 that the same can be set of Hg and yet Hg handles revision/changeset
 numbers just
 fine. The nice things (plural) about those is that they're both readable
 and
 comparable.

 Hg has no �real revision/changeset numbers� either - there is a
 more-or-less-monotonic number assigned to the various changesets, but
 it's only valid for a single, *local* checkout, using them e.g. in a NG
 post would be a very wrong thing to do
 (http://mercurial.selenic.com/wiki/RevisionNumber).

 
 Even without really using DVCSes it always seemed clear to me that an
 incremented number would be relative to a particular branch. So if you
 specify what branch you're talking about (which could usually just be
 assumed to be the main official one unless otherwise specified), shouldn't
 that be enough?
 
 Git supports a relative notation as well, which is what I personally want
 to use most of the time anyway (e.g. HEAD^, master~4, something@{1 year
 ago}, .).
 
 Ah, so it *does* then? Great! Happen to have a link that explains it?
 

This covers most of it to see what's possible:

http://progit.org/book/ch6-1.html

You can customize git log with a format string, try this for example:

git log --pretty=format:%h - %an, %ar : %s %d










Re: D Programming Language source (dmd, phobos, etc.) has moved to github

2011-01-25 Thread Lutger Blijdestijn
Nick Sabalausky wrote:

 Lutger Blijdestijn lutger.blijdest...@gmail.com wrote in message
 news:ihn21d$2esd$1...@digitalmars.com...
 Nick Sabalausky wrote:

 David Nadlinger s...@klickverbot.at wrote in message
 news:ihkub8$1ia4$1...@digitalmars.com...
 On 1/24/11 10:20 PM, Nick Sabalausky wrote:
 Does Git really not have real revision/changeset numbers?

[.]


 Not that I've actually used DVCSes much yet, but my understanding is
 that the same can be set of Hg and yet Hg handles revision/changeset
 numbers just
 fine. The nice things (plural) about those is that they're both
 readable
 and
 comparable.

 Hg has no ?real revision/changeset numbers? either - there is a
 more-or-less-monotonic number assigned to the various changesets, but
 it's only valid for a single, *local* checkout, using them e.g. in a NG
 post would be a very wrong thing to do
 (http://mercurial.selenic.com/wiki/RevisionNumber).


 Even without really using DVCSes it always seemed clear to me that an
 incremented number would be relative to a particular branch. So if you
 specify what branch you're talking about (which could usually just be
 assumed to be the main official one unless otherwise specified),
 shouldn't
 that be enough?

 Git supports a relative notation as well, which is what I personally
 want
 to use most of the time anyway (e.g. HEAD^, master~4, something@{1
 year ago}, .).

 Ah, so it *does* then? Great! Happen to have a link that explains it?


 This covers most of it to see what's possible:

 http://progit.org/book/ch6-1.html

 You can customize git log with a format string, try this for example:

 git log --pretty=format:%h - %an, %ar : %s %d

 
 Ahh, that's not remotely what I was hoping it was. Everything is all
 relative to the current version which means that *every* time you commit,
 *every* changeset gets completely renamed (HEAD@{5} becomes HEAD@{6},
 etc), and there doesn't appear to be any syntax to refer to the next
 changeset (only the previous), which makes it barely useful at all. And
 not only that, but they *dissapear* after a certain amount of time.

 Browsing through http://hginit.com/index.html, it looks like with Hg,
 everything works just as well as with SVN, the only difference being that
 you need to remember to specify which repository you're talking about
 whenever you give a number.

I see, you want a convenient name for a particular commit, is that it? But 
even the hg revision number is discouraged to be used to talk with others, 
this is from the manual: 

It is a strictly local convenience identifier (...) Revision numbers 
referring to changesets are very likely to be different in another copy of a 
repository. Do not use them to talk about changesets with other people 

When there is a lot of branching going on (even in a local repository) these 
revisions numbers become useless and confusing. A unique identifier is much 
more useful. You can't expect other people to piece together how the 
revision number has come to be, that is extremely brittle. 
 
 Obviously I'm not saying DMD should have gone Hg, I'm just kinda shocked
 by how horrid Git's approach is for referring to changesets. (Personally,
 that alone would be enough to get me to use Hg instead of Git for my own
 projects. Heck, I've become pretty much sold on the idea of DVCS, but
 because of this I think I'd actually sooner use SVN for a new project than
 Git.)





Re: D Programming Language source (dmd, phobos, etc.) has moved to github

2011-01-25 Thread Lutger Blijdestijn
Nick Sabalausky wrote:


...
 
 You can't expect other people to piece together how the
 revision number has come to be, that is extremely brittle.

 
 They don't need to piece it together because you can just say...
 
 ...which repository you're talking about.
 ...which repository you're talking about.
 ...which repository you're talking about.
 .
 .
 .
 .
 ...which repository you're talking about.
 .
 .
 .
 .
 .

ok ok ok ok ok I get it. I spend some quality time with google and have 
found this:

$ git describe --tags

phobos-2.046-664-g938e1cc


So phobos is at the 664th commit since 2.046


http://gitfu.wordpress.com/2008/05/25/git-describe-great-another-way-to-
refer-to-commits/



Re: Texas LinuxFest 2011 call for papers now open

2011-01-20 Thread Lutger Blijdestijn
Andrei Alexandrescu wrote:

 http://www.texaslinuxfest.org/callforpapers/
 
 One topic of interest is Open Source Programming Languages. If someone
 could explain to me the various subtle nuances of what an open source
 programming language is, I'll try to make a D-related submission and of
 course I recommend anyone else to do the same.
 
 
 Andrei

This is a matter of perspective, I think these are the possibly interesting  
angles and issues for D:

- availability and development of Open Source compilers (OSI compatible 
license)

- cross-platform design, this extends beyond linux but is often a concern 
and goal in the Open Source world

- development process of the language (and std lib) itself: here the 
community participation is important. For D it's an interesting (and 
ongoing) story to tell.

- usefulness and place in the open source ecosystem: I believe D has a 
potential here as a serious alternative for both mono and java. Mono, the 
open source implementation of .net, has loads of potential patent issues and 
for this reason is not supported by some distro's. Java also has it's 
issues. Positioning D as a solution to those problems (rather than an 
alternative for C++ or dynamic languages) will please the crowd, for sure :) 
Interoperability with C is also important here.


Re: Texas LinuxFest 2011 call for papers now open

2011-01-20 Thread Lutger Blijdestijn
Daniel Gibson wrote:

...
 
 You can never be sure with patents, as someone else in another thread
 already pointed out: it's virtually impossible to write a piece of
 software that doesn't infringe patents.

Yes, it's like bugs: you can tell when you found one, but never know your 
software is free of it. (well, that is almost true)

 Of course, the situation is worse with Java (as seen in Oracle suing
 Google for using a Java-derivate in Android) and Mono (you never know if
 Microsoft will tolerate this forever. Even if they promised not to sue for
 current .net related patents, you never know about patents applying to
 features in future versions of .net).
 With D at least people still would have to find patents that are infringed
 - and even then the case isn't as clear as with Java/mono, where it's
 obvious that the Java/.net related patents are infringed.
 
 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).
 

Technically that is right, but I find it a bit of an understatement because 
every non trival software project has potential issues. With .NET and Java 
you *know* you have patent issues, with D any potential patent issue is a 
tragic mistake that still has to be proven to exist. Those are not on the 
same scale, so I wouldn't use the term 'less trouble' You also have 
ownership to take into account, I would rather trust Walter Bright not using 
submarine patent traps than MS or Oracle :) 


Re: Texas LinuxFest 2011 call for papers now open

2011-01-20 Thread Lutger Blijdestijn
Daniel Gibson wrote:
...

 So yes, the point that D may cause less trouble than Java/.net can be
 made, but you probably shouldn't claim that D doesn't infringe any
 patents, because you can't possibly know (nobody can, there are just too
 many software patents to check, even for big companies).
 

Perhaps I should elaborate a bit. mono is simply out of the question in a 
large part of linux. Fedora for example, has D as a feature for its 14 
release but doesn't support mono. Java is more complex, but if we take it 
out of the picture it leaves (some of) linux with C / C++ on the one hand 
and a lot of higher level dynamic languages on the other. In between are 
some more 'exotic' languages such as haskell. Perhaps I'm wrong, but I see a 
big void there where D can step in, mostly because of its set of features. 
In the non-open-source world, Java and .NET are already taking care of much 
of this void. 


Re: std.xml2 candidate

2010-12-12 Thread Lutger Blijdestijn
Andrei Alexandrescu wrote:

 On 12/11/10 7:15 PM, Andrei Alexandrescu wrote:
 On 12/11/10 7:23 AM, Michael Rynn wrote:

 Availability of Updated xml parser for D2,
 organised very presumptively as std.xml2
 [snip]

 Great! Do you plan to submit this to Phobos?
 
 One more thing - with XML parsers, I think Tango has definitely set the
 performance bar where it belongs. Any proposal for Phobos would need to
 meet it.
 
 Andrei

That is considerable. A quick benchmark suggests that a lot of work is 
needed. 

If you take into account that tango's xml parser does less validation and 
that it is up to par with the fastest C++ parsers out there, I suggest 
lowering the bar a little bit at first. For example, outperforming libxml2.


Re: std.xml2 candidate

2010-12-12 Thread Lutger Blijdestijn
so wrote:

 If you take into account that tango's xml parser does less validation and
 that it is up to par with the fastest C++ parsers out there, I suggest
 lowering the bar a little bit at first. For example, outperforming
 libxml2.
 
 There is no reason a D code should perform worse than C++ if you are not
 using some high level constructs.
 When it comes to strings/slicing/template, you might actually get
 performance boost comparing to C++.
 The C++ parser mentioned here (RapidXML) depends heavily on these.
 

I know, and tango's parser is proof of that. But it can take a lot of work 
getting to that level. Right now we have an xml library a lot of people 
don't want to use, has bugs and performs 60 times worse than tango's.

Imho it's better to include it if performance is merely acceptable and see 
if it is possible to improve from there on. 


Re: Build a D project is now easy

2010-11-23 Thread Lutger Blijdestijn
Leandro Lucarella wrote:

 Russel Winder, el 22 de noviembre a las 19:10 me escribiste:
 On Mon, 2010-11-22 at 16:41 +, Manfred_Nowak wrote:
  Russel Winder wrote:
  
   but it has come to the end of its useful life
  
  why. I ask because I just realized, that llvm still uses it.
 
 For really small systems compiled on a single platform, Make can still
 cut it.  But being an external DSL, the separation of relationship
 specification notation and action notation, and especially the platform
 specific action notation lead to insurmountable problems.  Go is trying
 to persevere with Make but the cracks show readily.  Also Make shows the
 cracks for large projects, it doesn't really scale.
 
 False.
 
 Autotools was a brave attempt to make Make make big projects for
 Posix-compliant platforms.  CMake is a bold attempt to ensure Make
 
 Automake is one of the biggest mistakes *ever*.
 
 handles things in a more platform independent way.  Autotools is, I
 think also reaching the end of its useful life -- it was an immense bit
 of m4 hackery, and deserves respect, just as Make does.
 
 There is no point of comparison between Make and Autotools, Autotools is
 a huge hack. Make is limited in scope, but it does what it's supposed to
 do extremely well.
 
 The alternative to all this is to use an internal DSL, i.e. use a
 programming language directly.  SCons and Waf plough this furrow -- to
 name but the main two in a C, C++, D, LaTeX context.  SCons and Waf both
 suffer some serious issues, but they are the current market leaders for
 a more modern system.
 
 I tried quite a few build systems for a big project (cmake, waf, aap,
 scons, omake) and all had their own issues and specially limitations.
 Eventually I decided to learn Make seriously, wrote a good Makefile and
 never looked back...
 
 Make can be very hard to learn, specially because people tend to use it
 wrongly and there are very few good examples and tutorials/docs.
 
 PS: I'm really talking about GMake :)
 

Wow, GMake is almost a full blown programming language! If you have one of 
those few good examples handy, would you mind sharing a link?


Re: d.vim and Fused

2010-11-18 Thread Lutger Blijdestijn
Russel Winder wrote:

...
 What this email is really about though is to ask:  where is the best
 place to keep a permanent, i.e. not just on a mailing list, record of
 all the D editor support stuff.  As well as Emacs and Vim there must be
 support for TextMate, Eclipse, NetBeans, IntelliJ IDEA, . . . all of
 which could be collated into a single place that people could go to, and
 which Google could index.
 

I think this is the best place:  
http://prowiki.org/wiki4d/wiki.cgi?EditorSupport


Re: Utah Valley University teaches D (using TDPL)

2010-11-17 Thread Lutger Blijdestijn
bearophile wrote:

 Lutger Blijdestijn:
 
 Actually the unix convention is to give exit code 0 as an indicator of
 success, so there is feedback. It is very usable for scripting.
 
 But currently something like that is not present in the D unittest system.

rdmd --main -unittest somemodule.d 



Re: DDT 0.4.0 released (formerly Mmrnmhrm)

2010-11-17 Thread Lutger Blijdestijn
Looking pretty good so far! 



Re: dmd 1.065 and 2.050 release

2010-10-29 Thread Lutger
Walter Bright wrote:

 This is primarily a bug fix release.

And relaxed purity rules. They rule!


Re: QtD is resumed

2010-10-12 Thread Lutger
Max Samukha wrote:

 As there is interest in the project, we have decided to proceed. Stay
 tuned.

I'm drinking one on this, cheers!


Re: New home page

2010-10-07 Thread Lutger
Walter Bright wrote:

 Stephan Soller wrote:
 This is especially handy when doing a presentation about a
 programming language since you can use JavaScript to write a small
 syntax highlighter (the grammar in the D documentation was really handy
 for that). :)
 
 A javascript D syntax highlighter? Please post!


This is a popular javascript syntax highlighter: 
http://alexgorbatchev.com/SyntaxHighlighter/

I've written a D plugin for it (its trivial and not completely correct):
http://github.com/Lutger/d_utils/blob/master/shBrushD.js




Re: d bindings for enet

2010-09-21 Thread Lutger
Stephan wrote:

 enet (http://enet.bespin.org/) is a thin network layer based on UDP.
 
 i post here in case anybody else finds it useful. is there any
 appropriate dsource project i can add these ?
 
 Stephan

I believe this is the place, and anybody with a dsource account can commit here:

http://www.dsource.org/projects/bindings


Re: QtD is suspended

2010-09-17 Thread Lutger
Georg Wrede wrote:

 On 09/17/2010 01:01 AM, Lutger wrote:
 Max Samukha wrote:

 After a good amount of hesitation, we have decided to put the QtD
 project on hold. QtD has a potential to become a complete and effective
 development platform for D but it is not going to happen soon (unless
 people with harder hearts take it over). We have spent half of the day
 hunting yet another dmd bug-o-feature and that is the last straw.

 We offer our apologies to people who put their hope upon the project.
 Please come back in a year or two when the language has a stable
 compiler with the features fully specified, implemented and debugged.

 This is a loss, it must be frustrating for you spending so much time on it.
 Thank you anyway for the effort, it was quite exciting to see QtD almost come
 to be! I hope it will be continued some day.
 
 Having some experience in this, I really don't think other people can
 even begin to think what Max feels at this point.
 
 I could go on-and-on about this, but those who've never invested enough
 to break their back and then simply be met by folks who !believe! they
 have any way of understanding, I really think they should stay shut up.

I take it this is directed at me. Look, it was a gut reaction. I don't 
understand why, but if anyone takes offense I'm sorry, I didn't want to provoke 
that. 


Re: QtD is suspended

2010-09-16 Thread Lutger
Max Samukha wrote:

 After a good amount of hesitation, we have decided to put the QtD
 project on hold. QtD has a potential to become a complete and effective
 development platform for D but it is not going to happen soon (unless
 people with harder hearts take it over). We have spent half of the day
 hunting yet another dmd bug-o-feature and that is the last straw.
 
 We offer our apologies to people who put their hope upon the project.
 Please come back in a year or two when the language has a stable
 compiler with the features fully specified, implemented and debugged.

This is a loss, it must be frustrating for you spending so much time on it. 
Thank you anyway for the effort, it was quite exciting to see QtD almost come 
to 
be! I hope it will be continued some day.  


Re: QtD is suspended

2010-09-16 Thread Lutger
Is the most recent flavor of QtD the repositoy at bitbucket?


Re: bash completion for dmd and rdmd

2010-09-15 Thread Lutger
Jordi Sayol wrote:

 Al 12/09/10 17:48, En/na Lutger ha escrit:
 It's ugly but it seems to work:
 http://dl.dropbox.com/u/6777848/d-completion.sh

 Put it in /etc/bash_completion.d/ or (preferably) invoke it from ~/.bashrc or
 ~/.bash_profile:

 . d-completion.sh

 It will enable autocomplete for dmd and rdmd in bash. You may need to install
 the bash-completion package of your distro.

   
 Can I add it on the next deb/rpm packages?
 

Of course! But please use this version: http://github.com/Lutger/d_utils
I'll be happy to know if there are any errors, it's mostly taken from existing 
completion scripts. 

I don't think such a small script needs a license but I'll put one in if needed.




Re: D Concurrent GC

2010-09-15 Thread Lutger
Sean Kelly wrote:

 Sean Kelly Wrote:
 
 Leandro Lucarella Wrote:
 
  Not quite ready for prime-time yet, but I think it's in a stage when it
  could be interesting anyway (at least for developers or people that want
  to experiment):
  http://llucax.com.ar/blog/blog/post/-1a4bdfba
 
 Nice work!  I've gotten this to compile as the GC for druntime using D2 but
 have ran into a snag.
 
 Okay, all fixed.  Porting the GC to D2 was more work than porting it to
 druntime specifically.  There are still a few hacks in place to work around
 const issues and I faked the PointerMap stuff, but the GC seems to work just
 great.  I'll have to find a reasonable performance test for comparison.  Oh,
 I'll send you the modified code as well.

Are you going to integrate it in druntime? 


bash completion for dmd and rdmd

2010-09-12 Thread Lutger
It's ugly but it seems to work: http://dl.dropbox.com/u/6777848/d-completion.sh

Put it in /etc/bash_completion.d/ or (preferably) invoke it from ~/.bashrc or 
~/.bash_profile:

. d-completion.sh

It will enable autocomplete for dmd and rdmd in bash. You may need to install 
the bash-completion package of your distro.


Re: bash completion for dmd and rdmd

2010-09-12 Thread Lutger
Andrei Alexandrescu wrote:

 On 9/12/10 10:48 CDT, Lutger wrote:
 It's ugly but it seems to work:
 http://dl.dropbox.com/u/6777848/d-completion.sh

 Put it in /etc/bash_completion.d/ or (preferably) invoke it from ~/.bashrc or
 ~/.bash_profile:

 .. d-completion.sh

 It will enable autocomplete for dmd and rdmd in bash. You may need to install
 the bash-completion package of your distro.
 
 Cool! This should be on D's website. Any zsh completion experts to
 provide something similar for zsh?
 
 Andrei

Thanks. As per suggestion of Russel Winder I created a github account: 
http://github.com/Lutger/d_utils

I've added completion for the linker. The script should be cleaned up though 
before putting it on the D website. I'll try to do it but I don't know bash 
very 
well, so it takes some time.  


Re: dmd 1.063 and 2.048 release

2010-08-12 Thread Lutger
Thanks everybody for the hard work, good release!


Re: This just in: authorless TDPL becomes collector's edition

2010-06-22 Thread Lutger
Andrei Alexandrescu wrote:

 Due to a pretty odd mistake at the printer, the first 1000 copies of
 TDPL will not have the name of the author on their cover. (The name
 still appears on the back cover and the spine.)
 
 The history of printing is rife with rare printing mistakes that have
 become collector's editions. Preorder now to be among the first 1000
 readers who get the authorless TDPL edition.
 
 
 Andrei

Just got my authorless copy from the local bookstore, they have several more of 
those in stock at their little C++ corner :) I'm looking forward to reading it. 
 


Re: dmd 1.062 and 2.047 release

2010-06-13 Thread Lutger
Great, thank you!

I noticed both std.concurrency and std.json are not (yet?) included in the 
documentation. Does that have any bearing on their status, are they usable and 
/ or stable? 

There are some other modules without documentation like std.openrj and 
std.perf. Is there a page somewhere that documents their fate? I could only 
find this one:

http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevel


Re: dmd 1.062 and 2.047 release

2010-06-13 Thread Lutger
Andrei Alexandrescu wrote:

 Lutger wrote:
 Great, thank you!
 
 I noticed both std.concurrency and std.json are not (yet?) included in
 the documentation. Does that have any bearing on their status, are they
 usable and / or stable?
 
 std.container too.
 
 There are some other modules without documentation like std.openrj and
 std.perf.
 
 I removed std.openrj a while ago.
 
 
 Andrei

std.openrj is still included is the src folder and in the repository. There is 
a commit on it 4 weeks ago, perhaps it should be deleted from svn?

http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/openrj.d?rev=1519


Re: d2tags - converts DMD2's JSON output to Exuberant Ctags format

2010-05-06 Thread Lutger
Andrei Alexandrescu wrote:

 MIURA Masahiro wrote:
 Hi,
 
 Being happy to see issue 3415 (broken JSON format) fixed,
 I have written a utility to convert DMD2's JSON output
 to Exuberent Ctags format.  This enables you to tagjump in Vim
 and other editors/IDEs.  It's just 150+ lines, thanks to D2's
 powerful string handling.  Enjoy!
 
 http://github.com/Dubhead/d2tags
 
 usage:
 % dmd -Xftags.json foo.d
 % d2tags tags.json  tags
 
 Very useful, and a beautiful example of D scripting.
 
 I wonder if this is of enough general utility to warrant inclusion
 within the D distribution, along with rdmd. Thoughts?

Yes it's very useful. How about also including the source in the examples 
directory?


Re: GDB Patched

2010-04-30 Thread Lutger
Robert Clipsham wrote:

 On 30/04/10 00:39, Jesse Phillips wrote:
 I'm a little surprised I didn't see this announced here, at least I can't
 find it.

 GDB has had the patch accepted!

 http://www.llucax.com.ar/blog/blog/post/06d99f3b
 
 It has been more than accepted, it is now in the source tree, and will
 be in the 7.2 release of GDB :D
 
 Bug:
 http://d.puremagic.com/issues/show_bug.cgi?id=3207
 
 Commit:
 
http://sourceware.org/git/?p=gdb.git;a=commit;h=870850ddab624f9d0111a4a0733cf7f5edf9bf91

Thats great!


Re: DDebber Request for Review

2010-03-25 Thread Lutger
Jesse Phillips wrote:

 Walter Bright Wrote:
 
 Jesse Phillips wrote:
  I would like to announce DDebber.
  
  http://dsource.org/projects/ddebber
 
 
 Looks like we have an embarrassment of riches here. Jordi Sayol i Salom�
 has sent me a shell script to do it, and Cristi has contributed a script
 to do it that is in http://www.dsource.org/projects/dmd-installer
 
 I know of dmd-installer, at least as a Windows installer. The README in rpm
 explains how to build a DEB?
 
 One thing DDebber is going for is building a package that could be accepted
 in the main Debian repo if the license didn't prevent this. I really want 
 a libphobos which is needed when it becomes a shared library (could
 actually be in the official repositories when that happens :)
 
 If you have a script you are happy with and don't want to go the repository
 route, I'll see if I can get the Tango repository to distribute it once
 Tango is also packaged.

You could try getting LDC with Tango into debian, there are no license 
problems with them. 


Re: DDebber Request for Review

2010-03-25 Thread Lutger
Jesse Phillips wrote:

 Lutger wrote:
 

 You could try getting LDC with Tango into debian, there are no license
 problems with them.
 
 My goal isn't exactly to get anything into the official repo. This is my
 first time really doing packaging and I'd like to figure out what is
 best for D. The conflicts between v1, v2, Phobos, and Tango coupled
 with the packages depending on one or another, or any combination...
 makes packaging very unclear.

Yes and that's exactly why this is a fine project, though getting in an 
official repo will be extra valuable. I might attempt it for fedora when, if 
ever, I get to finish my current projects. 

Is there any userbase for D1 without Tango at the moment? I'd think there is 
only the combination D1 plus Tango with gdc/ldc/dmd, and D2 with dmd getting 
any use to speak of. dmd is not redistributable and ldc seems to be more 
actively developed, so that's why I suggested that combo. 




Re: DMDScript now under Boost license

2010-03-22 Thread Lutger
Thank you. 

Under svn there is both the gpl and boost license files, and no indication 
which is the right one. Could you remove gpl.txt to avoid confusion? 


Re: dmd 1.057 and 2.041 release

2010-03-09 Thread Lutger
Michal Minich wrote:

 On Tue, 09 Mar 2010 10:23:07 -0500, Steven Schveighoffer wrote:
 
 I want to focus more on the fact that you are declaring the data after
 the slice as being no longer used.
 
 kind of assumeUnique ...
 
 assumeNoArrayReference ?

I like that. Or assumeNoMemoryAliasing. It should be clear that it is a 
potentially very unsafe function. 


Re: dmd 1.057 and 2.041 release

2010-03-08 Thread Lutger
Thanks! A pleasant surprise to see interface contracts.



Re: dmd 1.056 and 2.040 release

2010-01-30 Thread Lutger
This release makes me smile. Thank you so much Walter, and everybody who 
contributed too.


Re: why Ddbg is not updated anymore...

2010-01-19 Thread Lutger

On 01/19/2010 09:32 PM, Matthias Pleh wrote:

Stephan schrieb:

I dunno if anyone knew this before but i wanted to give my kudos to a
guy that did a lot for the D community by developing the still best
debugger for the D Programming Language Ddbg
(http://ddbg.mainia.de/releases.html)

The question often came up why it is not updated anymore. Well the
reason for this is that Jascha Wetzel the developer of Ddbg earns the
big bucks now with his product Turbolence 4D (http://jawset.com/) and
his company Jawset Visual Computing

TURBULENCE.4D makes the most realistic and efficient methods in CG
fluid dynamics available in standard software

Well and recently his product got used in the new Bruce Willis movie
Surrogates (http://chooseyoursurrogate.com/).

All in all I whish him the best for the future and that he will never
forget D when developing next cutting edge software.



The downside is that Ddbg finally needs a new developer for the future
to get updated.



In the second part of the mentioned restrictions in the license.txt is
written:
* You may only redistribute the software unmodified, in the form and
prepackaging it is available from the official website.

It's seems as if redistributing of a changed version is not allowed.
(But perhaps my english understanding is not good enought, I'm not an
english native speaker :)
So in this case, we need to write a debugger from scratch.

greets
matthias


That's unfortunate, Jascha Wetzel has done some incredible things (not 
only ddbg). His code is really nice too, if ever someone would want to 
pick this up maybe he can be convinced to change the license.


Re: D compiler as part of GCC

2010-01-18 Thread Lutger

On 01/18/2010 03:45 AM, Jerry Quinn wrote:

[also posted to D.gnu]

Hi, folks,

I'm interested in creating a D front end for GCC that would be part of the GCC 
codebase.  My feeling is that a GDC that is part of GCC distributions will 
likely have more life than one that must be updated whenever a new GCC release 
comes out.  As with linux kernel in-tree drivers being kept up to date, an 
integrated GDC would tend to move forward as well.

To do this though, copyright on the code must be assigned to the FSF.  This 
means that even though the DMD front end sources are licensed under the GPL, 
they cannot be directly used to write this front end as the copyright is owned 
by DigitalMars.  Everyone who contributes code must not look at the DMD 
compiler source code to avoid accidentally contributing code illegally.  
Therefore, this will be a completely new implementation of D.

The obvious disadvantage of doing this is that it will be a slow process to get 
to a working D compiler.  However, one advantage to the D world is firming up 
and validating the language specification so that the language is not defined 
by what the DMD compiler does.

My personal desire is to implement (and track) the 2.0 language since I would 
like to see that feature set available through GCC.  Second, by the time a 
working front end becomes part of GCC, the 2.0 language will likely be complete.

One question I have (of many) is whether a different name should be used.  If 
this is called GDC there will be some confusion with the current GDC.  What 
thoughts do you all have?

In general is there interest in this project, especially contributing to it?

Thanks,
Jerry



I do not want to discourage such a great project, especially since I 
lack the skills myself to contribute. However I think helping either GDC 
or LDC with their D2 branches and getting them into a distro will be far 
more effective. Whatever you decide to embark on, wish you all the best!


Re: New vim d.vim syntax highlighting script

2010-01-12 Thread Lutger

Thanks!


Re: dmd 1.054 and 2.038 release

2010-01-03 Thread Lutger
Thanks a lot everybody. Also special thanks to Don for his increased 
involvement and stepping up to help with some serious bugfixing!


It feels like D2 is becoming more solid and usable every release in 
spite of major features still being added.


Happy new year! It will be an exciting one for D.


Re: SciD: the humble beginning

2009-12-15 Thread Lutger
Chad J wrote:

 dsimcha wrote:
 
 ...  The other option is to make
 sure everything is loosely coupled to the GUI lib so it can be easily
 swapped for
 another one.  The downside is that this has some tradeoffs in terms of
 simplicity and probably performance that I don't think I want to make and
 is probably a classic example of overengineering.
 
 Is it really that hard to have the GUI libs in question just give you
 some pixels in memory or an opengl context?  Then you could use your own
 highly optimized plot drawing routines instead of relying on the GUI lib
 to do this.  I figured this kind of thing would be unbeatable for
 performance, unless the library ties your hands.

If you are willing to do opengl (it's a bit more work) then I think that is 
a very good idea. Both QtD and GtkD should have good opengl interop, so you 
could at a later stage support both libraries. 


Re: SciD: the humble beginning

2009-12-15 Thread Lutger
Lutger wrote:

 Chad J wrote:
 
 dsimcha wrote:
 
 ...  The other option is to make
 sure everything is loosely coupled to the GUI lib so it can be easily
 swapped for
 another one.  The downside is that this has some tradeoffs in terms of
 simplicity and probably performance that I don't think I want to make
 and is probably a classic example of overengineering.
 
 Is it really that hard to have the GUI libs in question just give you
 some pixels in memory or an opengl context?  Then you could use your own
 highly optimized plot drawing routines instead of relying on the GUI lib
 to do this.  I figured this kind of thing would be unbeatable for
 performance, unless the library ties your hands.
 
 If you are willing to do opengl (it's a bit more work) then I think that
 is a very good idea. Both QtD and GtkD should have good opengl interop, so
 you could at a later stage support both libraries.

On second thought, you will lose performance dramatically on systems that 
don't have a good opengl driver / graphics card.


Re: Metaprogramming in D : Some Real-world Examples

2009-11-12 Thread Lutger
Bill Baxter wrote:

...
 
 This is almost just a preprocessor macro trick, except for this line:
  mixin( FoldStringsOf!visitMethodOf( [Sum, Product] ) );
 
 The essence is to generate a bunch of methods from a list of names.  I
 was thinking to include a similar example from the world of 3d
 graphics, which is generating all the swizzles of a vector* (got the
 idea from Tom S.).  That's got the method generation from a list, but
 it also generates the list too.

Interesting. I noticed it's also possible to pass a module as an alias and 
to things with it, but haven't come across an example of where that would be 
used. Modules are almost something in D, but just not yet. 

 Another way is to have a swizz member template that lets you do
 v.swiz(zyx).  That's arguably better in that you don't pay for it if
 you don't use it.  But being able to generate all the methods with D
 is still kinda spiffy.
 
 * Most GPU languages (HLSL,glsl,Cg) have a swizzle syntax, such that
 for a float3 v;   v.zyx  gives you float3(v.z,v.y,v.x).  And this
 works for all suffixes.   v.xxx, v.xzy, etc.  Also for different
 numbers of components.   eg.  v.xz is float2(v.x,v.z).
 
 --bb

swizzling is a neat example! I also have code that actually implements the 
visitor interface with stubs that print, throw or assert, but it's kind of 
hairy. 



Re: Code Poet, an IDE for D

2009-11-11 Thread Lutger
Jeremie Pelletier wrote:

 watching wrote:
 what a pityful sate d is in. this probably shows, that you can't use d
 for anything serious and by the time you guys are through discussing
 things, people will be using something different for good. too bad
 
 
 I really don't think so, the very purpose of this IDE I'm developing is
 to make D easier to use and develop large scale projects with.
 
 The only thing still in the way of using D with graphical applications
 right now is the lack of proper bindings to cross-platform GUI toolkits
 for D2.

Out of curiosity, did you consider GtkD and QtD?

Have you thought about how to do plugins / extensions already? Of all the 
best software I'm using it seems a large part comes from the extensions. 

I wish you all the best with this project, great to see something started 
again on this front. 


Re: DMD svn and contract inheritance

2009-10-06 Thread Lutger
Walter Bright wrote:

 Jason House wrote:
 With small commits to dmd, it should be trivial to know what small
 change in dmd caused a user observable change in behavior.
 
 The problem is, one doesn't know if it is a problem with the change or
 if it is a problem with the user code. To determine that requires
 working with and understanding the user code. It's just impractical for
 me to do that with a large base of code like that.

But you don't have to take the stance that no regressions may occur (for 
this very reason). 

I think automated builds + tests can be useful in different ways:
- the authors of the code can be notified and look at the problem. Some will 
care and help you spot bugs earlier or may fix their own code earlier. This 
is at no cost to you. Eventually, this task can perhaps be delegated 
completely?
- when a lot of stuff breaks, it is an indicator at least.
- while you may need a lot of investment to determine all problems, at least 
some category of problems you may recognize quickly.




Re: dmd 1.048 and 2.033 releases

2009-10-06 Thread Lutger
Walter Bright wrote:

 Don wrote:
 It's pretty standard, though. For example, there are some bugs which
 Visual C++ detects only when the optimiser is on. From memory, they are
 all flow-related. The MS docs recommend compiling a release build
 occasionally to catch them.
 
 
 The flow analysis could be run on every compile by default, but it would
 make for pretty slow turnaround.

Is it possible / reasonably to run flow analysis but still have a build that 
can be properly debugged? If yes, wouldn't it be nice to have it as a 
separate compiler option? Some people with build slaves, fast cpu's or 
smallish projects won't care that much for the performance. 


Re: dmd 1.048 and 2.033 releases

2009-10-05 Thread Lutger
Nick Sabalausky wrote:

 Walter Bright newshou...@digitalmars.com wrote in message
 news:hac8nb$26j...@digitalmars.com...
 Another OSX 10.5 release :-)

 Anyhow, this should work with gdb now, and has contract inheritance
 (finally).

 http://www.digitalmars.com/d/1.0/changelog.html
 http://ftp.digitalmars.com/dmd.1.048.zip


 http://www.digitalmars.com/d/2.0/changelog.html
 http://ftp.digitalmars.com/dmd.2.033.zip

 Many thanks to the numerous people who contributed to this update.
 
 Compiler now detects some cases of illegal null dereferencing when
 compiled with -O
 
 A bug-detection feature that's turned on with -O? I assume that's just a
 temporary situation and is related to either it currently being detected
 by the optimizer and the feature maybe being in a trial phase? Or maybe
 just a typo? ;)

Somewhere in the huge thread(s) on the topic Walter mentioned the optimizer 
does (some of) the required flow analysis, so presumably it needs to run in 
order for this to work.


Re: Descent, now with Open Type Hierarchy

2009-07-26 Thread Lutger
Just updated, this is such a great feature :) Since a couple of versions 
ago, Descent seems much more stable too, fortunately.

You made my day, thanks so much!





Re: Descent generated documentation

2009-07-11 Thread Lutger
*drools*

Some more wishes:

D2 support? 

Couple of minor suggestions for the aesthetics (this is a matter of taste 
too of course): 

- make the declarations stand out more, bold font or something.
- all the non-comments stuff should be in a different, monospace font
- parameters names in italic
- name of the module as the title of the html page

In general, I very much would love to see little javascript if at all, CSS 
for styling with use of div's (and CSS classes). This so that people could 
style it themselves easily (and contribute nice sheets?).

Oh, is it possible to detect overloads? You could add links to them (like  
with the class hierarchy) or group them together. Could it be done across 
modules? 

Last detail: small message at the bottom saying it was generated with 
descent at date so and so. 

Right, I'll stop for now :)











Re: Descent generated documentation

2009-07-10 Thread Lutger
Cool, can you do preconditions and class invariants too?




Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Lutger
Thanks everybody!



Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Lutger
bearophile wrote:

...
D does introduce another operator, the  :..case operator g.
 
 Unfortunately the brain of all people will see just .. as the operator
 there, and it has a different semantics there, it's a special case. I am
 not going to like this.

I don't think that will happen. After all, many brains got used to [..) and 
[..], this is not that different. In the context of case statements, an 
inclusive range is more intuitive. 
 
std.string: deprecated std.string.find and std.string.find, replaced with
std.string.indexOf; deprecated std.string.rfind and std.string.irfind,
replaced with std.string.lastIndexOf; added flag CaseSensitive for indexOf
and lastIndexOf; removed startsWith and endsWith because std.algorithm
defines them; defined std.string.byDchar.
 
 Replacing the simple to read, and easy to understand names find and
 rfind with indexOf and lastIndexOf that are longer and also have
 upper case letters in the middle looks doesn't look like an improvement.

indexOf and lastIndexOf are much more descriptive of what the function 
actually does, I think they are easier to understand.



Re: Diamond, a D Memory Debugger (and profiler) and thesis

2009-07-05 Thread Lutger
Vladimir Panteleev wrote:

 On Fri, 03 Jul 2009 12:06:05 +0300, Nick B nick.barbal...@gmail.com
 wrote:
 
 Vladimir Panteleev wrote:
 On Mon, 22 Jun 2009 10:55:37 +0300, Extrawurst s...@extrawurst.org
 wrote:

 Sounds great, is it possible to read the aforementioned thesis too ?
  I've been undecided whether I should post it online, for the reason
 that it was written for a committee of Moldavian professors who had no
 clue what a garbage collector is (not to mention having heard of D),
 and were definitely not going to read my thesis (just listen to the
 10-minute presentation)... Even though I did put some effort into it,
 it may have some inaccuracies. So please don't judge it too harshly :P
  Thesis:
 
http://thecybershadow.net/d/Memory_Management_in_the_D_Programming_Language.pdf
   Presentation (PowerPoint 2007, sorry):
 http://thecybershadow.net/d/Presentation.pptx


 Vladimir

 I would just like to thank you posting your thesis. It was an
 interesting and enjoyable read.

 regards
 Nick B.
 
 I'm glad you liked it, I guess my effort didn't go to waste after all :)
 

Surely not, I'm still reading it too. Don't forget that but a small 
percentage of readers will actually post feedback!



Re: ldc 0.9.1 released

2009-05-27 Thread Lutger
Great news, happy to see x86_64 on the feature list :)



Re: ldc 0.9.1 released

2009-05-27 Thread Lutger
Robert Clipsham wrote:
...
 I actually thought about giving this a try about a week ago. I managed 
 to get all but one file to compile with the current version of the D2 
 front end (2.021 I believe)... Not bad considering my (lack of) C/C++ 
 knowledge. If there's some interest for it I suppose I could give it 
 another shot and try to merge the latest front end, it'd be a good 
 chance for me to finally learn C/C++ (I made the delmistake/del 
 decision to learn D first... I found it too awesome to bother learning 
 the obviously inferior C/C++ :P).

I'm interested, for sure. 




Re: Taunting

2009-05-22 Thread Lutger
Ary Borenszweig wrote:

 http://www.youtube.com/watch?v=rtYCFVPfx4M

when is the next release, pretty please? :) 



Re: Descent 0.5.5 released

2009-05-21 Thread Lutger
Sweet, thank you!



Re: Split digitalmars.D newsgroup into .D and .D2 newsgroups?

2009-05-12 Thread Lutger
Walter Bright wrote:

 Tomas Lindquist Olsen wrote:
 I think it's a great idea, there's some decent arguments that they
 should have more general names, but I like the idea that you'd always
 know which group to look in for specific issues, even when we're at
 D4!
 
 I do have reservations about the idea, based on experience with all the 
 Digital Mars C++ newsgroups. There are too many, making for rather thin 
 traffic. It's tedious to check them all for new postings, which means 
 that that doesn't happen, and new postings often languish as a result.
 
 The main D n.g. gets a lot of action, which feeds on itself. I'm 
 reluctant to mess with success.

Similar to what Knud Soerensen suggested: 

Rename .learn to .programming and .d to .design or .future. 

And while we're at it: merge .dwt .gnu .ide .debugger into .tools or .toolchain 
or something like that.

That way you end up with even less newsgroups!






Re: Planet D is back

2009-05-09 Thread Lutger
Thank you for doing this. 



Re: Slide design

2009-05-07 Thread Lutger
Walter Bright wrote:

 Sean Kelly wrote:
 For lectures I basically have a choice between two options:
 
 1. Take notes and not remember a darn thing that was said.
 2. Not take any notes and remember the lecture.
 
 Eh, I found that the physical act of taking notes tended to fix it in my
 brain. Furthermore, at Caltech there tended to be no textbook and no
 handouts, so you went by your notes. Exams were open-note, too. So
 taking good notes was indispensible.

I have the same experience. Often I took notes but discarded them later. The 
act of writing things down helps to remember and focus on the important 
things, since you are forced to be selective. It takes a bit of practice to 
be able to listen attentively and write at the same time though. Some people 
just try to write everything down frantically even if they don't understand 
it - that just doesn't help.



Re: dmd 2.029 release

2009-04-22 Thread Lutger
Russell Lewis wrote:

...
 Case in point: I have been bitten by this perhaps half a dozen times 
 *already* porting older code.  This code used to work fine:
 
   writefln(The value is: %d, myVar, .  Do something!);
 
...

I bet a lot of to-be-ported D code will have this bug, I know my code will.  
When you want to print a format string this way - last argument(s) simply 
appended, it saves you two characters typing. When something saves any 
characters typing and produces the same result, programmers will do that. 




Re: dmd 2.029 release

2009-04-21 Thread Lutger
Daniel Keep wrote:

...
 -Lars
 
 The best bet for 64-bit D executables at this point is probably LDC;
 dunno what the current state is, though.
 
   -- Daniel

if you grep the dmd backend sources for x86_64, you'll get some results. 
Don't know what that means though, the source looks like magic to me!




Re: Descent 0.5.4 released

2009-01-27 Thread Lutger
How wonderful, thank you VERY much!

OT: I've found eclipse 3.4.x under 64-bit linux less than stable with 
descent, but the 3.5 stream release works pretty good so far. 



Re: Descent 0.5.3 released

2008-12-21 Thread Lutger
Thank you so much, I really appreciate this IDE. 

What would make me most happy, personally, is getting Descent to parse command 
line output from dmd and jump to errors in the source file. 

Next up the wishlist is actually building from Descent, but this is less 
important. Dsss support would be awesome too. 






Re: DMD 1.037 and 2.020 releases

2008-11-26 Thread Lutger
Great release, thank you!