August 20, 2002
On Mon, 19 Aug 2002 16:16:11 -0700 "Walter" <walter@digitalmars.com> wrote:

> I confess I just never liked the idea behind iostreams and the overloaded operators for it. It just never looked right or elegant. It also always seemed to result in fat exe's.

Alternative? Unless you give us safe varargs, of course... =)
August 20, 2002
On Mon, 19 Aug 2002 23:52:52 -0700 "Sean L. Palmer" <seanpalmer@earthlink.net> wrote:

> It'll do.  ;)
> 
> Now if I can just get a windows.d that has GetFocus() and PeekMessage() in
> it...  I'll be in business!

Grab it!

This is the latest version used by WinD, and it's hand-coded (unlike my old windows.d). I hope that Walter will merge it with his API declarations.
August 20, 2002
begin 644 WIN32.ZIP
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
M``!@L```!P`````````!`"``````````5TE.,S(N1%!+!08``````0`!`#4`
(``"-+P``````
`
end
August 20, 2002
"Pavel Minayev" <evilone@omen.ru> wrote in message news:CFN374884942340972@news.digitalmars.com...
> On Mon, 19 Aug 2002 16:16:11 -0700 "Walter" <walter@digitalmars.com>
wrote:
> > I confess I just never liked the idea behind iostreams and the
overloaded
> > operators for it. It just never looked right or elegant. It also always seemed to result in fat exe's.
> Alternative? Unless you give us safe varargs, of course... =)

My grand idea is mumble - mumble - mumble, and so you see, it is brilliant! But seriously, at the moment I'm working on the generics issue. I hope to have a strawman for that by the end of the month. -Walter


August 21, 2002
I always thought it would be nice to specify varargs with simple
regular(ish) expressions, something similar to the syntax used
in a DTD would be sufficient. The only problem with a direct lift is the *
as that would clash with a pointer declaration, perhaps allow # instead.
Then all you have to do is have a way of correctly reading the arguments
regardless of how the expression is matched. That I'd leave up to you
(points wildly in random, generally leftward direction)...

-- 
Alix Pexton...

Webmaster, The D Journal
web: www.thedjournal.com
email:webmaster@thedjournal.com
"The D journal, a work in progress..."

Pavel Minayev <evilone@omen.ru> wrote in article <CFN374884942340972@news.digitalmars.com>...
> On Mon, 19 Aug 2002 16:16:11 -0700 "Walter" <walter@digitalmars.com>
wrote:
> 
> > I confess I just never liked the idea behind iostreams and the
overloaded
> > operators for it. It just never looked right or elegant. It also always seemed to result in fat exe's.
> 
> Alternative? Unless you give us safe varargs, of course... =)
> 
August 22, 2002
Hi all...
Outlook Express did a weird thing and started to download ALL the messages
in this newsgroup (I stopped before it was finished), but it was good
because I found this post, which dates 2001-08-17. Not many of us were in
this newsgroup in that time, so probably most won't know of its existence
(and also, many of those who used to post back then don't post now).
Well... What do you guys (Walter especially) think about it?

Walter wrote:
>
> Charles Hixson wrote in message <3B7D2C6B.4040702@earthlink.net>...
> > ...So one could define :+: to add
> >matrices, etc., and as these would really be functions, they should follow the normal overloading rules of functions.
> >
> >This would allow them to be easily parsed, would distinguish them clearly from the standard operators, and would provide the majority of the notational compactness that normal operators provide.  The fact that A :+: B would be syntactic sugar for A.add (B) is minor, but convenient.
> >   As to precedence ... they should probably bind more strongly than any
> >other operator, and all to the same degree.  If you want to get fancy, you'ld need to use parentheses.
>
> Now this idea has a lot of merit! Thanks for posting it. I *like* it being clearly distinguishable from the native operators.



August 22, 2002
"Carlos" <carlos8294@msn.com> wrote in message news:ak1n98$utk$1@digitaldaemon.com...
> Hi all...
> Outlook Express did a weird thing and started to download ALL the messages
> in this newsgroup (I stopped before it was finished), but it was good
> because I found this post, which dates 2001-08-17. Not many of us were in
> this newsgroup in that time, so probably most won't know of its existence
> (and also, many of those who used to post back then don't post now).
> Well... What do you guys (Walter especially) think about it?

Ah, the ghost of postings past <g>.

I was wrong. The trouble with :+: being for overloaded operators and + for builtin operators is that generic templates don't work. It has to be the same operator token.


August 22, 2002
>
> I was wrong. The trouble with :+: being for overloaded operators and + for builtin operators is that generic templates don't work. It has to be the same operator token.
>

Ok, but I mainly meant about the other stuff... About using other symbols as operators...


August 22, 2002
"Carlos" <carlos8294@msn.com> escribió en el mensaje news:ak1n98$utk$1@digitaldaemon.com...
> Hi all...
> Outlook Express did a weird thing and started to download ALL the messages
> in this newsgroup (I stopped before it was finished), but it was good

You can call me crazy (actually, you'd be right if you do that ;) ), but I did it. I downloaded d in news.digitalmars.com. It's damn late here (over 3 in the morning), but I gues that reading 6700+ posts will help me learn more D. Yes, I have lots of reading. Let's see what happens...


August 22, 2002
"Carlos" <carlos8294@msn.com> wrote in message news:ak21oi$30gn$1@digitaldaemon.com...
> Ok, but I mainly meant about the other stuff... About using other symbols
as
> operators...

I still like that idea.