On Tue, 24 Aug 2010 23:34:31 -0400, Nick Sabalausky wrote:
> Someone created a webpage a little while ago to jump to the D
> documentation for a given identifier. What was the URL to that? In a
> real example of irony, I searched the NG for that search tool, but
> couldn't find it.
:)
http://dpl
Greetings,
are the ddoc sources of the official D documentation available
somewhere? Ideally as a repository? I thought about trying conversion to
SGML or something similar that would allow various output formats, a
structured TOC and -- most importantly -- indices!
Norbert
everyone who has it !
thanks !
On Wed, 25 Aug 2010 02:09:20 -0500, Norbert Nemec
wrote:
Greetings,
are the ddoc sources of the official D documentation available
somewhere? Ideally as a repository? I thought about trying conversion to
SGML or something similar that would allow various output formats, a
structured TO
On 2010-08-25 02:38, bearophile wrote:
Jonathan M Davis:
They probably aren't there because
...
In Bugzilla there are some pure-related bugs (3833, 3086/3831, maybe 4505) that
I think need that attribute in the mangled string. But as usual I may be wrong,
and other ways to solve those proble
On 2010-08-24 19:29, Trass3r wrote:
Phobos still uses 5 years old zlib 1.2.3
Couldn't that be updated to v1.2.5 (April 19, 2010)?
I think that was suggested on the phobos mailing list by Walter.
--
/Jacob Carlborg
Maybe I'm missing something, but I can't think of anyway *at all* to do
this generically.
Lets say I have some arbitrary bidirectional range, R, and I want to
find the first element that satisfies some predicate. After that, I want
to reverse the part of the range up to that element.
Essenti
Peter Alexander wrote:
Maybe I'm missing something, but I can't think of anyway *at all* to do
this generically.
Lets say I have some arbitrary bidirectional range, R, and I want to
find the first element that satisfies some predicate. After that, I want
to reverse the part of the range
Sorry, I should have mentioned this, but creating a copy of the
range into a newly allocated array is absolutely not acceptable
(this operation should require zero memory overhead).
For reference, this is trivially achievable in C++:
std::reverse(R.begin(), std::find_if(R.begin(), R.end(), pred))
On 25/08/10 08:27, Yao G. wrote:
On Wed, 25 Aug 2010 02:09:20 -0500, Norbert Nemec
wrote:
Greetings,
are the ddoc sources of the official D documentation available
somewhere? Ideally as a repository? I thought about trying conversion
to SGML or something similar that would allow various outpu
Jacob Carlborg:
> According to the ABI pure should already be in the mangled name (don't
> know if dmd follows that though). The mangled form looks like this:
>
> FuncAttrPure:
> Na
Yes, it's there:
import std.c.stdio: printf;
int function1(int x) {
return x * 2;
}
pure int function2(i
On Wed, Aug 25, 2010 at 06:56:00AM +, Lars T. Kyllingstad wrote:
> http://dpldocs.info/
>
> It's a great tool. Good work, Adam!
Thanks!
btw, I did a little bug fixing in it a week and a half ago, so it is now
100% up-to-date with the Digital Mars website. Also a new feature: bugzilla
jumpin
On Tue, 24 Aug 2010 18:00:32 -0400, Walter Bright
wrote:
Steven Schveighoffer wrote:
Through some more work with printf, I have to agree with bearophile,
this lookup function is horrid.
It is now, but when it was originally written (maybe as long as 20 years
ago) there were only a few s
On Tue, 24 Aug 2010 18:00:30 -0400, Simen kjaeraas
wrote:
On Tue, 24 Aug 2010 23:53:44 +0200, Jonathan M Davis
wrote:
On Tuesday, August 24, 2010 14:37:09 bearophile wrote:
Steven Schveighoffer:
> For example, foo(HashSet!int hs) inside the module testme becomes:
> _D6testme3fooFC12dcol
On Wed, 25 Aug 2010 04:08:00 -0400, Peter Alexander
wrote:
Maybe I'm missing something, but I can't think of anyway *at all* to do
this generically.
Lets say I have some arbitrary bidirectional range, R, and I want to
find the first element that satisfies some predicate. After that, I wa
On 8/25/10 1:08 PDT, Peter Alexander wrote:
Maybe I'm missing something, but I can't think of anyway *at all* to do
this generically.
Lets say I have some arbitrary bidirectional range, R, and I want to
find the first element that satisfies some predicate. After that, I want
to reverse the part
On Wed, 25 Aug 2010 09:10:18 -0400, Andrei Alexandrescu
wrote:
On 8/25/10 1:08 PDT, Peter Alexander wrote:
Maybe I'm missing something, but I can't think of anyway *at all* to do
this generically.
Lets say I have some arbitrary bidirectional range, R, and I want to
find the first element th
Thanks for the replies Andrei, Steven.
It's a bit disappointing that there is no solution to this,
although I think you already know what I'll suggest as a
solution :) (cursors/iterators)
It's quite funny really, because I had decided to drop the whole
iterator thing and just accept that the occa
Steven Schveighoffer wrote:
Pure might be worth stuffing in the symbol name, as the compiler may
optimize things differently for pure vs. non-pure(dirty?) code.
E.g. the result of a large, pure function that takes a while to compute
might be cached to prevent calling it twice.
These are decis
http://www.reddit.com/r/programming/comments/d58qq/interview_with_andrei_alexandrescu_part_3_d/
The author explains how he used bribery to spread non-political D internally
inside Facebook, among others =) Great read, good advertisement for us,
finally, in major media!
I propose and hereby petition Walter to set up a sub D newsgroup
called D.challenge which purpose is to make for a more-specific
forum (rather than the generic d.D) for topics which are related
to discussion about "challenging D to do this or that" in the
context of, say, another programming langu
On Wednesday, August 25, 2010 00:42:51 Jacob Carlborg wrote:
> On 2010-08-25 02:38, bearophile wrote:
> > Jonathan M Davis:
> >> They probably aren't there because
> >> ...
> >
> > In Bugzilla there are some pure-related bugs (3833, 3086/3831, maybe
> > 4505) that I think need that attribute in th
On 26/08/10 02:10, Jonathan M Davis wrote:
On Wednesday, August 25, 2010 00:42:51 Jacob Carlborg wrote:
On 2010-08-25 02:38, bearophile wrote:
Jonathan M Davis:
They probably aren't there because
...
In Bugzilla there are some pure-related bugs (3833, 3086/3831, maybe
4505) that I think need
On Wed, 25 Aug 2010 11:36:24 -0400, Simen kjaeraas
wrote:
Steven Schveighoffer wrote:
Pure might be worth stuffing in the symbol name, as the compiler may
optimize things differently for pure vs. non-pure(dirty?) code.
E.g. the result of a large, pure function that takes a while to compute
Justin Johansson wrote:
FuncAttrPure:
Na
So, sodium is pure huh. :)
- Jonathan M Davis
And natrium also? :-)
Natrium and sodium are the same.
--
Simen
I thought the type[new] syntax was part of a proposed feature that never
got off the ground, but then I didn't pay much attention to the discussion.
Under that assumption, could we get that syntax out of the parser?
Offending code circa 2477 and 2597 in current repo
Steven Schveighoffer wrote:
Just goes to show how useful a profiler is.
Yes, I'm glad you pushed me to do it. Looking forward to the fix.
The two secrets to writing fast code are:
1. using a profiler
2. looking at the assembler output of the compiler
In my experience, programmers will go t
Steven Schveighoffer wrote:
But it's a moot point, since purity *is* mangled into the symbol name.
Yes, that's done because the caller of a function may depend on that function's
purity. Changing the name mangling when purity changes will ensure that the
caller gets recompiled as well.
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
> Steven Schveighoffer wrote:
> >> Just goes to show how useful a profiler is.
> >
> > Yes, I'm glad you pushed me to do it. Looking forward to the fix.
> The two secrets to writing fast code are:
> 1. using a profiler
> 2. looking
On Wed, 25 Aug 2010 14:37:33 -0400, Walter Bright
wrote:
Steven Schveighoffer wrote:
Just goes to show how useful a profiler is.
Yes, I'm glad you pushed me to do it. Looking forward to the fix.
The two secrets to writing fast code are:
1. using a profiler
2. looking at the assembler o
Wed, 25 Aug 2010 14:53:58 -0400, Steven Schveighoffer wrote:
> On Wed, 25 Aug 2010 14:37:33 -0400, Walter Bright
> wrote:
>
>> Steven Schveighoffer wrote:
Just goes to show how useful a profiler is.
>>> Yes, I'm glad you pushed me to do it. Looking forward to the fix.
>>
>> The two secret
== Quote from retard (r...@tard.com.invalid)'s article
> Wed, 25 Aug 2010 14:53:58 -0400, Steven Schveighoffer wrote:
> > On Wed, 25 Aug 2010 14:37:33 -0400, Walter Bright
> > wrote:
> >
> >> Steven Schveighoffer wrote:
> Just goes to show how useful a profiler is.
> >>> Yes, I'm glad you pu
Wed, 25 Aug 2010 19:08:37 +, dsimcha wrote:
> == Quote from retard (r...@tard.com.invalid)'s article
>> Wed, 25 Aug 2010 14:53:58 -0400, Steven Schveighoffer wrote:
>> > On Wed, 25 Aug 2010 14:37:33 -0400, Walter Bright
>> > wrote:
>> >
>> >> Steven Schveighoffer wrote:
>> Just goes to s
retard:
> 0. use a better algorithm (the big O notation matters, like in this case)
This is a big mistake, because:
- Optimizing before you know what to optimize is premature optimization. The
profiler is one of the best tools to find what to optimize.
- Often data structures and algorithms are a
"Nick Sabalausky" wrote in message
news:i4puj3$1ic...@digitalmars.com...
> Mainly just curious: Is there a particular reason that DMD on windows
> doubles the backslashes in the paths in the deps files it generates, or is
> that a bug?
>
Given the lack of anyone speaking up with "This is why i
On Wed, Aug 25, 2010 at 03:39:28PM -0400, Nick Sabalausky wrote:
> Given the lack of anyone speaking up with "This is why it's done like
> that...", I take it it's unintentional?
If I were to guess, I'd think it was to defeat escaping (like in C
where '\\' == \) but I don't really know so I've k
On Wed, 25 Aug 2010 15:11:17 -0400, retard wrote:
Wed, 25 Aug 2010 19:08:37 +, dsimcha wrote:
== Quote from retard (r...@tard.com.invalid)'s article
Wed, 25 Aug 2010 14:53:58 -0400, Steven Schveighoffer wrote:
> On Wed, 25 Aug 2010 14:37:33 -0400, Walter Bright
> wrote:
>
>> Steven Schv
Andrei Alexandrescu wrote:
> Of all ranges, bidirectional ranges suffer of this limitation because
> they clearly have two underlying "ends" that are inaccessible in
> separation from the range.
Therefore one has to access them within the range. As far as I can see the
current implementation m
Steven Schveighoffer wrote:
You mean like asking someone who reported low performance of your
program on the newsgroup to do it for you? :)
1. He had the test case, I didn't.
2. People have repeatedly suggested I delegate some of the compiler work. Why
not?
dsimcha wrote:
I think you overestimate the amount of programmers that can read assembler
nowadays.
The thing is, you *don't* need to be able to read assembler in order to make
sense of the assembler output! For example, if:
f();
is in the source code, you don't need to know much assem
retard wrote:
He forgot:
0. use a better algorithm (the big O notation matters, like in this case)
No, I didn't forget that. There's no benefit to using a better algorithm in the
code that isn't the bottleneck. In my experience, even very experienced
developers are nearly always wrong about
bearophile wrote:
And regarding the problem of searching in a sequence of items, if the
sequence is small (probably up to 10 or 20 if the items are integers, the
language is a low level one and the associative array is not very efficient),
a linear search or a binary search is often faster.
Yup
retard wrote:
Wed, 25 Aug 2010 19:08:37 +, dsimcha wrote:
Yeah, but unless you use a profiler, how are you going to find those
spots where N isn't as small as you thought it would be?
Test-driven develoment, automatic testing tools,
Neither of those are designed to find bottlenecks, and
On Wed, 25 Aug 2010 16:29:06 -0400, Walter Bright
wrote:
Steven Schveighoffer wrote:
You mean like asking someone who reported low performance of your
program on the newsgroup to do it for you? :)
1. He had the test case, I didn't.
He == me :)
The test case was available as a tarball d
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
> bearophile wrote:
> > And regarding the problem of searching in a sequence of items, if the
> > sequence is small (probably up to 10 or 20 if the items are integers, the
> > language is a low level one and the associative array is
"Walter Bright" wrote in message
news:i53ucl$22n...@digitalmars.com...
>
> Right, assembler isn't hard to read after you spend a few moments with it.
> After all,
>
> MOV EAX,3
>
> is hardly rocket science!
Heh, funny thing about difficulty is how relative it can be. I've heard
people who do r
Andrei Alexandrescu wrote:
This is an annoying limitation of bidirectional ranges that we don't
have a solid solution to. Let me put on the table the unacceptable
solution as a baseline:
auto n = walkLength(r) - walkLength(until!pred(r));
popBackN(r, n);
reverse(r);
Of all ranges, bidirec
Nick Sabalausky wrote:
"Walter Bright" wrote in message
is hardly rocket science!
Heh, funny thing about difficulty is how relative it can be. I've heard
people who do rocketry say that rocket science really isn't as hard as
people think. But programming doesn't come very naturally to most pe
dsimcha wrote:
I wonder how much of the compile time of more typical projects is taken up by
this
linear search. Could it be that that's also why std.stdio compiles relatively
slow? It's a big module that does a lot of template instantiations. If this
silly bug was a bottleneck everywhere, th
Steven Schveighoffer wrote:
On Wed, 25 Aug 2010 16:29:06 -0400, Walter Bright
wrote:
Steven Schveighoffer wrote:
You mean like asking someone who reported low performance of your
program on the newsgroup to do it for you? :)
1. He had the test case, I didn't.
He == me :)
The test case w
On 8/25/10 14:09 PDT, Simen kjaeraas wrote:
Andrei Alexandrescu wrote:
This is an annoying limitation of bidirectional ranges that we don't
have a solid solution to. Let me put on the table the unacceptable
solution as a baseline:
auto n = walkLength(r) - walkLength(until!pred(r));
popBackN(r
On Wed, Aug 25, 2010 at 02:21:44PM -0700, Walter Bright wrote:
> The harder stuff is when you put a man on the top of it, and you try to
> make it reliable.
I like to say: rocket science is easy. Rocket /engineering/ though,
that's another story!
I guess asm might be the same. Doing the individ
On 26/08/10 02:35, Simen kjaeraas wrote:
Justin Johansson wrote:
FuncAttrPure:
Na
So, sodium is pure huh. :)
- Jonathan M Davis
And natrium also? :-)
Natrium and sodium are the same.
Of course! Just a bit of tautological silliness on my part. :-)
... At the moment, Walter Bright's first priority is to finalize the 64-bit
native compiler, after which he plans to focus on dynamic loading.
At first I was like :D
... There's no incompatible D3 in the foreseeable future ...
but then I bummed.
... Get this�I've seen beautiful PHP code...
On Wednesday, August 25, 2010 17:27:41 Ben White wrote:
> ... There's no incompatible D3 in the foreseeable future ...
>
> but then I bummed.
We need D2 to completely and totally stable before we even consider anything
like D3. If you don't properly stabilize what you have and let it mature, it'
Jonathan M Davis
> If D2's user base really increases like we'd like it to (and TDPL should help
> a lot with
> that), it's going to cost users a lot more when backwards compatability is
> broken.
This is why I don't like a lot the current work done for the 64 bit
implementation. D2 has some
> Implementation matters come after design matters if you impose the constraint
> of keeping backwards compatibility.
But I agree that 64 bits is a quite important implementation matter, while
those things I did list were very little design matters :-)
Bye,
bearophile
On 26/08/10 10:55, bearophile wrote:
Jonathan M Davis
If D2's user base really increases like we'd like it to (and TDPL should help a
lot with
that), it's going to cost users a lot more when backwards compatability is
broken.
This is why I don't like a lot the current work done for the 64 bi
== Quote from bearophile (bearophileh...@lycos.com)'s article
> The gentle and a-lot-working David Simcha has converted one of my bug reports
into an enhancement request:
> http://d.puremagic.com/issues/show_bug.cgi?id=4264
> Currently (SVN) only array() is able to digest iterables that define opAp
Justin Johansson:
> ++vote
But this time I was a pretty idealistic person. So in the end I respect Walter
decision, because he may have taken in account more practical considerations.
Bye,
bearophile
dsimcha:
> even though Map gets fully inlined when used alone.
This is what I too have found in past.
> I wonder if this is a weakness of compiler inlining heuristics in general,
> though.
I have a bug report open for LLVM about this :-)
> is this just an ugly corner case in the imperfect he
Ben White schrieb:
> ... At the moment, Walter Bright's first priority is to finalize the
64-bit
> native compiler, after which he plans to focus on dynamic loading.
>
> At first I was like :D
Yeah, that's great news - I started a new project about 6 weeks ago
still in D1, because D2 lacks AMD
On 26/08/10 11:26, bearophile wrote:
Justin Johansson:
++vote
But this time I was a pretty idealistic person. So in the end I respect Walter
decision, because he may have taken in account more practical considerations.
Bye,
bearophile
Yes, understand and obviously it's Walter's call. In h
On 8/25/10 20:09 PDT, Daniel Gibson wrote:
Ben White schrieb:
> ... At the moment, Walter Bright's first priority is to finalize the
64-bit
> native compiler, after which he plans to focus on dynamic loading.
>
> At first I was like :D
Yeah, that's great news - I started a new project about
Hello,
At my workplace we're using Google's logging library glog
(http://google-glog.googlecode.com/svn/trunk/doc/glog.html), and the
more I use it, the more I like it. It's simple, to the point, and effective.
I was thinking it would be great to adapt a similar design into Phobos.
There wi
bearophile wrote:
This is why I don't like a lot the current work done for the 64 bit
implementation.
A lot of groups cannot consider D unless it supports 64 bit compilation.
D2 has some design problems (I don't call them 'enhancement
requests') that if you want to fix may require to break b
Walter Bright Wrote:
> It is now, but when it was originally written (maybe as long as 20 years ago)
> there were only a few strings in the table, and it was fine. It's just
> outlived
> its design. Clearly, it should now be a hash table.
Where did you get it? Digital Mars seems to not have an
Justin Johansson wrote:
A lot of people will be pleased to
see 64-bit D.
64 bit has been pushed aside for around 7 years now in favor of more urgent
matters. It's time to get it done.
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
> Steven Schveighoffer wrote:
> >> Just goes to show how useful a profiler is.
> >
> > Yes, I'm glad you pushed me to do it. Looking forward to the fix.
> The two secrets to writing fast code are:
> 1. using a profiler
> 2. looking
"Era Scarecrow" wrote in message
news:i54qi9$1d2...@digitalmars.com...
> == Quote from Walter Bright (newshou...@digitalmars.com)'s article
>> Steven Schveighoffer wrote:
>> >> Just goes to show how useful a profiler is.
>> >
>> > Yes, I'm glad you pushed me to do it. Looking forward to the fix.
Hello dsimcha,
FWIW I only learned when I posted a bunch of stuff here about various
performance issues and you kept asking me to read the disassembly. In
hindsight it was well worth it, though.
I still thing CS-101 should be in ASM. It would give people a better understanding
of what really
Era Scarecrow wrote:
== Quote from Walter Bright (newshou...@digitalmars.com)'s article
The two secrets to writing fast code are:
1. using a profiler
2. looking at the assembler output of the compiler
In my experience, programmers will go to astonishing lengths to avoid doing
those two, and will
Andrei Alexandrescu Wrote:
> of << etc., but the spirit will be similar. What do you think?
What bugs me most in log4net - it doesn't delete old logs that can take up to
gigabytes.
Steven Schveighoffer wrote:
On Tue, 24 Aug 2010 03:58:57 -0400, Walter Bright
wrote:
Steven Schveighoffer wrote:
With profiling enabled, gprof outputs this as the top hitters:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time sec
74 matches
Mail list logo