Re: Immutable data not copied

2009-12-09 Thread Lutger
Tomek Sowiński wrote: const(FAQ) says: When doing a deep copy of a data structure, the invariant portions need not be copied. I'm trying to imagine what code would benefit from such optimization. immutable struct Large { whole lotta data... } struct Other { Large l; } void

Re: deprecating the body keyword

2009-12-08 Thread Lutger
retard wrote: Tue, 08 Dec 2009 14:59:10 -0800, Bill Baxter wrote: On Tue, Dec 8, 2009 at 2:11 PM, hehe45 a3161...@uggsrock.com wrote: I haven't been following the newgroup closely, so I don't know if this has already been discussed, but I wanted to make a few suggestions before D2 is

static arrays in C functions

2009-12-08 Thread Lutger
Since a while some extern(C) functions which take arrays seem to be broken. Can anybody clarify /confirm how they should be declared? For example I stumbled upon this: import core.sys.posix.unistd, std.stdio; void main() { int[2] fd; writeln( pipe(fd) ); // failes with errno == EFAULT

Re: static arrays in C functions

2009-12-08 Thread Lutger
Steven Schveighoffer wrote: On Tue, 08 Dec 2009 11:53:12 -0500, Bill Baxter wbax...@gmail.com wrote: On Tue, Dec 8, 2009 at 2:08 AM, Lutger lutger.blijdest...@gmail.com wrote: Since a while some extern(C) functions which take arrays seem to be broken. Can anybody clarify /confirm how

Re: lazy redux

2009-12-07 Thread Lutger
retard wrote: ... You surely understand that Walter doesn't have enough time to change this before the Andrei's book is out. So D2 won't be getting this. Besides, he hasn't even said that he likes the syntax. And D can't infer the types that way, you would need Foo ( (auto a, auto b) = a +

Re: dynamic classes and duck typing

2009-12-02 Thread Lutger
Leandro Lucarella wrote: I guess D can greatly benefit from a compiler that can compile and run a multiple-files program with one command (AFAIK rdmd only support one file programs, right?) and an interactive console that can get the ddoc documentation on the fly. But that's not very

Re: dynamic classes and duck typing

2009-12-02 Thread Lutger
Andrei Alexandrescu wrote: I'm amazed that virtually nobody uses rdmd. I can hardly fathom how I managed to make-do without it. Andrei rdmd is a life saver, I use it all the time.

Re: dynamic classes and duck typing

2009-12-01 Thread Lutger
grauzone wrote: Walter Bright wrote: dsimcha wrote: In Java, by going overboard on making the core language simple, you end up pushing all the complexity into the APIs. Yup, and that's the underlying problem with simple languages. Complicated code. I think users of scripting languages

Re: dynamic classes and duck typing

2009-12-01 Thread Lutger
Ary Borenszweig wrote: Denis Koroskin wrote: On Tue, 01 Dec 2009 15:05:16 +0300, Ary Borenszweig a...@esperanto.org.ar wrote: Ary Borenszweig wrote: retard wrote: Tue, 01 Dec 2009 03:16:47 -0800, Walter Bright wrote: Ary Borenszweig wrote: Can you show examples of points 2, 3 and 4?

Re: dynamic classes and duck typing

2009-12-01 Thread Lutger
Bill Baxter wrote: On Tue, Dec 1, 2009 at 5:38 AM, Bill Baxter wbax...@gmail.com wrote: On Tue, Dec 1, 2009 at 5:18 AM, Lutger lutger.blijdest...@gmail.com wrote: Ary Borenszweig wrote: Denis Koroskin wrote: On Tue, 01 Dec 2009 15:05:16 +0300, Ary Borenszweig a...@esperanto.org.ar wrote

Re: dynamic classes and duck typing

2009-11-29 Thread Lutger
Walter Bright wrote: And here it is (called opDispatch, Michel Fortin's suggestion): http://www.dsource.org/projects/dmd/changeset?new=trunk%2f...@268old=trunk%2f...@267 holy duck, that is quick!

Re: dynamic classes and duck typing

2009-11-29 Thread Lutger
biozic wrote: Le 29/11/09 13:16, Michel Fortin a écrit : On 2009-11-29 06:14:21 -0500, Simen kjaeraas simen.kja...@gmail.com said: That is because your opDispatch is instantiated no matter what the name is, but only does something sensible if it's foo. Try this: string opDispatch( string

Re: dynamic classes and duck typing

2009-11-29 Thread Lutger
Denis Koroskin wrote: On Sun, 29 Nov 2009 16:02:24 +0300, Lutger lutger.blijdest...@gmail.com *snip* If you want to resolve the symbol at runtime I think you can get a better error message for throwing an exception or assertion. I don't have the svn dmd, so this isn't tested: void

Re: Should pure nothrow --- @pure @nothrow ?

2009-11-28 Thread Lutger
Don wrote: Ary Borenszweig wrote: Don wrote: #ponce wrote: Definitely. And what about @deprecated and @override? As override is now required, i don't think it should be an attribute. As I understand it, one of the characteristics of attributes is that you should be able to remove them

Re: Question about contracts on methods.

2009-11-28 Thread Lutger
Peter C. Chapin wrote: Hi! I'm rather new to D and I'm experimenting with its support for contracts. I'm using dmd v1.51 on Windows. Whenever I learn a new language I usually start by implementing a few classic components to get a feeling for how the language's features work in a

Re: The great slice debate -- should slices be separated from arrays?

2009-11-24 Thread Lutger
Just to clarify, is it true that stomping over mutable arrays is covered by the spec (currently), but stomping immutable arrays is classified as a bug? I was very surprised by this.

Re: why can't structs implement interfaces?

2009-11-24 Thread Lutger
Saaa wrote: struct S : Pos {} Why is this not possible? Because structs are meant to be value types and thus do not implement dynamic polymorphism, which is what interfaces are used for. It is not necessary though, classes in C++ are almost the same as structs for example, but there

Re: why can't structs implement interfaces?

2009-11-24 Thread Lutger
Bill Baxter wrote: On Tue, Nov 24, 2009 at 2:49 PM, Saaa em...@needmail.com wrote: bearophile wrote: Moritz Warning: If you only what a contract that certain functions are implemented, then it just need to be implemented in the compiler frontend. In the meantime this can be done with a

Re: Short list with things to finish for D2

2009-11-23 Thread Lutger
yigal chripun wrote: aarti_pl Wrote: ... There's nothing more hideous than all those frameworks in Java/C++ that try to re-enginer SQL into functions, templates, LINQ, whatever. SQL *is* a perfectly designed language for its purpose and it doesn't need to be redisnged! The only problem

Re: Class/Interface Modeling of Ranges

2009-11-21 Thread Lutger
dsimcha wrote: ... 3. Can we simplify this by using runtime exceptions instead of compile time errors for some of this stuff? For example, every range would have a hasLength() method and a length() method. If hasLength() is false, length() would throw. Though this sacrifices compile

Re: And what will we do about package?

2009-11-21 Thread Lutger
Don wrote: To quote bugzilla 143: 'package' does not work at all But even if worked as advertised, it'd still be broken. Although it's a really useful concept that works great in Java, the existing 'package' doesn't fit with D's directory-based module system. As I see it, the problem is

Re: Short list with things to finish for D2

2009-11-21 Thread Lutger
Chad J wrote: Andrei Alexandrescu wrote: grauzone wrote: Also, you should fix the auto-flattening of tuples before it's too late. I think everyone agrees that auto-flattening is a bad idea, and that tuples should be nestable. Flattening can be done manually with an unary operator.

Re: Short list with things to finish for D2

2009-11-20 Thread Lutger
Andrei Alexandrescu wrote: Kyle wrote: Andrei Alexandrescu Wrote: 6. There must be many things I forgot to mention, or that cause grief to many of us. Please add to/comment on this list. Uniform function call syntax. It's in the book. I'm adding this message as a reminder to add a

Re: version() abuse! Note of library writers.

2009-11-18 Thread Lutger
Travis Boucher wrote: ... May I suggest to put these notes in Wiki4D so they don't get lost in the flood of postings?

Re: Should the comma operator be removed in D2?

2009-11-16 Thread Lutger
dsimcha wrote: == Quote from Justin Johansson (n...@spam.com)'s article Mentioned in the switch case statements thread, this probably should be a separate discussion thread. Is the comma operator another piece of C cruft that needs to be removed from D(2)? grauzone wrote: Justin

Re: Should the comma operator be removed in D2?

2009-11-16 Thread Lutger
dsimcha wrote: == Quote from Lutger (lutger.blijdest...@gmail.com)'s article ... int a = 1; int b = --a, ++a; assert(b == 1); assert(a == 1); Axe. Looks like the only things it's good for are making code undreadable and abusing for loop syntax to... Make code unreadable. When

Re: Should the comma operator be removed in D2?

2009-11-16 Thread Lutger
Jason House wrote: Lutger Wrote: dsimcha wrote: == Quote from Justin Johansson (n...@spam.com)'s article Mentioned in the switch case statements thread, this probably should be a separate discussion thread. Is the comma operator another piece of C cruft that needs to be removed

Re: Walter gets no credit?

2009-11-15 Thread Lutger
Marco A wrote: InformIT News Andrei Alexandrescu, author of The D Programming Language, provides a fresh perspective on iteration Sorry Andrei you are just a contributor in my book ask InformIT to clarify The title is misleading, but 'The D programming language' refers to his

Re: How about Go's... error on unused imports?

2009-11-13 Thread Lutger
Justin Johansson wrote: No, sorry I am not informed on D's policy about warnings Exactly. Ever wondered why that is? The policy is: there are no warnings.

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

Re: [Bikeshed] getter/readonly mixin util with private/protected backing

2009-11-12 Thread Lutger
Nick Sabalausky wrote: In my SemiTwist D Tools project ( http://www.dsource.org/projects/semitwist ), I have a util mixin to DRY-ly create a publically-readonly property with backing storage (actually, I've had it for awhile, but I've been toying with it again recently). 1. It can

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

Re: CPAN for D

2009-11-11 Thread Lutger
Clay Smith wrote: Bill Baxter wrote: On Tue, Nov 10, 2009 at 3:08 PM, Walter Bright newshou...@digitalmars.com wrote: http://www.reddit.com/r/programming/comments/a2nfz/guido_people_want_cpan/ http://search.cpan.org/ Over and over, I hear that CPAN is one of the great reasons people use

Re: On Iteration

2009-11-10 Thread Lutger
Andrei Alexandrescu wrote: I consider changing a bit D's range model following the better understanding reflected in this article: http://erdani.com/publications/on-iteration.html If you have any thoughts and if you can help with the implementation, please let us know. Andrei I

Re: Semantics of toString

2009-11-10 Thread Lutger
Justin Johansson wrote: Lutger Wrote: Justin Johansson wrote: I assert that the semantics of toString or similarly named/purposed methods/functions in many PL's (including and not limited to D) is ill-defined. To put this statement into perspective, I would be most appreciative

Re: Semantics of toString

2009-11-10 Thread Lutger
Don wrote: ... There is a definite use for such as thing. But the existing toString() is much, much worse than useless. People think you can do something with it, but you can't. eg, people have asked for BigInt to support toString(). That is an over-my-dead-body. Since you are in the know

Re: SIMD/intrinsincs questions

2009-11-10 Thread Lutger
Walter Bright wrote: Don wrote: I'd say it's not a problem to use MMX or even SSE1. It's really, really difficult to find a processor that doesn't support them. I've tried. I've really tried. I don't think many are still around: they all have motherboards which require really small hard

Re: scope(exit) considered harmful

2009-11-08 Thread Lutger
Justin Johansson wrote: ... If scope(exit) is meant to be some mechanism for saving try/finally boiler-plate code, it is a can of worms, otherwise it is a can of i-dont-know-what-it's-good-for. It is that, but also used where you could otherwise use RAII a la C++. To my way of thinking,

Re: SIMD/intrinsincs questions

2009-11-08 Thread Lutger
Mike Farnsworth wrote: ... Of course, there are some operations that the available SSE intrinsics cover that the compiler can't expose via the typical operators, so those still need to be supported somehow. Does anyone know if ldc or dmd has those, or if they'll optimize away SSE loads and

Re: Semantics of toString

2009-11-08 Thread Lutger
Justin Johansson wrote: ... So what does toString mean to you? Whatever you got, give it to me as a string for my printf debugging while my debugger is broken.

Re: Semantics of toString

2009-11-08 Thread Lutger
Justin Johansson wrote: I assert that the semantics of toString or similarly named/purposed methods/functions in many PL's (including and not limited to D) is ill-defined. To put this statement into perspective, I would be most appreciative of D NG readers responding with their own idea(s)

Re: Grokking ranges: some new algorithms and ranges

2009-11-02 Thread Lutger
Philippe Sigaud wrote: On Mon, Nov 2, 2009 at 00:47, Walter Bright newshou...@digitalmars.comwrote: ... What you're doing is great fodder for an article. Care to write one? You know, I'm pretty sure my code is no so good to look at. As I said, I'm no professional coder. I guess if all

Re: Proposal: Replace __traits and is(typeof(XXX)) with a 'magic namespace'.

2009-11-02 Thread Lutger
This would help so much, I do hope it will make it in D2.

Re: Proposal: Replace __traits and is(typeof(XXX)) with a 'magic namespace'.

2009-11-02 Thread Lutger
Andrei Alexandrescu wrote: Don wrote: [I'm moving this from deep inside a TDPL thread, since I think it's important] is(typeof(XXX)) is infamously ugly and unintuitive __traits(compiles, XXX) is more comprehensible, but just as ugly. They are giving metaprogramming in D a bad name. I

Re: Grokking ranges: some new algorithms and ranges

2009-11-02 Thread Lutger
Philippe Sigaud wrote: On Mon, Nov 2, 2009 at 18:20, Lutger lutger.blijdest...@gmail.com wrote: If you're up to it, something like a 'post-mortem' style article about your experiences would be very interesting! You mean like How I came to love templates or Trying to be fun(ctional

Re: More PC Precision Stuff

2009-10-29 Thread Lutger
dsimcha wrote: I've gotten underway hacking the GC to add precise heap scanning, but I thought of one really annoying corner case that really would make things an order of magnitude more complicated if it were handled properly: Structs and classes that have large static arrays embedded.

Re: Restricting ++ and --

2009-10-25 Thread Lutger
bearophile wrote: This post is born from a bug I've just removed. In the past I have read more than one C coding standard (or better, lists of coding tips) that warn against bugs caused by ++ and --. They suggest to not use them compound in expressions. They allow to use them when alone on

Re: Automatic getter/setter generation

2009-10-22 Thread Lutger
Saaa wrote: I was thinking about using a template which would generate a variable and its getters/setters automatically. Something like this: mixin var!(int,_name,rwr-); // private int _name // public int name(){return _name}; // protected void name(int value){_name=value}; What do

Re: Automatic getter/setter generation

2009-10-22 Thread Lutger
Lutger wrote: ... mixin var!(DefaultImplementation(int, _name) mixin var!(LoggingImplementation(int, _name) mixin var!(UndoRedoImplementation(int, _name) Sorry, these would be: mixin var!(UndoRedoImplementation, int, _name) etc. where UndoRedoImplementation is an alias

Re: Communicating between in and out contracts

2009-10-17 Thread Lutger
Andrei Alexandrescu wrote: Lutger wrote: snip What is the benefit of variants here? Maybe I'm missing something, it just seems a little verbose and lose out on the type system (IDE support and such). Wouldn't it also tie the variant type to the language or is that not a problem

Re: dmd support for IDEs and the D tool chain

2009-10-17 Thread Lutger
Jacob Carlborg wrote: ... GtkD doesn't use native controls, DFL is only for windows (last I checked). Sure. But think of it this way: GtkD *is* the native controls (for Gnome), only they are also usable on other platforms. Same way QT *is* native for the KDE platform. (except QT does use

Re: dmd support for IDEs and the D tool chain

2009-10-17 Thread Lutger
language_fan wrote: Sat, 17 Oct 2009 10:22:55 +0800, Eric Suen thusly wrote: Does Walter Bright use D for any projects himself? He makes nice html presentations of the language, demonstrating small code snippets. They are sometimes available online :S DMDscript, the garbage collector,

Re: 64-bit

2009-10-17 Thread Lutger
Currently: LDC is a mature compiler that does linux 64 bit well, but is not available for D2, the 'alpha' branch of the language and also doesn't work on windows. The outdated compiler you speak of would probably be GDC, this project has recently been revived. The is no 64-bit dmd yet. At the

Re: 64-bit

2009-10-17 Thread Lutger
dsimcha wrote: == Quote from Lutger (lutger.blijdest...@gmail.com)'s article Currently: LDC is a mature compiler that does linux 64 bit well, but is not available for D2, the 'alpha' branch of the language and also doesn't work on windows. The outdated compiler you speak of would probably

Re: bug fix is slower

2009-10-17 Thread Lutger
Nick Sabalausky wrote: dolive doliv...@sina.com wrote in message news:hbcrm9$fo...@digitalmars.com... bug fix is slower,should speed up the progress, fix more than 200 a month. Very much looking forward to, thanks all ! Thank you. We had previously thought that fixing as few bugs as

Re: T[new] misgivings

2009-10-16 Thread Lutger
Just to understand it: int[new] a; int[new] b; a = [1,2,3]; b = a; In your book, the last statement would copy contents of a into b and b.ptr != a.ptr while according to walter, b would rebind to a?

Re: dmd support for IDEs and the D tool chain

2009-10-16 Thread Lutger
Jacob Carlborg wrote: Here is my thoughts and what I think is needed to build a really good IDE and maybe get some attention from the enterprise. It's really not enough for the compiler to output some json for an IDE to use, the whole tool chain needs to be revised. I think this list is what

Re: Communicating between in and out contracts

2009-10-16 Thread Lutger
Denis Koroskin wrote: On Sat, 17 Oct 2009 00:54:51 +0400, Denis Koroskin 2kor...@gmail.com wrote: On Sat, 17 Oct 2009 00:28:55 +0400, Denis Koroskin 2kor...@gmail.com wrote: On Sat, 17 Oct 2009 00:22:54 +0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Jason House wrote:

Re: Get name of alias parameter at compile time?

2009-10-15 Thread Lutger
Denis Koroskin wrote: On Thu, 15 Oct 2009 18:22:37 +0400, dsimcha dsim...@yahoo.com wrote: Jacob Carlborg Wrote: On 10/14/09 06:36, dsimcha wrote: Is there a way to get the name of an alias parameter at compile time? For example: void doStuff() { // Do stuff. } void

Re: Get name of alias parameter at compile time?

2009-10-15 Thread Lutger
Bah, I replied too soon. These also work, makes sense now I think about it: void doStuff(int a ) {} void templ(alias fun)() { writeln( (fun).stringof[2..$] ); // prints doStuff (really) writeln( fun(int.init).stringof ); // prints doStuff(0) }

Re: Get name of alias parameter at compile time?

2009-10-15 Thread Lutger
dsimcha wrote: Yeah, now that I look into it further, what you describe is exactly the problem. The obvious way only works for functions w/o parameters. I simplified my example before I posted it and never bothered to test it. See my reply to my reply (sorry!) for a better way to make it

Re: Get name of alias parameter at compile time?

2009-10-15 Thread Lutger
Jacob Carlborg wrote: ... Oh, that problem. Just use a function pointer and get the name of that instead, like this: http://www.dsource.org/projects/dstep/browser/dstep/internal/Traits.d (functionNameOf at line 17) Right, good to know LDC does get it right. I found one bugzilla report

Re: Communicating between in and out contracts

2009-10-14 Thread Lutger
Between sharing the whole object and sharing scope lies specifying exactly what to share, I'd think. Here is one possible syntax, like regular function calls. Parameter types can possibly be inferred and omitted: void push(T value); in { out(length()); } out(size_t oldLength) {

Re: Communicating between in and out contracts

2009-10-14 Thread Lutger
Andrei Alexandrescu wrote: Lutger wrote: Between sharing the whole object and sharing scope lies specifying exactly what to share, I'd think. Here is one possible syntax, like regular function calls. Parameter types can possibly be inferred and omitted: void push(T value); in { out

Re: dmd support for IDEs

2009-10-13 Thread Lutger
Ary Borenszweig wrote: language_fan wrote: Practical languages have lots of boiler-plate, and I can easily generate hundreds of lines of code with a couple of key combinations or mouse clicks. Can you give some examples? I can only think of some that generate some lines of code, not

Re: Getting overloads of free functions

2009-10-13 Thread Lutger
Christopher Wright wrote: Lutger wrote: Probably has been discussed before but I couldn't figure it out: Is it possible to retrieve the signatures of overloaded functions (not virtuals) at compile time? No. You can't even get all the overloads of class methods at compile time (only non

Getting overloads of free functions

2009-10-12 Thread Lutger
Probably has been discussed before but I couldn't figure it out: Is it possible to retrieve the signatures of overloaded functions (not virtuals) at compile time?

Re: dmd support for IDEs

2009-10-11 Thread Lutger
digited wrote: Walter Bright �: The nice thing about an xml file is while D is relatively easy to parse, xml is trivial. Why file? An IDE can call compiler process and get output with info from stdout, that will be much faster, and if IDE will need to store the info, it will, or will

Re: dmd support for IDEs

2009-10-11 Thread Lutger
Walter Bright wrote: ... Think of what it provides as very similar to what ddoc does, except that instead of being in a human-readable format it would be a machine-readable one. In other words, for each module you'll be able to get . all the symbols in that module, and the members of

Re: Phobos.testing

2009-10-11 Thread Lutger
Andrei Alexandrescu wrote: ... I'm all for accepting additions to Phobos, and for putting in place a process to do so. I suggest we follow a procedure used to great effect by Boost. They have a formal process in place that consists of a preliminary submission, a refinement period, a

Re: dmd support for IDEs

2009-10-11 Thread Lutger
language_fan wrote: Sat, 10 Oct 2009 18:19:56 -0700, Walter Bright thusly wrote: In my discussions with companies about adopting D, the major barrier that comes up over and over isn't Tango vs Phobos, dmd being GPL, debugger support, libraries, bugs, etc., although those are important.

Re: dmd support for IDEs

2009-10-11 Thread Lutger
BLS wrote: ... Our Options : 1) Force Decent.. (Java/SWT) 2) Use gtkD, create the IDE in D. (the only usable platform independent GUI atm.) 3) Use QT and C++. Let's re-use and adapt QT Creator. Having QT as standard GUI toolkit for D means that we can also reuse the QT Designer.

Re: dmd support for IDEs

2009-10-11 Thread Lutger
Jacob Carlborg wrote: ... As far as I know neither Qt(d) or gtkD uses native controls on platforms other than linux, which to me is unacceptable. The look especially on mac. Qt used to try and look like native controls, but now it uses them directly.

Re: CTFE vs. traditional metaprogramming

2009-10-09 Thread Lutger
Jarrett Billingsley wrote: The second someone suggests parsing D code with CTFE, I'm out of here. I mean I'm leaving the community. Period. Here, for you: http://www.addletters.com/pictures/bart-simpson-generator/bart-simpson- generator.php?line=I+will+not+parse+D+code+with+CTFE!

Re: Use of first person in a book

2009-10-08 Thread Lutger
Andrei Alexandrescu wrote: So I thought I'd ask a candid question in here. How do you feel about moderate use of the first person in a technical book? Do you find it comfortable, neutral, or cringeworthy? Andrei Comfortable, as long as you're not writing a Head First book. Avoiding first

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

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

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

Re: Is there a way to get the size of a class object statically?

2009-10-05 Thread Lutger
Andrei Alexandrescu wrote: I figured out a way to get the offsetof any member statically: class A { char a; int b; char c; } void main() { int[A.init.a.offsetof] x; } Unfortunately, I can't figure a way to get the class' size statically. This doesn't work:

Re: null references redux + Looney Tunes

2009-10-04 Thread Lutger
language_fan wrote: On Sat, 03 Oct 2009 16:39:29 -0400, Justin Johansson wrote: People might remember that when I picked up D and joined this forum just some 3 or so weeks ago I made mention of being a Scala refugee.*** When asked what I didn't like about Scala I commented about there

Re: null references redux + Looney Tunes

2009-10-04 Thread Lutger
Forget to qualify my reply: I don't know Scala so you might as well be right and I do not mean to say that D isn't a complex language.

Re: What does Coverity/clang static analysis actually do?

2009-10-01 Thread Lutger
Walter Bright wrote: Nick Sabalausky wrote: Walter Bright newshou...@digitalmars.com wrote in message 2. possible dereference of NULL pointers (some reaching definitions of a pointer are NULL) 2. Optimizer collects the info, but ignores this, because people are annoyed by false positives.

Re: Should certain abstract classes be instantiable?

2009-10-01 Thread Lutger
Andrei Alexandrescu wrote: Jeremie Pelletier wrote: Andrei Alexandrescu wrote: Consider: class A { abstract void fun() {} } The class defines a function that is at the same time abstract (so it requires overriding in derivees) and has implementation. Currently the compiler

Re: Interesting GCC extensions

2009-09-28 Thread Lutger
bearophile wrote: Beside the known ones, like computed gotos and __builtin_expect(), GCC has other less known extensions, you can find some of them here: http://www.ibm.com/developerworks/linux/library/l-gcc-hacks/ They are used by Linux. If D wants to be a system language, such small

Re: Interesting GCC extensions

2009-09-28 Thread Lutger
bearophile wrote: Lutger: We don't need an extension for this! Look: template Eval(string exp) { enum Eval = mixin(exp); } template IsConstant(string exp) { enum IsConstant = __traits(compiles, Eval!exp); } From what I see I think your code is useless for my purposes

Re: Interesting GCC extensions

2009-09-28 Thread Lutger
Lutger wrote: bearophile wrote: Lutger: We don't need an extension for this! Look: template Eval(string exp) { enum Eval = mixin(exp); } template IsConstant(string exp) { enum IsConstant = __traits(compiles, Eval!exp); } From what I see I think your code is useless

Re: Null references redux

2009-09-27 Thread Lutger
Nick Sabalausky wrote: Walter Bright newshou...@digitalmars.com wrote in message ... You're acting as if handling failures safely and minimizing failures were mutually exclusive. Not that I have an opinion on this either way, but if I understand Walter right that is exactly his point

Re: Null references redux

2009-09-27 Thread Lutger
BCS wrote: Hello Lutger, The answer may depend on [...] the habits of the 'programmers' in question, I don't know. If you can't trust the programmer to write good code, replace them with someone you can trust. There will never be a usable language that can take in garbage and spit

Re: The Non-Virtual Interface idiom in D

2009-09-27 Thread Lutger
I think this is great, especially fine to see final methods in interfaces. Looks a bit like aspect oriented programming. Just wanted to add that it's not always *only* a benefit. Like with template method, flow of control may be a bit more complicated for the people who do the overriding. But

Re: Dispatching on a variant

2009-09-26 Thread Lutger
Justin Johansson wrote: ... I've got about 2 dozen types in the variant so the O(n) really hurts. The variant thing seemed like a really cool idea at the time but now ... Without something like suggested above or a computed goto on typeid or Andrei's visitator, it almost pushes me to

Re: Pure dynamic casts?

2009-09-26 Thread Lutger
language_fan wrote: Fri, 25 Sep 2009 17:59:06 -0600, Rainer Deyke thusly wrote: Software is priced to optimize total income, which is net income per unit times number of units sold. Production costs are not factored in at all. So the real question is if your $50 software package sells

Re: Rich Hickey's slides from jvm lang summit - worth a read?

2009-09-24 Thread Lutger
Walter Bright wrote: Executive summary: pure functions and immutable data structures help manage program complexity. I think so too, but you left out the time and identity part related to stm and multiversion concurrency. You could argue these notions are a possible consequence of

Re: Does dmd have SSE intrinsics?

2009-09-22 Thread Lutger
Jeremie Pelletier wrote: ... Why would you declare void variables? The point of declaring typed variables is to know what kind of storage to use, void means no storage at all. The only time I use void in variable types is for void* and void[] (which really is just a void* with a length).

Re: How Nested Functions Work, part 2

2009-09-21 Thread Lutger
language_fan wrote: ... Computer science (or computing science) is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. I am not talking about getting a degree from some university.

Re: How Nested Functions Work, part 2

2009-09-20 Thread Lutger
language_fan wrote: Sun, 20 Sep 2009 01:09:56 +, language_fan thusly wrote: Sat, 19 Sep 2009 11:44:33 -0700, Walter Bright thusly wrote: Lutger wrote: Cool article, I posted a comment. Reddit seems to be going downhill fast though, it's even worse than slashdot. I know

Re: Rich Hickey's slides from jvm lang summit - worth a read?

2009-09-20 Thread Lutger
Hell yeah, super interesting! Also extremely well presented. I found the conclusion of the presentation on youtube, anybody knows if the full presentation is (or will be) on the internet? http://www.youtube.com/watch?v=zRTx1oGG_1Yfeature=channel_page

Re: How Nested Functions Work, part 2

2009-09-19 Thread Lutger
Cool article, I posted a comment. Reddit seems to be going downhill fast though, it's even worse than slashdot. Are locally instantiated templates used in phobos?

Re: Elliotte Rusty Harold's take on Java

2009-09-17 Thread Lutger
Yigal Chripun wrote: On 17/09/2009 16:15, Justin Johansson wrote: making primitives full objects is the right design and has nothing to do with bloat which just means the implementation sucks. consider: struct Integer(int bits, signed = true) {...} with specializations for 8, 16, 32, 64

Re: Non-moving generational GC [was: Template Metaprogramming Made Easy (Huh?)]

2009-09-16 Thread Lutger
Jeremie Pelletier wrote: ... I just posted my memory manager to pastebin: http://pastebin.com/f7459ba9d I gave up on the generational feature, its indeed impossible without write barriers to keep track of pointers from old generations to newer ones. I had the whole tracing algorithm done

Re: Writing a language parser in D

2009-09-15 Thread Lutger
APaGeD can do LL parsers: http://apaged.mainia.de/ There is a fork: http://www.dsource.org/projects/apaged2 Not a recommendation perse, but just wanted to mention it as an option.

<    1   2   3   4   5   6   7   >