Re: Strategies for resolving cyclic dependencies in static ctors

2011-03-21 Thread Nick Sabalausky
"Vladimir Panteleev" wrote in message news:op.vsp3zooituz...@cybershadow.mshome.net... > On Tue, 22 Mar 2011 04:30:37 +0200, Vladimir Panteleev > wrote: > >> Your post doesn't seem to mention it, > > Sorry, didn't scroll down enough :) > Well, that is a lot of scrolling, actually :)

Re: Anything in the review queue?

2011-03-21 Thread Simen kjaeraas
On Tue, 22 Mar 2011 02:08:39 +0100, dsimcha wrote: The biggest perf issue, though, seems to be Euler's algorithm instead of BinaryGCD. This is definitely going to get fixed eventually by me, since I've read up on BinaryGCD and it doesn't look hard to implement generically. I naively thou

Re: Anything in the review queue?

2011-03-21 Thread Don
Andrei Alexandrescu wrote: On 3/21/11 12:18 PM, dsimcha wrote: == Quote from Don (nos...@nospam.com)'s article Ok, I don't know much about how BigInts work under the hood. I used a fairly simple implementation of Euler's algorithm here. Is there something much more efficient for BigInts? Yes

Shared lib support for Linux

2011-03-21 Thread Long Chang
Hello , The DMD will support shared lib for linux in future, But I wan't to know when this can be completed . I am try use GDC build libgdruntime.a with -fPIC, and catch some error I can't fix it . for example: ../../../../libphobos/rt/arraybyte.d ../../../../libphobos/rt/arraybyte.d: In funct

Re: Word Tearing: Still a practical problem?

2011-03-21 Thread %u
> Excellent. I highly doubt we care about std.parallelism working on embedded platforms. (Who the heck has a multicore embedded CPU anyway?) I KNOW!! 64k ought to be enough for anybody, right?

Re: Uh... destructors?

2011-03-21 Thread bearophile
> Do input arguments of pure functions need the @transparent attributes? Is > dropping it ouside the pure subset of the program safe/acceptable? I think so. Sorry, in my opinion the answers to those questions are no and yes. Bye, bearophile

Re: Uh... destructors?

2011-03-21 Thread bearophile
Sorry for the late reply to this post, the topic is not easy and I am not sure what the right ideas are: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=130554 Steven Schveighoffer: > @transparent has little value outside a pure function, because the > comp

Interested in a GSoC project idea

2011-03-21 Thread %u Ishan Thilina
Hi, I'm interested in the GSoC project idea which is listed in http://prowiki.org/wiki4d/wiki.cgi?GSOC_2011_Ideas#Containers . But the problem is that I couldn't find the relevant mentor for the project. Can somebody help me to find the mentor and contact him? Thank you...!

Re: Strategies for resolving cyclic dependencies in static ctors

2011-03-21 Thread Vladimir Panteleev
On Tue, 22 Mar 2011 04:30:37 +0200, Vladimir Panteleev wrote: Your post doesn't seem to mention it, Sorry, didn't scroll down enough :) -- Best regards, Vladimirmailto:vladi...@thecybershadow.net

Re: Strategies for resolving cyclic dependencies in static ctors

2011-03-21 Thread Vladimir Panteleev
On Tue, 22 Mar 2011 02:12:55 +0200, Nick Sabalausky wrote: The question: What now? What strategies do people find useful for dealing with this? Any specific "first steps" to take? Best practices? Etc. Your post doesn't seem to mention it, but how about converting the static ctors to initial

Re: Anything in the review queue?

2011-03-21 Thread bearophile
Andrei: > By its very design, BigInt is supposed to > transparently replace integers. Small missing parts: http://d.puremagic.com/issues/show_bug.cgi?id=5765 To allow them in switch too: http://d.puremagic.com/issues/show_bug.cgi?id=596 Bye, bearophile

Re: review of std.parallelism

2011-03-21 Thread dsimcha
On 3/21/2011 11:58 AM, dsimcha wrote: == Quote from dsimcha (dsim...@yahoo.com)'s article == Quote from Michel Fortin (michel.for...@michelf.com)'s article On second thought, no, but for practical, not theoretical reasons: One, you can't introspect whether a foreach loop is using a ref or a val

Re: Anything in the review queue?

2011-03-21 Thread dsimcha
On 3/21/2011 8:33 PM, Andrei Alexandrescu wrote: I think by and large failure to define rational for BigInt in a way that has many commonalities with rational for built-in integrals reflects a failure of BigInt. By its very design, BigInt is supposed to transparently replace integers. If this is

Re: Anything in the review queue?

2011-03-21 Thread Andrei Alexandrescu
On 3/21/11 12:18 PM, dsimcha wrote: == Quote from Don (nos...@nospam.com)'s article Ok, I don't know much about how BigInts work under the hood. I used a fairly simple implementation of Euler's algorithm here. Is there something much more efficient for BigInts? Yes. Euler's algorithm performs

Re: Word Tearing: Still a practical problem?

2011-03-21 Thread Nick Sabalausky
"dsimcha" wrote in message news:im8pu5$1921$1...@digitalmars.com... > On 3/21/2011 7:55 PM, nedbrek wrote: >> >> The main architectures (x86 and ARM) are both byte granular. Most >> embedded >> platforms are also byte granular. Alpha is the only architecture I am >> aware >> of that had this

Re: Strategies for resolving cyclic dependencies in static ctors

2011-03-21 Thread Nick Sabalausky
"Nick Sabalausky" wrote in message news:im8pmp$18p7$1...@digitalmars.com... > > The pattern: The trick is to convert every variable that needs to be > initialized into an "init on first use" ref @property. This "ref > @property" checks a "hasThisBeenInited" bool and, if false, runs all the > i

Re: Word Tearing: Still a practical problem?

2011-03-21 Thread dsimcha
On 3/21/2011 7:55 PM, nedbrek wrote: Hello all, "dsimcha" wrote in message news:im8d3b$j78$1...@digitalmars.com... A few posts deep in the discussion on std.parallelism have prompted me to double-check an assumption that I made previously. Is writing to adjacent but non-overlapping memory add

Strategies for resolving cyclic dependencies in static ctors

2011-03-21 Thread Nick Sabalausky
I'm intending this thread as somewhat of a roundtable-like discussion. Hopefully we can come up with good material for a short article on Wiki4D, or maybe the D website, or wherever. The scenario: A coder is writing some D, compiles, runs and gets a "Cyclic dependency in static ctors" error. Cr

Re: Anything in the review queue?

2011-03-21 Thread Don
dsimcha wrote: == Quote from Don (nos...@nospam.com)'s article dsimcha wrote: On 3/21/2011 3:59 AM, Don wrote: The original plan for BigInt was to have a BigRational type. Suppose that such a thing existed -- would it affect plans for this library? I'm not sure that it is realistic to have a

Re: Word Tearing: Still a practical problem?

2011-03-21 Thread nedbrek
Hello all, "dsimcha" wrote in message news:im8d3b$j78$1...@digitalmars.com... >A few posts deep in the discussion on std.parallelism have prompted me to > double-check an assumption that I made previously. Is writing to adjacent > but > non-overlapping memory addresses concurrently from differ

Re: Argh!! Cyclic dependencies!!!

2011-03-21 Thread Nick Sabalausky
"Steven Schveighoffer" wrote in message news:op.vso2wwsweav7ka@steve-laptop... > > If you are interested, the code that runs the static ctors is in druntime, > not the compiler. Yea, I had a feeling druntime would be involved since the cycles get reported at runtime. Thanks for confirming, tho

Re: How to proceed now that D is accepted to GSoC?

2011-03-21 Thread Trass3r
or helping to get dmd x64 on Windows running (I suggest using MinGW's tools for that if possible). To quote Walter: "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

Re: Against enforce()

2011-03-21 Thread Simen kjaeraas
On Mon, 21 Mar 2011 15:35:58 +0100, Steven Schveighoffer wrote: Why does one make sense and the other not? In other words, if I have a function like this: int foo(int delegate() x) pure {...} is this *ever* callable from a strong-pure function? Or does the delegate have to be declared

Re: How to proceed now that D is accepted to GSoC?

2011-03-21 Thread Trass3r
Students are now supposed to submit/discuss project proposals hmm how about making D run on other architectures like ARM, PowerPC, ...?

Re: Word Tearing: Still a practical problem?

2011-03-21 Thread dsimcha
== Quote from bearophile (bearophileh...@lycos.com)'s article > dsimcha: > > Is writing to adjacent but > > non-overlapping memory addresses concurrently from different threads safe on > > all hardware we care about supporting? > Aren't some problems caused by writing on the same cache line? > Bye,

Re: Word Tearing: Still a practical problem?

2011-03-21 Thread bearophile
dsimcha: > Is writing to adjacent but > non-overlapping memory addresses concurrently from different threads safe on > all hardware we care about supporting? Aren't some problems caused by writing on the same cache line? Bye, bearophile

Word Tearing: Still a practical problem?

2011-03-21 Thread dsimcha
A few posts deep in the discussion on std.parallelism have prompted me to double-check an assumption that I made previously. Is writing to adjacent but non-overlapping memory addresses concurrently from different threads safe on all hardware we care about supporting? I know this isn't safe on som

Re: Anything in the review queue?

2011-03-21 Thread Andrei Alexandrescu
On 3/21/11 3:15 AM, Jacob Carlborg wrote: On 2011-03-20 16:10, Andrei Alexandrescu wrote: Since David kindly agreed to work some more on std.parallelism, there is now time for carrying one review cycle on another library. I recall there's work on: * std.goodxml (status?) * std.net (beyond mere

Re: Anything in the review queue?

2011-03-21 Thread dsimcha
== Quote from Don (nos...@nospam.com)'s article > > Ok, I don't know much about how BigInts work under the hood. I used a > > fairly simple implementation of Euler's algorithm here. Is there > > something much more efficient for BigInts? > Yes. Euler's algorithm performs very poorly for BigInts.

Re: Anything in the review queue?

2011-03-21 Thread dsimcha
== Quote from Don (nos...@nospam.com)'s article > dsimcha wrote: > > On 3/21/2011 3:59 AM, Don wrote: > >> The original plan for BigInt was to have a BigRational type. Suppose > >> that such a thing existed -- would it affect plans for this library? > >> > >> I'm not sure that it is realistic to ha

Re: Anything in the review queue?

2011-03-21 Thread Don
dsimcha wrote: On 3/21/2011 3:59 AM, Don wrote: The original plan for BigInt was to have a BigRational type. Suppose that such a thing existed -- would it affect plans for this library? I'm not sure that it is realistic to have a single templated type that does both BigInt rationals, together w

Re: review of std.parallelism

2011-03-21 Thread dsimcha
== Quote from dsimcha (dsim...@yahoo.com)'s article > == Quote from Michel Fortin (michel.for...@michelf.com)'s article > > > On second thought, no, but for practical, not theoretical reasons: > > > One, you can't introspect whether a foreach loop is using a ref or a > > > value parameter. This is

Re: Anything in the review queue?

2011-03-21 Thread KennyTM~
On Mar 21, 11 21:54, dsimcha wrote: (3) BigInts cannot overflow. In particular, gcd algorithms for arbitrary precision types are quite different to gcd for built-ins. Ok, I don't know much about how BigInts work under the hood. I used a fairly simple implementation of Euler's algorithm here.

Re: review of std.parallelism

2011-03-21 Thread dsimcha
== Quote from Michel Fortin (michel.for...@michelf.com)'s article > > On second thought, no, but for practical, not theoretical reasons: > > One, you can't introspect whether a foreach loop is using a ref or a > > value parameter. This is an issue with how opApply works. > Indeed a problem. Either

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread KennyTM~
On Mar 21, 11 18:26, Daniel Gibson wrote: Am 21.03.2011 11:09, schrieb KennyTM~: On Mar 21, 11 16:17, Don wrote: I agree. But unfortunately, the idea is a relatively complicated feature with a lot of special cases. For example, this(this.bla, this.bla){} 'int f(int x, int x) {}' is a syntax

Re: review of std.parallelism

2011-03-21 Thread Michel Fortin
On 2011-03-21 09:50:09 -0400, dsimcha said: On 3/21/2011 8:37 AM, Michel Fortin wrote: Well, it'll work irrespective of whether shared delegates are used or not. I think you could add a compile-time check that the array element size is a multiple of the word size when the element is passed by

Re: Against enforce()

2011-03-21 Thread Steven Schveighoffer
On Mon, 21 Mar 2011 10:08:56 -0400, Don wrote: Steven Schveighoffer wrote: Will there not be an expectation that a pure function will not read/write shared data that will be broken (i.e. why did the compiler allow this, I thought I was safe from this!)? If you pass the address of global

Re: Against enforce()

2011-03-21 Thread Don
Steven Schveighoffer wrote: On Fri, 18 Mar 2011 20:06:16 -0400, Don wrote: Steven Schveighoffer wrote: On Fri, 18 Mar 2011 14:35:27 -0400, Don wrote: Steven Schveighoffer wrote: On Fri, 18 Mar 2011 04:34:54 -0400, Don wrote: Steven Schveighoffer Wrote: As long as the delegate does not

Re: Anything in the review queue?

2011-03-21 Thread dsimcha
On 3/21/2011 3:59 AM, Don wrote: The original plan for BigInt was to have a BigRational type. Suppose that such a thing existed -- would it affect plans for this library? I'm not sure that it is realistic to have a single templated type that does both BigInt rationals, together with rationals ba

Re: review of std.parallelism

2011-03-21 Thread dsimcha
On 3/21/2011 8:37 AM, Michel Fortin wrote: Well, it'll work irrespective of whether shared delegates are used or not. I think you could add a compile-time check that the array element size is a multiple of the word size when the element is passed by ref in the loop and leave the clever trick as a

Re: Argh!! Cyclic dependencies!!!

2011-03-21 Thread Steven Schveighoffer
On Fri, 18 Mar 2011 17:42:58 -0400, Nick Sabalausky wrote: These module constructor "Cyclic dependencies" errors are really starting to piss me off. I feel like I'm back in the days when you'd sneeze and DMD would vomit out 100 forward reference errors just because you didn't write your wh

Re: Archetype language

2011-03-21 Thread Jacob Carlborg
On 2011-03-20 18:36, bearophile wrote: Through I've found a link to a language I didn't know, named Archetype. This blog post contains some pointers and references about the language: http://dvanderboom.wordpress.com/2010/04/26/new-language-code-named-archetype/ Some comments and quotations and

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread bearophile
Don: > 'pure', for example, is roughly the same level of > implementation complexity as this feature. If this is true, then this is amazing :-) Considering that pure is probably about 60-70% implemented in D (no way to perform conditional purity, no good management of special cases, your last

Re: Against enforce()

2011-03-21 Thread Steven Schveighoffer
On Fri, 18 Mar 2011 20:06:16 -0400, Don wrote: Steven Schveighoffer wrote: On Fri, 18 Mar 2011 14:35:27 -0400, Don wrote: Steven Schveighoffer wrote: On Fri, 18 Mar 2011 04:34:54 -0400, Don wrote: Steven Schveighoffer Wrote: As long as the delegate does not access shared/global data, i

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread Don
Daniel Gibson wrote: Am 21.03.2011 11:09, schrieb KennyTM~: On Mar 21, 11 16:17, Don wrote: I agree. But unfortunately, the idea is a relatively complicated feature with a lot of special cases. For example, this(this.bla, this.bla){} 'int f(int x, int x) {}' is a syntax error. So should 'this(

Re: review of std.parallelism

2011-03-21 Thread Michel Fortin
On 2011-03-20 23:21:49 -0400, dsimcha said: On 3/20/2011 10:44 PM, Michel Fortin wrote: I don't see a problem with the above. The array elements you modify are passed through parallel's opApply which can check easily whether it's safe or not to pass them by ref to different threads (by checki

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread Don
spir wrote: On 03/21/2011 12:55 AM, bearophile wrote: Among the things I've listed about Archetype there's one interesting thing. Class instances aren't PODs, but sometimes I prefer reference semantics and to populate fields in a plain way, expecially for simple classes. Time ago I and other

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread Daniel Gibson
Am 21.03.2011 11:09, schrieb KennyTM~: > On Mar 21, 11 16:17, Don wrote: >> >> I agree. But unfortunately, the idea is a relatively complicated feature >> with a lot of special cases. For example, this(this.bla, this.bla){} > > 'int f(int x, int x) {}' is a syntax error. So should 'this(this.x, >

Re: Anything in the review queue?

2011-03-21 Thread Jacob Carlborg
On 2011-03-20 16:10, Andrei Alexandrescu wrote: Since David kindly agreed to work some more on std.parallelism, there is now time for carrying one review cycle on another library. I recall there's work on: * std.goodxml (status?) * std.net (beyond mere libcurl bindings) * std.path (improvement

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread KennyTM~
On Mar 21, 11 16:17, Don wrote: Daniel Gibson wrote: Am 21.03.2011 00:55, schrieb bearophile: Among the things I've listed about Archetype there's one interesting thing. Class instances aren't PODs, but sometimes I prefer reference semantics and to populate fields in a plain way, expecially for

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread spir
On 03/21/2011 12:55 AM, bearophile wrote: Among the things I've listed about Archetype there's one interesting thing. Class instances aren't PODs, but sometimes I prefer reference semantics and to populate fields in a plain way, expecially for simple classes. Time ago I and other people have s

Re: Quo vadis, D2? Thoughts on the D library ecosystem.

2011-03-21 Thread Jacob Carlborg
On 2011-03-20 00:12, Jonathan M Davis wrote: On Saturday 19 March 2011 07:43:37 David Nadlinger wrote: While lying in the bed with fever yesterday (so please excuse any careless mistakes), I was pondering a bit about the current discussions regarding Phobos additions, package management, etc. It

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread Daniel Gibson
Am 21.03.2011 09:17, schrieb Don: > Daniel Gibson wrote: >> Am 21.03.2011 00:55, schrieb bearophile: >>> Among the things I've listed about Archetype there's one interesting thing. >>> Class instances aren't PODs, but sometimes I prefer reference semantics and >>> to populate fields in a plain way,

Re: Auto constructor [Was: Archetype language]

2011-03-21 Thread Don
Daniel Gibson wrote: Am 21.03.2011 00:55, schrieb bearophile: Among the things I've listed about Archetype there's one interesting thing. Class instances aren't PODs, but sometimes I prefer reference semantics and to populate fields in a plain way, expecially for simple classes. Time ago I a

Re: Anything in the review queue?

2011-03-21 Thread Don
dsimcha wrote: On 3/20/2011 10:26 PM, bearophile wrote: dsimcha: On second thought, given the difficulty finding anything else, rational may be the thing that's most ready. I'll offer it up for review now It's good to have rationals in Phobos, thank you. Is this GCD? There is already a gcd

Re: How to proceed now that D is accepted to GSoC?

2011-03-21 Thread Jens Mueller
dsimcha wrote: > On 3/20/2011 6:33 AM, Jens Mueller wrote: > >Hi, > > > >according to > >http://www.google-melange.com/gsoc/program/accepted_orgs/google/gsoc2011 > >Digital Mars got accepted to GSoC 2011. > > > >On the above mentioned page Digital Mars is ranked in the second table > >because the o