Re: DMD versions

2011-02-23 Thread Russel Winder
On Tue, 2011-02-22 at 22:29 -0800, Walter Bright wrote: [ . . . ] Just for fun, try: dmd -man !! That presupposes you are connected to the Internet. Much of the time I am not. I appreciate this is an almost heretical position to be in but mobile Internet hasn't actually arrived

Re: Value Range Propagation

2011-02-23 Thread Michal Minich
V Tue, 22 Feb 2011 22:23:32 -0800, Walter Bright wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html This case is missed. The result must be always in range of ubyte. ubyte ub; ubyte a = 255 - ub; // Error: cannot implicitly convert expression // (255 -

Re: dmd, x64 and Windows

2011-02-23 Thread Trass3r
Walter Bright Wrote: To do 64 bits on Windows requires: 1. 64 bit OMF 2. 64 bit librarian 3. 64 bit generating dmd 4. 64 bit C compiler 5. 64 bit symbolic debug info 6. 64 bit debugger 7. 64 bit C runtime Just one of those won't do it. All are necessary. The reason I did 64 bit

Rationale for TLS being the default

2011-02-23 Thread Trass3r
Couldn't find it at the website. What's the advantage of going the other way (compared to C's defaulting to globals and the __thread keyword which is also used by some D1 guys in a modified dmd)? Might be good to put it into something like

Re: Rationale for TLS being the default

2011-02-23 Thread Trass3r
Guess I found it (by accident) http://www.drdobbs.com/architecture-and-design/228700137

Re: D3 plans

2011-02-23 Thread Bernard Helyer
On Tue, 22 Feb 2011 10:00:52 -0500, phobophile wrote: A legitimate question - where are the D3 plans? Any language not in active development (no don't mean phobos, not toolchain) is dead. D2 has little potential without AST macros. I want to participate in D3 development. Maybe bearophile

Re: Linking COFF and OMF

2011-02-23 Thread dennis luehring
Am 22.02.2011 05:54, schrieb %u: That's pretty good. Almost all of those things are standard C. LDIV and UDIV could easily be eliminated. __except_list is a null asm label (it is FS:[0]). So the main problematic ones are: _xi_a , __acrtused_con, the __fp functions, and _Ccmp So how to

Re: Linking COFF and OMF

2011-02-23 Thread Trass3r
dennis luehring Wrote: i don't if the source of snn.lib is available - is it? Don't think so, that's dmc land.

Re: Lazy lists

2011-02-23 Thread Jacob Carlborg
On 2011-02-23 03:28, bearophile wrote: This is a Scala implementation of a function that prints the carpet: def nextCarpet(carpet: List[String]): List[String] = ( carpet.map(x = x + x + x) ::: carpet.map(x = x + x.replace('#', ' ') + x) ::: carpet.map(x = x + x + x)) def

Re: Linking COFF and OMF

2011-02-23 Thread dennis luehring
Am 21.02.2011 15:26, schrieb Don: Trass3r wrote: In 2.052 several of the most complicated dependencies on snn.lib (those relating to exception handling) were removed. I don't know how many more DMC-specific ones there are, but using another snn.lib might be possible now. Compiled a hello

Library reference

2011-02-23 Thread Morlan
I try to read the language reference on http://d-programming-language.org/lex.html but no menu opens on clicking the language reference item, and only one article about lexical conventions is available. There used to be more information there so probably the recent changes (addition of the

Re: Library reference

2011-02-23 Thread Jonathan M Davis
On Wednesday 23 February 2011 03:24:56 Morlan wrote: I try to read the language reference on http://d-programming-language.org/lex.html but no menu opens on clicking the language reference item, and only one article about lexical conventions is available. There used to be more information

Re: Uh... destructors?

2011-02-23 Thread Stewart Gordon
On 23/02/2011 01:22, %u wrote: - private makes no sense since (unless we're trying to imitate C++ here) destructors are only called from the runtime, and nowhere else. - The only meaningful attribute there is extern(C). In what way is extern(C) meaningful for a destructor? I guess it

Re: Linking COFF and OMF

2011-02-23 Thread dennis luehring
Am 22.02.2011 05:54, schrieb %u: That's pretty good. Almost all of those things are standard C. LDIV and UDIV could easily be eliminated. __except_list is a null asm label (it is FS:[0]). So the main problematic ones are: _xi_a , __acrtused_con, the __fp functions, and _Ccmp So how to

Re: Linking COFF and OMF

2011-02-23 Thread Trass3r
dennis luehring Wrote: question out of curiosity - would it be a good idea (or technical solveable) to replace the snn.lib complete with D code? Doesn't make sense since you'd have to introduce the D runtime into C runtime code (remember that dmc also uses that runtime for compiling C code)

Re: LDC2 Status

2011-02-23 Thread Trass3r
I tried LDC2 for Linux out last week and again last night. I was even more self-torturing, I tried to compile it on Windoze twice I think. But it didn't really work. Also I got the feeling that LDC2 has been hastily updated to the newest dmd frontend without verifying each upgrade step by step

Re: We need to rethink remove in std.container

2011-02-23 Thread Jonathan M Davis
On Tuesday 22 February 2011 05:01:24 Andrei Alexandrescu wrote: On 2/21/11 8:55 PM, Jonathan M Davis wrote: Okay, removing elements from a container sucks right now. You can do stuff like removeAny (generally pretty useless IMHO) or removeFront just fine, but removing an arbitrary range

Re: How to do Generic Programming in D?

2011-02-23 Thread Paulo Pinto
How come is our loss? I keep an eye on D and Go, because personally, I would like to see a language replace C and C++ as THE systems programming language. But I hardly use any of them beside some toy examples, because on my part of the world, be it with C++ or VM languages I am spoiled for

Re: Lazy lists

2011-02-23 Thread bearophile
Jacob Carlborg: def sierpinskiCarpets(n: Int) = (Iterator.iterate(List(#))(nextCarpet) drop n next) foreach println Again Scala shines with its beautiful lambdas compared to Ds ugly string version. In software engineering there aren't many free things. For some of the Scala features

Re: Linking COFF and OMF

2011-02-23 Thread dennis luehring
Am 23.02.2011 12:56, schrieb Trass3r: dennis luehring Wrote: question out of curiosity - would it be a good idea (or technical solveable) to replace the snn.lib complete with D code? Doesn't make sense since you'd have to introduce the D runtime into C runtime code (remember that dmc also

Re: Linking COFF and OMF

2011-02-23 Thread Dmitry Olshansky
On 22.02.2011 7:54, %u wrote: That's pretty good. Almost all of those things are standard C. LDIV and UDIV could easily be eliminated. __except_list is a null asm label (it is FS:[0]). So the main problematic ones are: _xi_a , __acrtused_con, the __fp functions, and _Ccmp So how to tackle

Re: Value Range Propagation

2011-02-23 Thread Don
Michal Minich wrote: V Tue, 22 Feb 2011 22:23:32 -0800, Walter Bright wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html This case is missed. The result must be always in range of ubyte. ubyte ub; ubyte a = 255 - ub; // Error: cannot implicitly convert expression

Re: Library reference

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 5:24 AM, Morlan wrote: I try to read the language reference on http://d-programming-language.org/lex.html but no menu opens on clicking the language reference item, and only one article about lexical conventions is available. There used to be more information there so probably the

Re: Lazy lists

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 5:10 AM, Jacob Carlborg wrote: On 2011-02-23 03:28, bearophile wrote: This is a Scala implementation of a function that prints the carpet: def nextCarpet(carpet: List[String]): List[String] = ( carpet.map(x = x + x + x) ::: carpet.map(x = x + x.replace('#', ' ') + x) :::

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/22/11 3:14 PM, Steven Schveighoffer wrote: On Tue, 22 Feb 2011 15:48:42 -0500, %u wfunct...@hotmail.com wrote: D pure functions are significantly different than this definition (as of recent times, when weak-pure was added). Essentially, a pure function cannot access global variables.

Re: Lazy lists

2011-02-23 Thread Andrei Alexandrescu
On 2/22/11 8:28 PM, bearophile wrote: import std.stdio, std.string, std.algorithm, std.array, std.range; string[] nextCarpet(string[] c) { auto b = array(map!q{a ~ a ~ a}(c)); return b ~ array(map!q{a ~ a.replace(#, ) ~ a}(c)) ~ b; } void main() { auto c = recurrence!((a, n){

Re: Lazy lists

2011-02-23 Thread bearophile
Andrei: popFrontN(c, 3); ... use c.front() ... Right. I have used the c.popFrontN(3); syntax and then I have not read the error message well. A drop(range, n) is an expression, it allows to write it as this: drop(c, 3).front You shouldn't need array most at all. Use chain() instead of ~.

Re: Linking COFF and OMF

2011-02-23 Thread Adam Ruppe
dennis luehring wrote: i don't if the source of snn.lib is available - is it? The complete source to DMC and it's libraries are available in the purchased development kit.

Re: We need to rethink remove in std.container

2011-02-23 Thread Andrei Alexandrescu
On 2/22/11 8:41 AM, Steven Schveighoffer wrote: On Tue, 22 Feb 2011 09:23:00 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/22/11 7:58 AM, Steven Schveighoffer wrote: A cursor in dcollections is actually a zero or one element range. It can only reference exactly one

Re: How to do Generic Programming in D?

2011-02-23 Thread Adam Ruppe
Paulo Pinto wrote: How come is our loss? VMs come with a cost for what's really very little gain. You don't need a fancy VM to have a nice language. It does not matter how good something is, in regards with what is actually being used, if the pain to switch is too big for the beneficts that

Re: We need to rethink remove in std.container

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 08:33:03 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/22/11 8:41 AM, Steven Schveighoffer wrote: On Tue, 22 Feb 2011 09:23:00 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: This may as well be The Great Unification that was

Re: We need to rethink remove in std.container

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 01:30:49 -0500, Philippe Sigaud philippe.sig...@gmail.com wrote: On Tue, Feb 22, 2011 at 23:20, Steven Schveighoffer schvei...@yahoo.com wrote: s/insert/put Now all containers that support insertion are output ranges... Or am I missing something? I mean that, in the

Re: We need to rethink remove in std.container

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 07:01:12 -0500, Jonathan M Davis jmdavisp...@gmx.com wrote: I've made several improvements to RedBlackTree and created a pull request for them: https://github.com/D-Programming-Language/phobos/pull/10 I'll be sure to look at this soon. I really need to ramp up my git

Re: Linking COFF and OMF

2011-02-23 Thread Trass3r
Dmitry Olshansky Wrote: that's where I stopped, technically it might still be attainable. What I gather is that windows DMD itself emits direct references on __LDIV, __alloca and friends found in snn. Maybe we can get out by writing simple thunk lib to replace snn.lib that maps these to MS

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 08:04:49 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/22/11 3:14 PM, Steven Schveighoffer wrote: On Tue, 22 Feb 2011 15:48:42 -0500, %u wfunct...@hotmail.com wrote: D pure functions are significantly different than this definition (as of recent

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Tue, 22 Feb 2011 18:19:15 -0500, bearophile bearophileh...@lycos.com wrote: Steven Schveighoffer: I would think malloc and friends should be pure, as well as free. They can easily simply be marked pure, since they are C bindings. D even accepts strongly pure functions like: pure

Re: float equality

2011-02-23 Thread Sean Kelly
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/21/11 6:08 PM, bearophile wrote: Andrei Alexandrescu: This is a long-standing myth. I worked on Wall Street and have friends who have been doing it for years. Everybody uses double. Unbrutal Python programmers are encouraged to

Re: Lazy lists

2011-02-23 Thread Jacob Carlborg
On 2011-02-23 13:13, bearophile wrote: Jacob Carlborg: def sierpinskiCarpets(n: Int) = (Iterator.iterate(List(#))(nextCarpet) drop n next) foreach println Again Scala shines with its beautiful lambdas compared to Ds ugly string version. In software engineering there aren't many free

Re: Lazy lists

2011-02-23 Thread Jacob Carlborg
On 2011-02-23 13:57, Andrei Alexandrescu wrote: On 2/23/11 5:10 AM, Jacob Carlborg wrote: On 2011-02-23 03:28, bearophile wrote: This is a Scala implementation of a function that prints the carpet: def nextCarpet(carpet: List[String]): List[String] = ( carpet.map(x = x + x + x) :::

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 9:00 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 08:04:49 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/22/11 3:14 PM, Steven Schveighoffer wrote: On Tue, 22 Feb 2011 15:48:42 -0500, %u wfunct...@hotmail.com wrote: D pure functions are significantly

Re: Lazy lists

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 9:30 AM, Jacob Carlborg wrote: On 2011-02-23 13:57, Andrei Alexandrescu wrote: On 2/23/11 5:10 AM, Jacob Carlborg wrote: On 2011-02-23 03:28, bearophile wrote: This is a Scala implementation of a function that prints the carpet: def nextCarpet(carpet: List[String]): List[String]

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 10:35:26 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 9:00 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 08:04:49 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/22/11 3:14 PM, Steven Schveighoffer wrote: On Tue,

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 9:42 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 10:35:26 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: free(p) affects data remotely outside the pure function. This is allowed however in the new pure regime: pure void foo(int *x) {(*x)++;} int x;

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 10:46:43 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: At a level it's clear to me that a function cannot be at the same time pure and unsafe. For example: pure void foo(int *x) { free(x); (*x)++; } This function essentially breaks any guarantee for

Re: Linking COFF and OMF

2011-02-23 Thread Andrej Mitrovic
On 2/23/11, dennis luehring dl.so...@gmx.net wrote: but the new ida freeware version 5 I did not know v5 went freeware. Fantastic, thanks.

Re: Uh... destructors?

2011-02-23 Thread %u
I thought @safe was orthogonal to pure? If this isn't the case, then yes, free must be disallowed. But then malloc must also be, and any construct which manages its own memory via malloc/free. From what I remember, pure functions: 1. cannot access shared or global non-immutable data 2.

Re: Frustratingly D

2011-02-23 Thread Nicholas
Jesse, Thanks for clarifying some of those. Something like that, but with more detail, should go right on the front page. That's a shame about std.xml being lost completely. I thought maybe someone was working on it and might have an updated version. std.json would probably work okay for

Re: More on Rust

2011-02-23 Thread Bruno Medeiros
On 10/02/2011 00:23, bearophile wrote: But in Rust there are typestates, so while a variable can't change type, its type sometimes changes state along the flow of the code, such state of the type may be different in different parts of the code Hum, this typestate concept actually looks

Re: How will we fix opEquals?

2011-02-23 Thread Bruno Medeiros
On 10/02/2011 09:36, Don wrote: so wrote: (1) If it is a const member function, then it will have a viral effect on all objects -- any function called by opEquals will have to be marked const. It doesn't look like we can solve this by switching the constness of an Object.function, unless we

Re: tooling quality and some random rant

2011-02-23 Thread Bruno Medeiros
On 13/02/2011 23:28, retard wrote: Sun, 13 Feb 2011 15:06:46 -0800, Brad Roberts wrote: On 2/13/2011 3:01 PM, Walter Bright wrote: Michel Fortin wrote: But note I was replying to your reply to Denis who asked specifically for demangled names for missing symbols. This by itself would be a

Re: tooling quality and some random rant

2011-02-23 Thread Bruno Medeiros
On 14/02/2011 12:37, Jacob Carlborg wrote: On 2011-02-13 16:07, Gary Whatmore wrote: Paulo Pinto Wrote: Nick Sabalauskya@a.a wrote in message news:ij7v76$1q4t$1...@digitalmars.com... ... (cutted) ... That's not the compiler, that's the linker. I don't know what linker DMD uses on OSX, but

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 11:41:52 -0500, %u wfunct...@hotmail.com wrote: I thought @safe was orthogonal to pure? If this isn't the case, then yes, free must be disallowed. But then malloc must also be, and any construct which manages its own memory via malloc/free. From what I remember, pure

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 9:57 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 10:46:43 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: At a level it's clear to me that a function cannot be at the same time pure and unsafe. For example: pure void foo(int *x) { free(x); (*x)++; } This

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 11:45:48 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 9:57 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 10:46:43 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: At a level it's clear to me that a function cannot be at

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 10:52 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 11:45:48 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 9:57 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 10:46:43 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: At a

Re: Uh... destructors?

2011-02-23 Thread %u
It seems that you're using the word pure as a synonym for the noalias and/or restrict __declspec keywords. However, they're different words because they have different meanings. :) If you really mean noalias, then I think we just just call it that and introduce the attribute @noalias?

Re: Uh... destructors?

2011-02-23 Thread Michel Fortin
On 2011-02-23 11:45:48 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org said: On 2/23/11 9:57 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 10:46:43 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: At a level it's clear to me that a function cannot be at the

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 12:01:15 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 10:52 AM, Steven Schveighoffer wrote: Why? We have both attributes, why not just require @safe pure if you want @safe pure functions? Because a pure unsafe function is useless. Just

Re: We need to rethink remove in std.container

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 8:51 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 08:33:03 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/22/11 8:41 AM, Steven Schveighoffer wrote: On Tue, 22 Feb 2011 09:23:00 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: This may

Re: Uh... destructors?

2011-02-23 Thread %u
Programmers are allowed to make conceptually safe functions which are not marked as @safe, why not the same for pure functions? Programmers can always shoot themselves in the foot anyway, if they really want to. Why not just make it easier for them? :) (We could allow unsafe casts, for

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 11:16 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 12:01:15 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 10:52 AM, Steven Schveighoffer wrote: Why? We have both attributes, why not just require @safe pure if you want @safe pure functions?

Re: How to do Generic Programming in D?

2011-02-23 Thread Nick
On 2/23/2011 12:35 AM, Andrei Alexandrescu wrote: On 2/22/11 1:04 PM, Nick wrote: Coming from Andrei's work in C++ Modern C++ Programming I wonder how to implement many of those patterns in D? In C++ I would work with type lists and use lots of multiple inheritance and templates to get the

Re: We need to rethink remove in std.container

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 12:16:26 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 8:51 AM, Steven Schveighoffer wrote: I don't think this is possible. When passing a range to a container for removal, the container needs to access the underlying implementation (e.g.

Re: Frustratingly D

2011-02-23 Thread Daniel Gibson
Am 23.02.2011 17:47, schrieb Nicholas: Jesse, Thanks for clarifying some of those. Something like that, but with more detail, should go right on the front page. That's a shame about std.xml being lost completely. I thought maybe someone was working on it and might have an updated version.

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 12:28:33 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 11:16 AM, Steven Schveighoffer wrote: Just because a function is not marked @safe does not mean it is unsafe. It just means you can do things the compiler cannot verify are safe, but

Re: How will we fix opEquals?

2011-02-23 Thread bearophile
Bruno Medeiros: The good news is that I suspect the fields used for opEquals/opCmp/opHash in any class are unlikely to be fields that are computed lazily. It's just a guess though, anyone have examples otherwise? If I have a string type, I'd like to compute its hash value lazily, the first

Re: Uh... destructors?

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 11:47 AM, Steven Schveighoffer wrote: On Wed, 23 Feb 2011 12:28:33 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: On 2/23/11 11:16 AM, Steven Schveighoffer wrote: Just because a function is not marked @safe does not mean it is unsafe. It just means you can do

Re: Frustratingly D

2011-02-23 Thread Trass3r
Nicholas Wrote: This, of course, in addition to the old Tango/Phobos situation. A lot of great energy thinly spread across the D domain. Yep, at least there's 1 or 2 attempts to port Tango to D2 or rather get it to compile with dmd2. Hopefully these don't peter out.

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 12:25:52 -0500, %u wfunct...@hotmail.com wrote: Programmers are allowed to make conceptually safe functions which are not marked as @safe, why not the same for pure functions? Programmers can always shoot themselves in the foot anyway, if they really want to. Why not just

Re: Uh... destructors?

2011-02-23 Thread Michel Fortin
On 2011-02-23 12:01:15 -0500, Andrei Alexandrescu seewebsiteforem...@erdani.org said: Because a pure unsafe function is useless. I disagree. Suppose you have a function which is conceptually pure but requires a temporary 100 Mb matrix of doubles. Wouldn't it make sense to use malloc/free

Re: DMD versions

2011-02-23 Thread Christopher Bergqvist
I've had an idea lately on that note. I'd think it would be cool if rdmd (not standard dmd) had support for this style of import magic: // @grab url:http://someserver.com/somelib/v1.0/src/somelib/somemodule.d size:4321 sha1:2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 import somelib.somemodule; The

Re: Value Range Propagation

2011-02-23 Thread Simen kjaeraas
Walter Bright newshou...@digitalmars.com wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html Now on Reddit: http://www.reddit.com/r/programming/comments/fr6ba/value_range_propagation_or_how_to_fit_those_two/ -- Simen

Re: Uh... destructors?

2011-02-23 Thread Ary Manzana
On 2/22/11 10:36 AM, Simen Kjaeraas wrote: %u Wrote: Well, the trouble is, pretty much all of these are invalid attributes: - static obviously makes no sense And here is where you're wrong. You have defined a static destructor, which is called with module destructor as the program goes

Re: Uh... destructors?

2011-02-23 Thread bearophile
Steven Schveighoffer: cast voids all warranties ;) OK. But that idea is unchanged if you remove the cast and return an int* from that function. Memory allocation has to be allowed inside pure functions. Otherwise, pure functions are too strict and limited. I agree. But there are

Re: How to do Generic Programming in D?

2011-02-23 Thread Simon
On 23/02/2011 17:22, Nick wrote: On 2/23/2011 12:35 AM, Andrei Alexandrescu wrote: Andrei Thanks for all your replies! I was not sure about mixins: the template ones had a little warning in the book as being mostly experimental, and the string mixins, while powerful, seemed to me something

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 13:13:35 -0500, bearophile bearophileh...@lycos.com wrote: Steven Schveighoffer: cast voids all warranties ;) OK. But that idea is unchanged if you remove the cast and return an int* from that function. That is allowed, and it's expected that a pure function can

Re: We need to rethink remove in std.container

2011-02-23 Thread Jonathan M Davis
On Wednesday, February 23, 2011 06:56:45 Steven Schveighoffer wrote: On Wed, 23 Feb 2011 07:01:12 -0500, Jonathan M Davis jmdavisp...@gmx.com wrote: I've made several improvements to RedBlackTree and created a pull request for them:

Re: Uh... destructors?

2011-02-23 Thread Jonathan M Davis
On Wednesday, February 23, 2011 09:17:15 %u wrote: It seems that you're using the word pure as a synonym for the noalias and/or restrict __declspec keywords. However, they're different words because they have different meanings. :) If you really mean noalias, then I think we just just

Re: Uh... destructors?

2011-02-23 Thread %u
Because a pure unsafe function is useless. I disagree. Suppose you have a function which is conceptually pure but requires a temporary 100 Mb matrix of doubles. Wouldn't it make sense to use malloc/free for this temporary storage instead of using the GC and risking the block never being

Re: Uh... destructors?

2011-02-23 Thread bearophile
Steven Schveighoffer: That is allowed, and it's expected that a pure function can return different references with identical calls. A pointer and a transparent reference are two different things. That function returns a pointer, and a pointer is a value. If you call a pure function with the

Re: Value Range Propagation

2011-02-23 Thread Andrei Alexandrescu
On 2/23/11 12:03 PM, Simen kjaeraas wrote: Walter Bright newshou...@digitalmars.com wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html Now on Reddit: http://www.reddit.com/r/programming/comments/fr6ba/value_range_propagation_or_how_to_fit_those_two/ The article never made it

Re: Uh... destructors?

2011-02-23 Thread %u
No. pure is what we want. Changing it would break code and contradict TDPL (though the addition of weakly pure isn't in TDPL). Strongly pure functions are essentially what you'd expect from pure. Weakly pure functions aren't, but they're necessary to make pure very useful, and there's no real

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 14:28:01 -0500, %u wfunct...@hotmail.com wrote: No. pure is what we want. Changing it would break code and contradict TDPL (though the addition of weakly pure isn't in TDPL). Strongly pure functions are essentially what you'd expect from pure. Weakly pure functions

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 14:31:35 -0500, bearophile bearophileh...@lycos.com wrote: Steven Schveighoffer: That is allowed, and it's expected that a pure function can return different references with identical calls. A pointer and a transparent reference are two different things. That

Re: Value Range Propagation

2011-02-23 Thread Jérôme M. Berger
Walter Bright wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html The max value for an unsigned char is 255, not 256. Other than that, a pretty interesting article, thanks. Jerome -- mailto:jeber...@free.fr http://jeberger.free.fr Jabber: jeber...@jabber.fr

Re: Frustratingly D

2011-02-23 Thread Jonathan M Davis
On Wednesday, February 23, 2011 08:47:31 Nicholas wrote: Jesse, Thanks for clarifying some of those. Something like that, but with more detail, should go right on the front page. That's a shame about std.xml being lost completely. I thought maybe someone was working on it and might

Re: Uh... destructors?

2011-02-23 Thread Stewart Gordon
On 23/02/2011 18:07, Ary Manzana wrote: On 2/22/11 10:36 AM, Simen Kjaeraas wrote: %u Wrote: Well, the trouble is, pretty much all of these are invalid attributes: - static obviously makes no sense And here is where you're wrong. You have defined a static destructor, which is called with

Re: LDC2 Status

2011-02-23 Thread Alexey Prokhin
LDC2 Status LDC2 passes almost all phobos unittests and tests from dmd suite on linux x86. Also it probably works on freebsd, but it's broken on other platforms and architectures. I currently work on linux X86_64 port: ldc2 already compiles druntime and phobos, although there are some serious

Re: Value Range Propagation

2011-02-23 Thread Robert Clipsham
On 23/02/11 07:22, Vladimir Panteleev wrote: On Wed, 23 Feb 2011 08:23:32 +0200, Walter Bright newshou...@digitalmars.com wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html http://www.digitalmars.com/d/2.0/ctod.html#types , which is linked from the article, still mentions the

Re: Uh... destructors?

2011-02-23 Thread Jonathan M Davis
On Wednesday, February 23, 2011 11:28:01 %u wrote: No. pure is what we want. Changing it would break code and contradict TDPL (though the addition of weakly pure isn't in TDPL). Strongly pure functions are essentially what you'd expect from pure. Weakly pure functions aren't, but they're

Re: Uh... destructors?

2011-02-23 Thread bearophile
Steven Schveighoffer: A pointer is not a value, it's a pointer. int is a value. You should expect two calls to a pure function to return the same exact int. I don't care of how you want to define what a pointer is. Definitions are labels for ideas, you are free to use a different label.

Re: LDC2 Status

2011-02-23 Thread Trass3r
Trass3r Wrote: Also I got the feeling that LDC2 has been hastily updated to the newest dmd frontend without verifying each upgrade step by step and now things are subtly broken. When I started to work on ldc2, it was in terrible state (it did not even compile). So, yes, I decided to update

Re: Uh... destructors?

2011-02-23 Thread Steven Schveighoffer
On Wed, 23 Feb 2011 15:28:32 -0500, bearophile bearophileh...@lycos.com wrote: Steven Schveighoffer: I see zero value in disallowing comparing pointers in D. I have not suggested to disallow comparing all pointers. I have suggested to disallow it only for pointers/references allocated

Re: dmd, x64 and Windows

2011-02-23 Thread Andrej Mitrovic
On 2/23/11, Iain Buclaw ibuc...@ubuntu.com wrote: == Quote from Andrej Mitrovic (andrej.mitrov...@gmail.com)'s article I've been trying to compile GDC the last couple of days. I've ran into some issues, but I've put them in GDC tickets and it seems from the last comments that Iain Buclaw has

Re: LDC2 Status

2011-02-23 Thread Robert Clipsham
On 22/02/11 23:52, dsimcha wrote: I tried LDC2 for Linux out last week and again last night. I didn't spend much time on it on either attempt, but so far I haven't been able to get even Hello, World to compile. It seems like the instructions for building druntime, etc. are horribly outdated, the

Re: Value Range Propagation

2011-02-23 Thread Walter Bright
Andrei Alexandrescu wrote: On 2/23/11 12:03 PM, Simen kjaeraas wrote: Walter Bright newshou...@digitalmars.com wrote: http://ddj.com/blog/archives/2011/02/value_range_pro.html Now on Reddit: http://www.reddit.com/r/programming/comments/fr6ba/value_range_propagation_or_how_to_fit_those_two/

Re: dmd, x64 and Windows

2011-02-23 Thread Andrej Mitrovic
Well now I've tried executing it from the build folder but then I get an error: andrej@andrej-VirtualBox:~/Desktop/gdcbuild/buildgw/buildgw/gcc$ ./gdc test.d gdc: error trying to exec 'cc1d': execvp: No such file or directory (disregard the double buildgw folder, I've accidentally made two).

Re: dmd, x64 and Windows

2011-02-23 Thread Robert Clipsham
On 23/02/11 21:15, Andrej Mitrovic wrote: which apparently installed it in /build/Mingw32, but I can't seem to invoke it: $ gdc The program 'gdc' is currently not installed. You can install it by typing: sudo apt-get install gdc What do I have to do to be able to run gdc from within any

Re: LDC2 Status

2011-02-23 Thread Robert Clipsham
On 23/02/11 21:15, Robert Clipsham wrote: On 22/02/11 23:52, dsimcha wrote: I tried LDC2 for Linux out last week and again last night. I didn't spend much time on it on either attempt, but so far I haven't been able to get even Hello, World to compile. It seems like the instructions for

Re: dmd, x64 and Windows

2011-02-23 Thread Andrej Mitrovic
Ooh I'm probably missing runtime libs like binutils. Sorry! I still want to know how to install gdc on the system though.

  1   2   >