Re: Implicit enum conversions are a stupid PITA

2010-03-25 Thread grauzone
Walter Bright wrote: Nick Sabalausky wrote: To put it simply, I agree with this even on mere principle. I'm convinced that the current D behavior is a blatant violation of strong-typing and smacks way too much of C's so-called "type system". You're certainly not the first to feel this way abo

Re: Ranges and/versus iterators

2010-03-23 Thread grauzone
Andrei Alexandrescu wrote: On 03/23/2010 04:06 PM, grauzone wrote: Steven Schveighoffer wrote: A while back, you identified one of the best interfaces for input ranges: E* getNext(); Which allows for null returns when no data is left. The drawback is that E must be either referenced or

Re: Ranges and/versus iterators

2010-03-23 Thread grauzone
Steven Schveighoffer wrote: A while back, you identified one of the best interfaces for input ranges: E* getNext(); Which allows for null returns when no data is left. The drawback is that E must be either referenced or allocated on the heap (providing storage to the function is an option).

Re: Can we drop casts from float to bool?

2010-03-23 Thread grauzone
Don wrote: In D some people have proposed to change the semantics of the "is" operator, to make it more useful and tidy, so if you want to know if x is a NaN you can then write if(x is nan). That won't work in this case, unless you make nan a keyword. There are 2^^62 different NaNs, so a bitwis

Re: trouble getting started with D

2010-03-18 Thread grauzone
bearophile wrote: Andrew Marlow: Well, thanks for that, at least I know now. But I am a bit peeved. What is the point in calling something 'std' if it is not standard. I am used to 'std' meaning 'it comes with the compiler environment'. Please, ask questions like those ones on the learn news

Re: T.init for static arrays?

2010-03-13 Thread grauzone
Walter Bright wrote: Currently, given an array: alias T[3] A; A a; the default initializer for A, A.init, is T.init. It is done this way for memory efficiency, as: a = A.init; doesn't need to create an array for the rvalue. But it does cause generic programming problems, especiall

Re: functional

2010-03-11 Thread grauzone
Walter Bright wrote: The fact is, people *do* have major problems with concurrent programming. Sharing of mutable state is a large generator of these problems, and I don't think we can wish it away or blame the programmer. I didn't advocate sharing of mutable state.

Re: functional

2010-03-10 Thread grauzone
Walter Bright wrote: grauzone wrote: Data this small you would simply copy. Because it's so small, copying won't have negative performance impact. The OS approach can be used for large data (at least in the order of hundreds of KB) and immutable parts of the data segment. You'

Re: functional

2010-03-10 Thread grauzone
Andrei Alexandrescu wrote: On 03/10/2010 07:07 PM, grauzone wrote: Andrei Alexandrescu wrote: On 03/10/2010 06:47 PM, grauzone wrote: Andrei Alexandrescu wrote: On 03/10/2010 06:06 PM, grauzone wrote: Andrei Alexandrescu wrote: On 03/10/2010 05:01 PM, grauzone wrote: Andrei Alexandrescu

Re: functional

2010-03-10 Thread grauzone
Andrei Alexandrescu wrote: On 03/10/2010 06:47 PM, grauzone wrote: Andrei Alexandrescu wrote: On 03/10/2010 06:06 PM, grauzone wrote: Andrei Alexandrescu wrote: On 03/10/2010 05:01 PM, grauzone wrote: Andrei Alexandrescu wrote: There's one final nail in the coffin. In wake of concur

Re: functional

2010-03-10 Thread grauzone
Andrei Alexandrescu wrote: On 03/10/2010 06:06 PM, grauzone wrote: Andrei Alexandrescu wrote: On 03/10/2010 05:01 PM, grauzone wrote: Andrei Alexandrescu wrote: There's one final nail in the coffin. In wake of concurrency, de jure immutability becomes a necessity, not a useful and desi

Re: [OT] Thunderbird 3 vs. 2

2010-03-10 Thread grauzone
Andrei Alexandrescu wrote: The kick-off meeting for Thunderbird 3: "Thunderbird 2 is quite sluggish, has poor asynchronous execution of tasks, poor focus control, and annoying modal dialogs on error. What do we do for version 3?" ... The main reason why I went back to Thunderbird 2 is that

Re: functional

2010-03-10 Thread grauzone
Andrei Alexandrescu wrote: On 03/10/2010 05:01 PM, grauzone wrote: Andrei Alexandrescu wrote: There's one final nail in the coffin. In wake of concurrency, de jure immutability becomes a necessity, not a useful and desirable de facto convention. Adopting the window dressing but not the es

Re: any tool to at least partially convert C++ to D (htod for source

2010-03-10 Thread grauzone
Ellery Newcomer wrote: I hate the restriction on modules with static constructors and cyclic dependencies. IMO it's the most patronizing 'feature' D has. A year or so ago I ran into this issue during my first (and last) big project in D. Just last week I started working on it again and replaced

Re: functional

2010-03-10 Thread grauzone
Andrei Alexandrescu wrote: There's one final nail in the coffin. In wake of concurrency, de jure immutability becomes a necessity, not a useful and desirable de facto convention. Adopting the window dressing but not the essence of FP by a concurrent language evokes to me a scene in the Marx Bro

Re: Is D a cult?

2010-03-08 Thread grauzone
Walter Bright wrote: grauzone wrote: Again, I can't understand. Does the compiler rely that tuples have the same byte layout as structs or function arguments? I thought the compiler could just copy all fields. And the backend can already return multiple values, since it can return struct

Re: Is D a cult?

2010-03-08 Thread grauzone
bearophile wrote: grauzone: That aside, I'm also glad that you acknowledge that current tuples are not perfect and need improvement. I agree. It's probably already too late to fix them,< It isn't. D2 is pretty much finalized now. The discussion (i.e. bikeshedding)

Re: Is D a cult?

2010-03-08 Thread grauzone
Walter Bright wrote: grauzone wrote: Walter Bright wrote: bearophile wrote: Walter Bright: There are significant technical problems with having functions return tuples.< A possibly stupid question: isn't it enough to return a custom struct? No, because of the alignment mismatc

Re: Empty array literals

2010-03-08 Thread grauzone
Lutger wrote: Michael Rynn wrote: That IS what Walter thinks, actually. It's being moved to libraries (which is why there have been some nasty AA regressions in the past few compiler releases :-( ). Sounds good. So the source is in druntime? Does that mean I can find out how to implement opIn

Re: Is D a cult?

2010-03-08 Thread grauzone
Walter Bright wrote: bearophile wrote: Walter Bright: There are significant technical problems with having functions return tuples.< A possibly stupid question: isn't it enough to return a custom struct? No, because of the alignment mismatches with other uses of tuples. I don't understand

Re: An example of Clang error messages

2010-03-04 Thread grauzone
Walter Bright wrote: bearophile wrote: Walter Bright: Yeah, I wrote a C++ compiler back in 1987. It compiled itself, too! The hard work of implementing C++ correctly was just beginning, though. C'mon Walter, give them some credit, wish them some luck, I think they will be able to compile a go

Re: Feature suggestion: in-place append to array

2010-03-04 Thread grauzone
Steven Schveighoffer wrote: On Thu, 04 Mar 2010 12:43:32 -0500, grauzone wrote: Steven Schveighoffer wrote: On Thu, 04 Mar 2010 11:43:27 -0500, grauzone wrote: Some sort of "resetAndReuse" function to clear an array, but enabling to reuse the old memory would be nice: int[] a

Re: Feature suggestion: in-place append to array

2010-03-04 Thread grauzone
Steven Schveighoffer wrote: On Thu, 04 Mar 2010 11:43:27 -0500, grauzone wrote: Some sort of "resetAndReuse" function to clear an array, but enabling to reuse the old memory would be nice: int[] a = data; a = null; a ~= 1; //reallocates (of course) a.length = 0; a ~= 1; //will

Re: Feature suggestion: in-place append to array

2010-03-04 Thread grauzone
Steven Schveighoffer wrote: On Thu, 04 Mar 2010 04:02:46 -0500, KF wrote: I hope this is the right place to post it. In my work, I often need to add elements at the end of dynamic arrays and remove them from the end. This incremental changes would most conveniently be performed by a~=e for ad

Re: A rationale for pure nothrow ---> @pure @nothrow (and nothing

2010-02-27 Thread grauzone
bearophile wrote: grauzone: Apparently, this attribute syntax makes no sense at all. I suggest we simply remove it and use normal keywords instead. Currently D2 attributes are not necessary, they can be replaced by keywords, but keywords don't scale if you want to define many new attr

Re: A rationale for pure nothrow ---> @pure @nothrow (and nothing else changes)

2010-02-27 Thread grauzone
Don wrote: We'll need compile-time reflection for all attributes. This can lead us to a rationale for which attributes are keywords, and which are @attributes. Apparently, this attribute syntax makes no sense at all. I suggest we simply remove it and use normal keywords instead.

Re: Array literals MUST be immutable.

2010-02-19 Thread grauzone
Steven Schveighoffer wrote: Don wants to make array literals immutable; that means you couldn't just assign them to int[] anyway. In both cases, you'd have to use .dup to use them as normal, mutable arrays. That's fine, if I don't specify dup by accident, the compiler would complain. In Deni

Re: Array literals MUST be immutable.

2010-02-19 Thread grauzone
Steven Schveighoffer wrote: On Thu, 18 Feb 2010 20:47:16 -0500, Denis Koroskin <2kor...@gmail.com> wrote: On Fri, 19 Feb 2010 00:46:05 +0300, Steven Schveighoffer wrote: That would be bad, T[] is implicitly casted from T[N]. Consider that you could easily escape stack data using this. In

Re: Array literals MUST be immutable.

2010-02-17 Thread grauzone
Don wrote: grauzone wrote: IMHO array literals should be static arrays, which are value types. No issues with heap allocation or immutability requirements. That still wouldn't solve the performance problems. You mean even for a static array on the stack, the time to construct it

Re: Array literals MUST be immutable.

2010-02-17 Thread grauzone
IMHO array literals should be static arrays, which are value types. No issues with heap allocation or immutability requirements. Also, even immutable values can change at runtime: void foo(immutable int x) { auto array = [x]; } array would have needed to be heap allocated even if they

Re: change mixins

2010-02-16 Thread grauzone
retard wrote: Tue, 16 Feb 2010 21:11:32 +0100, grauzone wrote: retard wrote: Granted, even if logging is disabled, the compiler will push the arguments on the stack and call logInfo(). This is a case where a JIT compiler wins. The code runs equally fast without the call at all and with

Re: change mixins

2010-02-16 Thread grauzone
retard wrote: Granted, even if logging is disabled, the compiler will push the arguments on the stack and call logInfo(). This is a case where a JIT compiler wins. The code runs equally fast without the call at all and with logging turned off (dynamically). In languages like D, the like has t

Re: change mixins

2010-02-16 Thread grauzone
Nick Sabalausky wrote: "grauzone" wrote in message news:hlbg22$6f...@digitalmars.com... Nick Sabalausky wrote: "BCS" wrote in message news:a6268ff103d38cc7ba48d6fa...@news.digitalmars.com... Hello Nick, I *definitely* want that for string mixins of both the templat

Re: Module-level visibility

2010-02-15 Thread grauzone
bearophile wrote: I have shown this little program to some of my friends that program in Java/C#: class Foo { private int x; } void main() { Foo f = new Foo; f.x = 5; } When I say them this code compiles with D2 they usually tell me that the compiler has a bug. So I suggest Walter

Re: change mixins

2010-02-15 Thread grauzone
Steven Schveighoffer wrote: On Sun, 14 Feb 2010 18:28:38 -0500, Andrei Alexandrescu wrote: Denis Koroskin wrote: On Mon, 15 Feb 2010 00:31:29 +0300, Walter Bright wrote: Right now, mixins are defined and used as: template foo(T) { declarations... } mixin foo!(int) handle; The p

Re: eliminate new operator paraphernalia

2010-02-15 Thread grauzone
dsimcha wrote: 2. Pointer offset information for each type is determined at compile time using template metaprogramming. Why don't you just ask Walter to make dmd generate the necessary information?

Re: change mixins

2010-02-15 Thread grauzone
Nick Sabalausky wrote: "BCS" wrote in message news:a6268ff103d38cc7ba48d6fa...@news.digitalmars.com... Hello Nick, I *definitely* want that for string mixins of both the template-generated and ctfe-generated varieties. Why? I don't see any reason aside from documentation to do it. Well,

Re: eliminate new operator paraphernalia

2010-02-15 Thread grauzone
Andrei Alexandrescu wrote: Michel Fortin wrote: On 2010-02-14 15:41:30 -0500, Andrei Alexandrescu said: Michel Fortin wrote: Hum, what's the syntax for placement delete? There is no need for placement delete. There will be a function clear() in object.d that only calls the destructor. (

Re: foreach_reverse is better than ever

2010-02-14 Thread grauzone
Lars T. Kyllingstad wrote: Andrei Alexandrescu wrote: Gone, that is. Walter agreed to remove it. To achieve the functionality of foreach_reverse (r) { ... } use foreach (retro(r)) { ... } using retro in std.range. Now all what's left to do is to make it as efficient as the builtin functi

Re: "The last feature": overridable methods in interfaces

2010-02-08 Thread grauzone
Andrei Alexandrescu wrote: Traits indeed offer more than interfaces. We're looking at sensible things to do within the time constraints we're having; traits would be a major effort, whereas methods in interfaces are just eliminating an artificial limitation. Traits are a possible addition to D3

Re: Array operation for computing the dot product?

2010-02-05 Thread grauzone
Walter Bright wrote: retard wrote: I can easily come up with 100 other such features. Please do so, and submit them to bugzilla. You know, the problem with Bugzilla is, that most entries simply remain unreplied. Especially when they inquire about strange language features or dark corner ca

Re: Making all strings UTF ranges has some risk of WTF

2010-02-04 Thread grauzone
Andrei Alexandrescu wrote: Rainer Deyke wrote: Don wrote: I suspect that string, wstring should have been the primary types and had a .codepoints property, which returned a ubyte[] resp. ushort[] reference to the data. It's too late, of course. The extra value you get by having a specific type

Re: Making all strings UTF ranges has some risk of WTF

2010-02-03 Thread grauzone
Andrei Alexandrescu wrote: What can be done about that? I see a number of solutions: (a) Do not operate the change at all. (b) Operate the change and mention that in range algorithms you should check hasLength and only then use "length" under the assumption that it really means "elements coun

Re: Using DMD2 on Ubuntu 9.04 x64?

2010-02-02 Thread grauzone
Andrei Alexandrescu wrote: Steve Teale wrote: Walter Bright Wrote: Steve Teale wrote: Are we still just talking just AMD 64 here? Last time I tried to install the .deb package, the system told m that my Intel core2 64 bit machine was the wrong architecture. Yes, I have an AMD64. How that woul

Re: What's left to do for a stable D2?

2010-01-25 Thread grauzone
Don wrote: grauzone wrote: Jason House wrote: Andrei's finishing his last TDPL chapter, Sean is updating std.thread(?), and Walter's been fixing forward reference and CTFE bugs. What's left? Documentation. The Phobos docs are rather bad, and don't even include th

Re: What's left to do for a stable D2?

2010-01-24 Thread grauzone
Simen kjaeraas wrote: On Sun, 24 Jan 2010 15:12:47 +0100, grauzone wrote: Eldar Insafutdinov wrote: grauzone Wrote: Eldar Insafutdinov wrote: Andrei Alexandrescu Wrote: Eldar Insafutdinov wrote: Jesse Phillips Wrote: Jason House wrote: Andrei's finishing his last TDPL chapter,

Re: What's left to do for a stable D2?

2010-01-24 Thread grauzone
Jason House wrote: Andrei's finishing his last TDPL chapter, Sean is updating std.thread(?), and Walter's been fixing forward reference and CTFE bugs. What's left? Documentation. The Phobos docs are rather bad, and don't even include the core modules. Also there's std.thread, shouldn't it be c

Re: What's left to do for a stable D2?

2010-01-24 Thread grauzone
Eldar Insafutdinov wrote: grauzone Wrote: Eldar Insafutdinov wrote: Andrei Alexandrescu Wrote: Eldar Insafutdinov wrote: Jesse Phillips Wrote: Jason House wrote: Andrei's finishing his last TDPL chapter, Sean is updating std.thread(?), and Walter's been fixing forward referenc

Re: Google's Go

2010-01-24 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Adam D. Ruppe wrote: On Sat, Jan 23, 2010 at 12:00:04PM -0500, Steve Teale wrote: I see that Go has now usurped D's former place at #13 in Tiobe - which I realize of course does not mean anything. But I'd be interested to hear what the D a

Re: What's left to do for a stable D2?

2010-01-23 Thread grauzone
Eldar Insafutdinov wrote: Andrei Alexandrescu Wrote: Eldar Insafutdinov wrote: Jesse Phillips Wrote: Jason House wrote: Andrei's finishing his last TDPL chapter, Sean is updating std.thread(?), and Walter's been fixing forward reference and CTFE bugs. What's left? This page[1] has been ge

Re: Google's Go

2010-01-23 Thread grauzone
dsimcha wrote: Multiple return values are a horrible substitute for exceptions, because they require the programmer to explicitly check the return value. (When's the last time you checked the return value of printf, or even malloc?) IMHO the best thing about exceptions is that they provide a s

Re: Google's Go

2010-01-23 Thread grauzone
Adam D. Ruppe wrote: On Sat, Jan 23, 2010 at 12:00:04PM -0500, Steve Teale wrote: I see that Go has now usurped D's former place at #13 in Tiobe - which I realize of course does not mean anything. But I'd be interested to hear what the D aficionados think of Go. There's been a couple threads

Re: Google's Go

2010-01-23 Thread grauzone
Nick Sabalausky wrote: "Nick Sabalausky" wrote in message news:hjff0j$27i...@digitalmars.com... - Does nothing to change my opinion that Google has done nothing noteworthy outside of search engines and maybe their ad service. And their maps, of course. But then again, how google, of all com

Re: Compiler: Size of generated executable file

2010-01-14 Thread grauzone
Steven Schveighoffer wrote: On Wed, 13 Jan 2010 06:28:33 -0500, Jacob Carlborg wrote: On 1/12/10 23:40, Walter Bright wrote: It's true that nobody has spent the effort to do this. Anyone is welcome to step up and work on it. Hasn't that already been solved with ddl: http://www.dsource.org/

Re: Compiler: Size of generated executable file

2010-01-12 Thread grauzone
Sean Kelly wrote: Don Wrote: I once had a customer make a request for a very small DOS utility program, and specifically said that they didn't have much disk space left on their computer, could I please make sure the executable wasn't too big? I wrote it in asm. It was 15 bytes. Hah. You

Re: Variable-length stack allocated arrays

2010-01-12 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: The idea is that the API offers a means to define and use temporary buffers without compromising memory safety. Even if you escape

Re: Variable-length stack allocated arrays

2010-01-12 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: The idea is that the API offers a means to define and use temporary buffers without compromising memory safety. Even if you escape data allocated via getBuffer that persists

Re: Variable-length stack allocated arrays

2010-01-12 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: The idea is that the API offers a means to define and use temporary buffers without compromising memory safety. Even if you escape data allocated via getBuffer that persists after releaseBuffer, that will not cause

Re: Help with demangling

2010-01-12 Thread grauzone
Brad Roberts wrote: On 1/11/2010 11:20 PM, grauzone wrote: g wrote: Hi Is there a way to demangle .mangleof strings at CTFE or at least know the fully qualified name of a class or template instance. If you have to use such dirty tricks, you probably should consider to turn back NOW for your

Re: Variable-length stack allocated arrays

2010-01-11 Thread grauzone
Andrei Alexandrescu wrote: The idea is that the API offers a means to define and use temporary buffers without compromising memory safety. Even if you escape data allocated via getBuffer that persists after releaseBuffer, that will not cause undefined behavior. (It may, however, cause data to b

Re: Sturcts with constructor (dmd1.x)

2010-01-11 Thread grauzone
bearophile wrote: dsimcha: Struct constructors are D2 only. That said, you can fake them in D1 by overloading static opCall: Struct constructors are probably the D2 feature I miss more in D1 :-) Why? Bye, bearophile

Re: Help with demangling

2010-01-11 Thread grauzone
g wrote: Hi Is there a way to demangle .mangleof strings at CTFE or at least know the fully qualified name of a class or template instance. If you have to use such dirty tricks, you probably should consider to turn back NOW for your own good. D always lures you into doing tricky template and

Re: Variable-length stack allocated arrays

2010-01-11 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: grauzone wrote: bearophile wrote: void bar(int n) { scope int[] a = new int[n]; // stack-allocated foo(a); } Why are you making such proposals, when one of the core

Re: Variable-length stack allocated arrays

2010-01-11 Thread grauzone
bearophile wrote: grauzone: Why are you making such proposals, when one of the core developers even thought about removing normal "scope"? And by the way, in the Python community one of the purposes of PEPs is to act as an archive of refused proposals, so people can avoid was

Re: Variable-length stack allocated arrays

2010-01-11 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Andrei Alexandrescu wrote: grauzone wrote: bearophile wrote: void bar(int n) { scope int[] a = new int[n]; // stack-allocated foo(a); } Why are you making such proposals, when one of the core developers even thought about removing normal

Re: Variable-length stack allocated arrays

2010-01-11 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: bearophile wrote: void bar(int n) { scope int[] a = new int[n]; // stack-allocated foo(a); } Why are you making such proposals, when one of the core developers even thought about removing normal "scope"? It's almost 100% guarant

Re: Compiler: Size of generated executable file

2010-01-11 Thread grauzone
Walter Bright wrote: If you want to know where the size in your exe file is coming from, the map file will tell you - broken down by each name and its associated size. Can you tell me how many bytes all TypeInfos use up in libphobos? (Without disabling codegen for TypeInfos and comparing the fi

Re: Variable-length stack allocated arrays

2010-01-11 Thread grauzone
bearophile wrote: void bar(int n) { scope int[] a = new int[n]; // stack-allocated foo(a); } Why are you making such proposals, when one of the core developers even thought about removing normal "scope"? It's almost 100% guaranteed that nobody will listen. I personally find it a good id

Re: Compiler: Size of generated executable file

2010-01-10 Thread grauzone
Nick Sabalausky wrote: I'd rather use an app that did a bunch of compile-time reflection than one that did a bunch of run-time reflection. And I think that 50..100 MB figure The question is: what will cause more overhead? Compile time or runtime reflection? For some use cases, you'll have com

Re: Compiler: Size of generated executable file

2010-01-10 Thread grauzone
Walter Bright wrote: grauzone wrote: Walter Bright wrote: grauzone wrote: (The final executable is almost twice the size as the D2 one too, although it's questionable how much of the additional size is due to templates.) Finding out why an executable is large is as easy as compiling

Re: Compiler: Size of generated executable file

2010-01-09 Thread grauzone
Walter Bright wrote: grauzone wrote: (The final executable is almost twice the size as the D2 one too, although it's questionable how much of the additional size is due to templates.) Finding out why an executable is large is as easy as compiling with -L/map on Windows and -L-map -Lfo

Re: Compiler: Size of generated executable file

2010-01-09 Thread grauzone
Nick Sabalausky wrote: "Ph" wrote in message news:hia7qc$b5...@digitalmars.com... Why a generated file is so huge? "Empty" program such as: int main(char[][] args) { return 0; } compiled with dmd2 into file with size of 266268 bytes. Even after UPX, it's size is 87552 bytes. Size of this co

Re: Does functional programming work?

2010-01-04 Thread grauzone
Walter Bright wrote: grauzone wrote: Walter Bright wrote: retard wrote: Fri, 01 Jan 2010 12:19:25 -0800, Walter Bright wrote: When I then picked up K+R C, I never wrote another line of Pascal. It so soured me on Pascal that I never got on the later bandwagons of Modula II, Delphi

Re: Does functional programming work?

2010-01-03 Thread grauzone
Walter Bright wrote: retard wrote: Fri, 01 Jan 2010 12:19:25 -0800, Walter Bright wrote: When I then picked up K+R C, I never wrote another line of Pascal. It so soured me on Pascal that I never got on the later bandwagons of Modula II, Delphi, TurboPascal, etc. Never even looked at them. The

Re: one step towards unification of std.algorithm and std.string

2009-12-31 Thread grauzone
Andrei Alexandrescu wrote: bearophile wrote: I don't know C++ much, and I have to confess that I have to fully understand the const business still. I hope your book will teach me this topic very well :-) One thing about const that is slowly downing on this community is that it will _not_ be

Re: Comma expression as tuple operator [was Tuples, C#, Java, language

2009-12-31 Thread grauzone
justme wrote: grauzone Wrote: bearophile wrote: BCS: A though on the comma operator: if the comma operator were defined to give a tuple type and be implicitly castable to any suffix of it's self, then you could get both the comma expression usage that Walter wants as well as all th

Re: Comma expression as tuple operator [was Tuples, C#, Java, language design]

2009-12-30 Thread grauzone
bearophile wrote: BCS: A though on the comma operator: if the comma operator were defined to give a tuple type and be implicitly castable to any suffix of it's self, then you could get both the comma expression usage that Walter wants as well as all the fun things that tuple expressions give.

Re: Comma expression as tuple operator [was Tuples, C#, Java, language design]

2009-12-30 Thread grauzone
BCS wrote: Hello justme, bearophile Wrote: C# will probably not follow the route of stagnation of Java for some more time, thanks to Mono too. I don't like that string interpolation syntax because it looks unsafe, and that design of tuples can be improved, but they are listening to programmes

Re: Tuples, C#, Java, language design

2009-12-30 Thread grauzone
grauzone wrote: justme wrote: grauzone Wrote: justme wrote: bearophile Wrote: C# will probably not follow the route of stagnation of Java for some more time, thanks to Mono too. I don't like that string interpolation syntax because it looks unsafe, and that design of tuples c

Re: Tuples, C#, Java, language design

2009-12-30 Thread grauzone
justme wrote: grauzone Wrote: justme wrote: bearophile Wrote: C# will probably not follow the route of stagnation of Java for some more time, thanks to Mono too. I don't like that string interpolation syntax because it looks unsafe, and that design of tuples can be improved, but the

Re: GDC and Tango problem

2009-12-30 Thread grauzone
revcompgeek wrote: So I tried building Tango trunk a while ago, and it actually built surprisingly well, with only one small error I was able to fix. So I installed the tango library and proceeded to test if tango was really working. So in hello.d: import tango.io.Stdout; void main(){ Stdout("H

Re: Tuples, C#, Java, language design

2009-12-30 Thread grauzone
justme wrote: bearophile Wrote: C# will probably not follow the route of stagnation of Java for some more time, thanks to Mono too. I don't like that string interpolation syntax because it looks unsafe, and that design of tuples can be improved, but they are listening to programmes (even if

Re: What's wrong with D's templates?

2009-12-25 Thread grauzone
Walter Bright wrote: grauzone wrote: It matters because Java is used a lot in multithreaded applications, and it is gc based. The gc is not a disastrous problem with it. For one, Java has an infinitely better GC implementation than D. Yeah, this isn't a problem with the concept o

Re: What's wrong with D's templates?

2009-12-25 Thread grauzone
Walter Bright wrote: grauzone wrote: Also, it's bad how inter-thread communication will trigger GC runs, No, it won't. Allocation may trigger a GC run. which will stop all threads in the process for a while. Because you have no choice but to allocate your immutable messages from

Re: Enhanced array appending

2009-12-25 Thread grauzone
Steven Schveighoffer wrote: Also, if you use GC.malloc directly, and the user tries to append to slices to it, your code may break. GC.malloc doesn't seem to pad the memory block with a length field. Yes, this is a possible problem. However, using GC.malloc directly and then treating the res

Re: What's wrong with D's templates?

2009-12-25 Thread grauzone
Walter Bright wrote: grauzone wrote: What will you do? Because of casting, there cannot be a thread-local only gc. I think this is a very bad idea. I thought TLS by default was just the beginning of separating threads better. While it will work in the initial stages of D2, I don't

Re: Enhanced array appending

2009-12-24 Thread grauzone
Steven Schveighoffer wrote: I see no problem with adding an additional field to usual slices. There's also some benefit: clearer semantics (if you make guaranteed performance part of the semantics) and a much simpler runtime. Simpler runtime is not any benefit IMO. Nobody cares how array appe

Re: What's wrong with D's templates?

2009-12-24 Thread grauzone
Walter Bright wrote: But you need to allocate this data from a shared garbage collection, You do anyway. Consider you allocate normal data from a thread local heap, and shared data from a shared GC. We will need this anyway to get decent memory allocation and GC performance. Especially beca

Re: Enhanced array appending

2009-12-24 Thread grauzone
Steven Schveighoffer wrote: grauzone Wrote: Steven Schveighoffer wrote: The problem is that adding a capacity field only works if the object is a reference type. A value type will make either choose to make copies of the capacity field, resulting in the same stomping problem (and maybe

Re: What's wrong with D's templates?

2009-12-23 Thread grauzone
Walter Bright wrote: 3. (2) has a great advantage in doing message passing between threads. This model was popularized by Erlang, and is very successful. You can do message passing without immutable references, but you've got to hope and pray that your programming team didn't make any mistakes

Re: What's wrong with D's templates?

2009-12-23 Thread grauzone
Walter Bright wrote: grauzone wrote: Walter Bright wrote: I can expound on the huge advantages immutability and purity offer, if you want. Yes, I'd like to hear about this. You can leave away the things that are not going to be implemented (like memorization of pure return values)

Re: Enhanced array appending

2009-12-23 Thread grauzone
Andrei Alexandrescu wrote: grauzone wrote: Steven Schveighoffer wrote: All, I created a new patched druntime that prevents array stomping and at the same time increases append performance for thread-local array appending. The patch is attached to bugzilla entry 3637. ( http

Re: Enhanced array appending

2009-12-23 Thread grauzone
Steven Schveighoffer wrote: grauzone Wrote: Steven Schveighoffer wrote: All, I created a new patched druntime that prevents array stomping and at the same time increases append performance for thread-local array appending. The patch is attached to bugzilla entry 3637. ( http

Re: Enhanced array appending

2009-12-23 Thread grauzone
Steven Schveighoffer wrote: All, I created a new patched druntime that prevents array stomping and at the same time increases append performance for thread-local array appending. The patch is attached to bugzilla entry 3637. ( http://d.puremagic.com/issues/show_bug.cgi?id=3637 ) Nobody car

Re: What's wrong with D's templates?

2009-12-21 Thread grauzone
Walter Bright wrote: I can expound on the huge advantages immutability and purity offer, if you want. Yes, I'd like to hear about this. You can leave away the things that are not going to be implemented (like memorization of pure return values), are only micro-optimizations (common sub-expres

Re: What's wrong with D's templates?

2009-12-21 Thread grauzone
Walter Bright wrote: Yigal Chripun wrote: But that doesn't mean the idea itself isn't valid. Perhaps a different language with different goals in mind can provide a much simpler non convoluted implementation and semantics for the same idea? You've shown in the past that you're willing to break

Re: TDPL goes out for preliminary review

2009-12-16 Thread grauzone
Andrei Alexandrescu wrote: But let's not forget we have concurrency ahead of us. I encourage you all to chime in with your thoughts and ideas regarding all aspects of concurrency. The recent multicore performance bug is a great starting point. If you try e.g. shared and it's broken, let us know

Re: The Demise of Dynamic Arrays?!

2009-12-16 Thread grauzone
Andrei Alexandrescu wrote: retard wrote: Most likely Walter won't even tell what kind of arrays D2 will have. Anything can happen. The final word is the undocumented executable you can download when the book hits stores. That's a bit of an oxymoron isn't it :o). The book _is_ the documentati

Re: switch case for constants-only?

2009-12-05 Thread grauzone
Nick Sabalausky wrote: "Ellery Newcomer" wrote in message It's a useful divergence. It's a feature that should exist. But I contend it makes more sense to make a new construct which *is* equivalent to a certain pattern of nested ifs (switch isn't) and incorporate your feature into that than t

Re: dynamic classes and duck typing

2009-12-01 Thread grauzone
Andrei Alexandrescu wrote: Bill Baxter wrote: On Mon, Nov 30, 2009 at 7:12 PM, Walter Bright wrote: Bill Baxter wrote: So we can overload on @property-ness? No. I.e. this works struct S { @property float x() { return 1.0f; } float x() { return 2.0f; } } void main() { S s; writefln

  1   2   3   4   5   >