ou think about having
> a good compiler under it.
OTOH, there is no virtual or inline keywork, so it's a little
contradictory about this :P
I think the specs are just too tied to DMD's capabilities, it's not that
it requires a particularly dumb or smar
compile (due to missing
> parens in accessors). Either that or omissible empty parens will
> still be present, but I see no usefulness of @property in that case.
@deprecated will affect if a program compiles too. @safe /
d to do LTO).
See:
http://gcc.gnu.org/wiki/LinkTimeOptimization
http://llvm.org/docs/GoldPlugin.html
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9
-typing in all
this. I think you're confusing duck-typing with dynamic-typing or I'm
missing something?
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4
Walter Bright, el 29 de noviembre a las 13:52 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el 27 de noviembre a las 15:30 me escribiste:
> >>One thing Java and Python, Ruby, etc., still hold over D is dynamic
> >>classes, i.e. classes that are only kn
retard, el 29 de noviembre a las 18:27 me escribiste:
> Sun, 29 Nov 2009 14:59:27 -0300, Leandro Lucarella wrote:
>
> > Walter Bright, el 27 de noviembre a las 15:30 me escribiste:
> >> One thing Java and Python, Ruby, etc., still hold over D is dynamic
> >> class
would you like it to be?
>
>
> I wouldn't go as far as saying "yuck" to the above, but I like the
> Phobos way better:
>
> foreach (line; File("foobar.txt").byLine)
> {
> ...
> }
I think you need a few more imports in Tango
opDispatch()) is you can't add real members, you
can only use magic method to add members at runtime. And that's why
I think it would be nice to have some standard facilities to do this extra
work, otherwise every D programmer will come up with its own
implementation and interoperability will
>It's a limitation similar to not having a field and a method share
> >the same name. It avoids a number of awkward questions such as
> >figuring the meaning of &s.x.
>
> I agree. While the compiler currently doesn't check for mixing u
#x27;s pretty common, you can do things like this:
class A:
if WHATEVER:
def __init__(self):
pass
else:
def __init__(self, x):
pass
> > 10. ability to manage resources directly
What do you mea
Bill Baxter, el 1 de diciembre a las 04:14 me escribiste:
> "bugzilla 3558 Optimizer bug results in false if condition being taken"
> Excellent. That's a much more useful commit message.
Indeed, I'm glad he heard you, he certainly didn't heard my praying. =P
nt to see the actual
changes, the diffs, not only a high-level description of the change.
Thanks!
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E
Bill Baxter, el 1 de diciembre a las 08:53 me escribiste:
> On Tue, Dec 1, 2009 at 8:45 AM, Steven Schveighoffer
> wrote:
> > On Tue, 01 Dec 2009 11:16:06 -0500, Leandro Lucarella
> > wrote:
> >
> >> Speaking of improving the VCS usage, how about tagging?
>
Sean Kelly, el 1 de diciembre a las 11:52 me escribiste:
> Leandro Lucarella Wrote:
>
> > Speaking of improving the VCS usage, how about tagging?
>
> An easy intermediate step would be to include the SVN revision numbers
> of Phobos ad Druntime when a release is pa
t, but I don't think anyone uses assembler just for fun, you use it
either for optimization (where I already said D is better than Python) or
for doing some low-level stuff (where Python clearly is not a viable
option).
> >I really think the *onl
Andrei Alexandrescu, el 1 de diciembre a las 11:07 me escribiste:
> Walter Bright wrote:
> >Leandro Lucarella wrote:
> >>with file(fname) as f:
> >>x = f.read(10)
> >>f.write(x)
> >
> >Looks like you're right, and it's a recently a
le cycle (no matter how fast compiling is)
is a *huge* win. Having an interactive console (with embedded
documentation) is another big win.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5
Walter Bright, el 1 de diciembre a las 11:17 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el 28 de noviembre a las 13:31 me escribiste:
> >>retard wrote:
> >>>Is this again one of those features that is supposed to hide the
> >>>fact that d
Walter Bright, el 1 de diciembre a las 13:43 me escribiste:
> Leandro Lucarella wrote:
> >>>>>5. simple interfacing to C
> >>>>In case you mean no unnecessary wrappers etc., this has more to
> >>>>do with the execution model than language featu
Walter Bright, el 1 de diciembre a las 13:45 me escribiste:
> Leandro Lucarella wrote:
> >I develop twice as fast in Python than in D. Of course this is only me,
> >but that's where I think Python is better than D :)
>
> If that is not just because you know the Pytho
Walter Bright, el 1 de diciembre a las 17:31 me escribiste:
> Leandro Lucarella wrote:
> >It looks like you can (not as easily) according to bearophile example, but
> >this is besides the point, you only want to use malloc() for performance
> >reasons, and I already said
ed, you don't need optimization
tricks.
The kind of metaprogramming I'm talking about is, for example, generating
boring, repetitive boilerplate code.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
;emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&remtype=asdefault&field0-0-0=noop&type0-0-0=noop&value0-0-0=
I'd like to c
Leandro Lucarella, el 2 de diciembre a las 17:53 me escribiste:
> Walter Bright, el 2 de diciembre a las 12:23 me escribiste:
> > l8night wrote:
> > >Too many bugs - no way my superiors allow some program with that bug list
> >
> > Here's the gcc bug list wi
nt. It might not be true for you but what I
> asserts is true for me. Most of the things *I* want from
> metaprogramming must be done as compile time metaprogramming. Saying
> "dynamic languages can do something at run time" doesn't imply that
> there is nothing more t
Don, el 2 de diciembre a las 22:20 me escribiste:
> Leandro Lucarella wrote:
> >BCS, el 2 de diciembre a las 17:37 me escribiste:
> >>Hello Leandro,
> >>
> >>
> >>>If you say dynamic languages don't have metaprogramming capabilities,
> &g
end up filling a bug report (or at least searching
for one and seeing it's already reported). That doesn't happen with GCC.
Again, fortunately, since you opened the DMD code, this is improving
fairly fast. I hope you can change the license some time, and you start
encouraging other
Andrei Alexandrescu, el 2 de diciembre a las 13:03 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el 2 de diciembre a las 12:23 me escribiste:
> >>l8night wrote:
> >>>Too many bugs - no way my superiors allow some program with that bug list
> >
Walter Bright, el 2 de diciembre a las 14:46 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el 2 de diciembre a las 13:29 me escribiste:
> >>>>I'd like to compare the user base and calculate the bugs/users ratio.
> >>>>I guess GCC's w
D2 doesn't follow the D1 path (before D2
was forked), introducing new features each release without notice and
breaking backwards compatibility.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
---
eption; once the postcondition finished executing, the
exception should be propagated as is.
> If exception handling postcondition is empty (or does not throw any
> Error or Exception), should the exception throw in body be
> suppressed or not?
No.
> If you t
e
maintained).
If you keep using an old Python version, you will never get a bugfix.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key:
be allowed
(not throwing using throw), and assert should in post/pre-conditions
should dump a core, no more, no less.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
retty neat, because it's make the caller
intentions explicit (and it's very compact). For example, if you write:
foo({bar()});
Is more obvious that bar() might not be even called. Is like explicit
reference passing (which D doesn't have unfortunately).
I don't know if it's
foo({return a;});
Which is considerably uglier than
12 foo({a});
At least when talking about replacing "lazy" :)
Nobody wants to write:
enforce({ return a == 5; });
instead of:
enforce(a == 5);
But:
enforce
I wanted to reproduce it to make a bug report to attach the patch but
I couldn't. I replaced msleep() with usleep() (and multiplied the values
by 1000) because I'm in Linu
refox.
>
> I'm on firefox, and it's giving me some problem with the certificate.
I think there is no problem with the certificate, it's just not signed by
any certifiying authority.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
Leandro Lucarella, el 12 de diciembre a las 11:18 me escribiste:
> Walter Bright, el 11 de diciembre a las 20:51 me escribiste:
> > Leandro Lucarella wrote:
> > >I want to be sure the bug is present before the patch and fixed after the
> > >patch before submi
Walter Bright, el 11 de diciembre a las 20:51 me escribiste:
> Leandro Lucarella wrote:
> >I want to be sure the bug is present before the patch and fixed after the
> >patch before submiting the patch via Bugzilla.
>
> It's a good fix, I checked in a patch for it.
G
Walter Bright, el 12 de diciembre a las 10:29 me escribiste:
> Leandro Lucarella wrote:
> >If you could add a small description of what the commit is about besides
> >pointing the NG discussion/Bugzilla number, as you are doing with DMD now,
> >it would be really great! =)
&
BLS, el 12 de diciembre a las 19:53 me escribiste:
> if you want to make money : make it close source.
You got it *so* wrong.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F
o getFoo() {
> >return Foo();
> >}
> >
> >void main() {
> >Foo foo = getFoo();
> >bool isEqual = foo == getFoo();
> >}
> >
> >Error: Foo.opEquals type signature should be const bool(ref const(Foo)) not
> >const bool(Foo rhs)
> &g
>>>
> >>>void main() {
> >>>Foo foo = getFoo();
> >>>bool isEqual = foo == getFoo();
> >>>}
> >>>
> >>>Error: Foo.opEquals type signature should be const bool(ref const(Foo))
> >>&g
a = 5, b = 7;
> double y = a \\ b;
> (I don't like that much, Pascal is better here).
What about ./ for floating point division? Maybe it introduces some kind
of ambiguity with 1./2, but fortunately the result should be the same if
that means 1. / 2 or 1 ./ 2
foo(ref int x)
> >>
> >>This means that the generic forwarding function would look like:
> >>
> >>auto ref foo(alias F, T...)(auto ref T args) { return F(args); }
> >
> >auto const?
>
> auto const auto ref Foo bar( auto const auto ref Foo ar
out (which is an old
> synonym for ref), the language requires that you redundantly use
> inout in the return type as well. We could eliminate that in D3.
>
> Any thoughts would be appreciated.
Looks like inout won:
http://www.dsource.org/projects/phobos/changeset/1389
Doesn't lo
differentiate between what Wikipedia defines as duck typing and structural
typing, though, I think people usually say duck typing to both.
Anyway, if you *really* think Wikipedia is wrong, you can fix it or at
least mention it in the discussion page[1], that's what Wikipedia is all
ab
are so close to GCC
in so little time (and using less memory and CPU time).
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF
k is a very bad idea,
I think dynamic arrays should be a proper reference type (with ptr, length
and capacity) and slices should be a value type without appending (only
with ptr and length).
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
bearophile, el 23 de diciembre a las 12:02 me escribiste:
> Leandro Lucarella:
>
> > bearophile, el 23 de diciembre a las 00:13 me escribiste:
> > > Compared to GCC LLVM lacks vectorization (this can be important for
> > > certain heavy numerical computing code
Steven Schveighoffer, el 24 de diciembre a las 10:15 me escribiste:
> Leandro Lucarella Wrote:
>
> > This is making the half-value, half-reference semantics of arrays even
> > worse, since now the capacity is "passed by reference" (at the end of the
> > arr
Steven Schveighoffer, el 24 de diciembre a las 12:59 me escribiste:
> Leandro Lucarella Wrote:
>
> > Steven Schveighoffer, el 24 de diciembre a las 10:15 me escribiste:
> > > This is absolutely false. It does not make anything worse. It may not
> > > make
a concern the runtime complexity.
> I just don't see why you think it's easier.
It's just how my mind work. I just like simpler concepts separated than
a type that fit it all a la PHP. Maybe Python has something to do with it
because it works like this. I learned Python after PH
creating another ML/NG, just discuss it
privately and be done with it (I really think it would be a very bad idea
though).
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
ed a program from cpuid.com to tell me what processor I'm
> running. The executable file size is 1.8 Mb.
Well, if it's in the internet I'm sure is good!
Come on, other people making crap doesn't mean making more crap is
justified :)
--
Leandro Luc
Walter Bright, el 11 de enero a las 18:02 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el 10 de enero a las 13:06 me escribiste:
> >>Chris wrote:
> >>>I simply can't get used to it, and probably never will for anyone who
> >>>used to c
her priorities but we are concerned about the issue" and another *very
different* thing is "we don't care, even if the binary size still grow".
It's a very nice rant, and I agree, but you missed the point. I'm not
talking about not using D, I'm talking about rec
;
}
See this post:
http://www.yosefk.com/blog/the-c-sucks-series-petrifying-functions.html
For a nice real story about this problem ;)
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F
Walter Bright, el 12 de enero a las 14:48 me escribiste:
> Leandro Lucarella wrote:
> >NOT for everybody. I refuse to download huge programs (unless their size
> >is justified).
>
> Unfortunately, sizeof(exe + dll) == sizeof(exe) + sizeof(dll)
>
> You'd only see
ust need to keep its system updated
to avoid this kind of issues, and you only need to care about new release
when the bugs are really from your program, not third-party libraries.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
-
uot; that's one char shorter :-) Other languages have
> something similar, a local form of simple type inference.
Go allows var and an even shorter alternative, the := operator:
var x = 1 <===> x := 1
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
---
What is @disable supposed to be for?
http://www.dsource.org/projects/dmd/changeset/336
Thanks.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E
Pelle Månsson, el 14 de enero a las 19:30 me escribiste:
> On 01/14/2010 03:55 PM, Leandro Lucarella wrote:
> >What is @disable supposed to be for?
> >http://www.dsource.org/projects/dmd/changeset/336
> >
> >Thanks.
> >
> #define STCdisable 0x2000
ralization in this case is
counterproductive. What's the point on disabling a function, except for
those automatically generated by the compiler.
I this it would be cleaner to add some kind of annotation @noncopiable to
the struct/class, instead of annotating each constructor.
--
"module" what "private" actually does). Changing "private"
meaning is probably a bad idea though, maybe private can be left as is and
add a "delete" visibility attribute (which would have the same effect than
@disable, but is more close to the c
Ali Çehreli, el 15 de enero a las 11:35 me escribiste:
> Leandro Lucarella wrote:
>
> > It would be even more familiar to people coming from C++0x (C++1x! =P)
>
> You may have missed that 0x is the hexadecimal prefix there. How
> about C++0xb to be specific. :)
I would be e
ic auto c = 1;
(I think too). You can omit auto when declaring automatic variables if you
specify the type (seen the other way :), because it defaults to auto. And
you can omit the type if you use a storage class, because it defaults
to the infere
iable x both auto and explicit type given
> I think auto just means inferred type.
That seems to be the case then... So Ali Çehreli was right and I was
wrong.
I still like my logic better, I will keep thinking that auto is a real
storage class and ignore thi
ty
of function parameters, not local variables, but I'm under the impression
that there was some discussion about making local variables immutable by
default...
I like the idea of making x := y an alias for immutable x = y (or even
enum x = y). That would make this style much more attra
ense to me, that's why I think introducing the := operator as an alias to
immutable/const would be a good compromise. It makes extremely easy to use
immutable/const variables while keeping backward compatibility.
--
Leandro Lucarella (AKA luca)
t doesn't directly mean "infer the type."
I was under that impression too, but that's not what my test show. You can
write auto int x = 5;, it fails to compile with an error saying that
x have both explicit t
d I think the features
that use the GC are not very well documented (same for Phobos).
So I think the GC-will-get-in-the-way fear in D is not totally
unjustified, even when malloc is trivial to use.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
---
Adam D. Ruppe, el 19 de enero a las 10:56 me escribiste:
> On Tue, Jan 19, 2010 at 11:52:16AM -0300, Leandro Lucarella wrote:
> > I think he includes D1 code, which would be harder to port to D2. Makes
> > sense to me, that's why I think introducing the := operator as an al
Jesse Phillips, el 19 de enero a las 15:21 me escribiste:
> Leandro Lucarella wrote:
>
> > Sean Kelly, el 18 de enero a las 16:10 me escribiste:
> >> bearophile Wrote:
> >>
> >> > Walter Bright:
> >> > > Andrei introduced me to
Adam D. Ruppe, el 19 de enero a las 14:12 me escribiste:
> On Tue, Jan 19, 2010 at 02:44:29PM -0300, Leandro Lucarella wrote:
> > I don't understand, you are vulnerable to that kind of bugs now too:
> >
> > const receiver = 1;
> >
> > const reciever = 2;
Craig Black, el 19 de enero a las 17:27 me escribiste:
>
> "Leandro Lucarella" wrote in message
> news:20100119173057.gd14...@llucax.com.ar...
> >Walter Bright, el 18 de enero a las 14:31 me escribiste:
> >>> More seriously, I don't expect D to see muc
7;d love -nogc. Then we can think of designing parts of Phobos to
> work under that regime.
It's nice to know there is some interest in this. Maybe some day we can
have an EmbeddeD ;)
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
C and the need
for making easy to completely avoid the GC (which I agree, is less
important than the former, because most of the D code will use the GC).
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG K
ire D allocation model can be swapped between traditional GC
> and reference counting.
Again? RC is *not* -nogc, is -anothergc. And reference counting won't do
the trick unless you add a backing GC to free cycles. What I mean about
-nogc is *no* GC, is "please, mr compiler, give me an er
Danny Wilson, el 20 de enero a las 16:44 me escribiste:
> On Wed, 20 Jan 2010 14:18:52 +0100, Leandro Lucarella
> wrote:
>
> >Again? RC is *not* -nogc, is -anothergc. And reference counting won't do
> >the trick unless you add a backing GC to free cycles. What I mean
Andrei Alexandrescu, el 20 de enero a las 08:32 me escribiste:
> Leandro Lucarella wrote:
> >Again? RC is *not* -nogc, is -anothergc.
>
> I agree. With reference counting, you'd be no worse than a C++
> project that decided to use refcounted smart pointers for all
> allo
Andrei Alexandrescu, el 20 de enero a las 17:39 me escribiste:
> Leandro Lucarella wrote:
> >Danny Wilson, el 20 de enero a las 16:44 me escribiste:
> >>On Wed, 20 Jan 2010 14:18:52 +0100, Leandro Lucarella
> >> wrote:
> >>
> >>>Again? RC is *not* -n
Andrei Alexandrescu, el 20 de enero a las 19:13 me escribiste:
> Leandro Lucarella wrote:
> >Andrei Alexandrescu, el 20 de enero a las 17:39 me escribiste:
> >>Leandro Lucarella wrote:
> >>>Danny Wilson, el 20 de enero a las 16:44 me escribiste:
> >>>&g
eep the focus
here, this will be used mostly only in embedded environments, where this
problem is already present, so it's not too bad. People using "regular"
D probably won't be using any "embedded library". They other way arround
could
Walter Bright, el 21 de enero a las 02:15 me escribiste:
> Often programs that purportedly can recover from oom actually
> cannot, because they were never tested and the recovery code doesn't
> work.
Unless you use fault-injection. Is *not* that rare...
--
Leandro Lucar
Walter Bright, el 21 de enero a las 02:18 me escribiste:
> Leandro Lucarella wrote:
> >But I don't think people that *really* need to be in full control would
> >see a RC GC as something tempting. As long as there is an option to
> >(easily) avoid the GC, I'm happ
ould fail to allocate memory, the
> system tends to go unstable anyway.
You can run your program with a memory limit, using ulimit for example.
They only way to get an error on allocation is not when the whole system
is going down...
--
Lea
ly FLOSS projects can apply to GSoC.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
--
int foo() { ... }
But I'm not sure that adds anything to readability. I don't think this is
a huge problem, since as somebody already pointed out, you can always
group declarations with the same attributes together and type the
attribute just once (this is not Java :).
--
Leandro Lucar
e as big an issue for
> >you.
>
> I need to put it for all front() and empty() declarations. By the
> way I decided that popFront() is not a property. I don't know why.
Because it denotes an action?
--
Leandro Lucarella (AKA luca)
standard
import std.safe: trusted; // standard
import foo: public; // non-standard
@std.attr.nothrow @trusted @public f();
It is a radical change, so I don't expect it to be in D2 of course.
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
--
erlapping between the two, for
example the keyword const is a storage class *and* an attribute, that can
be the cause of confusion).
[1] http://www.digitalmars.com/d/2.0/attribute.html
[2] http://www.digitalmars.com/d/2.0/declaration.html
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
--
t
process similar to that (at least, Python, Ruby, Tcl/Tk). D is still very
far from that unfortunately. But it's moving forward, very slow though.
Sadly, I think it moves too slow to survive (or hit mainstream as those
other languages did).
--
Leandro Lucarella (AK
Cloning Garbage Collector with Stock Operating System
Support.
http://www.cs.purdue.edu/homes/grr/snapshot-gc.ps
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00
l;
@safe void main() {
s.b = 1;
}
This happen because the offset for member "b" is very far, allowing it to
falls on another memory page which happen to exists.
----
http://d.puremagic.com/issues/show_bug.cgi?id=3677
It'
Walter Bright, el 10 de febrero a las 14:28 me escribiste:
> Leandro Lucarella wrote:
> >This supposedly "safe" program under Mac OS X 10.6 doesn't give any error
> >neither at compile time nor at runtime, yet it isn't memory-safe at all as
> >it corrupts
directly
to avoid copying file descriptor tables for example. Even more, you get
all the threads stopped in the cloned process for free ;)
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
--
n the front-end?
>
> Escape analysis can still be used to put class instantiations on the
> stack - it's just that that will be a compiler optimization, not a
> user one.
LDC already have some heuristics for that:
http://www.dsource.org/projects/ldc/browser/gen/passes/
anguage
(the names are very clever and funny, but that shouldn't be the point of
a name, a name should be clear).
--
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
--
Andrei Alexandrescu, el 14 de febrero a las 11:18 me escribiste:
> Leandro Lucarella wrote:
> >Michel Fortin, el 14 de febrero a las 07:48 me escribiste:
> >>On 2010-02-14 05:12:41 -0500, Jacob Carlborg said:
> >>
> >>>It iterates backwards, all the way bac
601 - 700 of 760 matches
Mail list logo