View mode: basic / threaded / horizontal-split · Log in · Help
September 25, 2005
Re: Arbitrary operators for overloading?
J Thomas wrote:
> right on, yah i tried working with openc++ a couple years ago until i
> realized it was a total mess. and on further reflection i think its
> just not worth the hastle of parsing c++ for metaprogramming 

I have never, ever, even heard rumours of a language _less_ suited to 
intelligent parsing, _or_ productive metaprogramming, than C++. So the 
_mess_ may not be the OpenC++ crowd's fault. (At the most, one can blame 
them for choosing _the_ worst language in existence, for the excrecise.)

> so i
> thought about building a new c-type langauge for mettaprogramming
> when I found D. D is fantastic, plus its been designed to *parse*
> easilly which opens up a whole range of possibilities. 

I'd like to attribute this to Walter's unfathomable experience with the 
issues at hand. Few people are actually in the position he's right now. 
Most of the "more [than him] accomplished" (according to _their_ own 
standards), have (for ages ago) bought a villa in Florida, and have 
started (what I call) the Final Descent. (Which means having young girls 
at the poolside and drinking with them 7 days a week, never even 
touching a computer.) ((Been there, seen it all.TM)) So, Walter is 
unmarinated, still at it, and ready-to-kill! Precicely what is needed, 
if a C/C++/Java contender ever is to stand a chance.

> im going to
> have to look at the language machine a little more but yah, the first
> thing i thought of when i heard about it was metaprogramming. it
> would be very cool to get a metaprogramming front end for D going, as
> you said i think it could greatly help language development, as
> people could more easilly "try out" their own extensions. 

The more _separate_ enterprises we have at this, the better. A little 
like the GUI toolkits for D, being all different -- but unlike them, 
we'd not stay on our separate islands forever.

The _difference_ to them being, we could agree from the start, that 
we'll compete (and cooperate), with the ultimate aim being, to one day, 
together be able to present to Walter (and the community) something so 
compelling that nobody even thinks of opposing.

> at this
> point im finishing up little debugger in D, as all my other debuggers
> seem to be a hastle to use for D apps, 

Windows or Linux?

> and im still getting used to
> the language. but I plan on doing some sort of metaobject protocol
> for D before I do anything real serious. I think D with metaobjects
> could be one of the most powerfull tools ive ever seen. for me
> anyway...

Yes!

Consider this: let's assume [because I don't bother right now to check 
this out], that the First Programming Language was created  1940. At 
that day, 1 person knew the language.

In those days, [and well into the '60s] you only had a half-handful of 
languages to choose from. You had your thing to do, and all you could do 
is to choose (or your boss) the _least bad_ language for it.

Taking it from the other end: what's the number of programming languages 
in existence today? What's the number of people fluent in at least one 
programming language today?

Add to that the fact that, in the old days, Programming Language Theory 
was accessible to only a few [hundred] people. Only they knew enough to, 
first of all, consider creating a new language, [or why one would even 
need one] and secondly, had the theoretical background required to 
actually create a non-useless one at that.

Extrapolating this a bit beyond today, the time is nigh, when an ever 
expanding horde of programmers [and, increasingly non-programmers], 
possess the required minimun knowledge [and confidence], to actually 
consider conjuring up a new language for whatever needs they currently 
have at hand.

((For background reference, make a list of all programming languages, 
existing today or having ever existed. Sort them according to the 
Invention Date. Make a plot representing the time between each. You'll 
see that we already are past the time when !the time required to learn a 
new language! has become longer than the average time between two 
languages popping up.))

---

From a distance, most of the times a new language is created, are _not_ 
because there is a genuine need for something _fundamentally_ new, or 
different. Mostly, it's to do with "needing a few details or properties" 
that the person couldn't find [from the language selection they were 
aware of, at the time].

I'm ready to wager that, if a person is used to a [generally 
satisfactory] language, he'd prefer to see _that_ language with the 
extensions he needs, instad of either creating one from scratch, or 
having to learn a "foreign" "base-language" upon which to build.

Since D is an unbelievably versatile, down-to-earth, Practical Language 
for Practical Programmers (TM by W.Bright), we are in a position to 
_really_ benefit from the ability to let ad-hoc needs be catered for, 
right in the "language".


> Georg Wrede wrote:
> 
>> J Thomas wrote:
>> 
>>> sounds like what you are talking about is a meta-language for 
>>> metaprogramming. (no not C++ template metaprogramming) are you 
>>> familiar with metaprogramming systems like openc++?
>> 
>> 
>> 
>> I looked at OpenC++ a couple of years ago. I did like the idea, and
>>  wished for something like it for D. Now that we have the Language 
>> Machine, starting a metaprogramming project should be trivial!
>> 
>>> this is a pretty straightforward concept and i think it could be
>>> done quite well in D, especially since its such a dream to parse.
>>> I am eventually going to implement my own meta-programming system
>>> on top of D, it could be done pretty easilly with the front end
>>> code. Im waiting to see where hes going to go with reflection
>> 
>> 
>> 
>> I definitely see a modified D front end as the goal. Before that, I
>>  presume it would be easy to do initial experiments with proposals
>> to the metalanguage details with a D-to-D translator.
>> 
>> I'd love to see a way of attaching arbitrary properties to syntax
>> tree nodes. These could be used to all kinds of things. For
>> example, if the programmer is into functional programming, then the
>> knowledge of side effects in a function would be crucial.
>> 
>> In any case, the meta-machine has to both have access to
>> compile-time structures and objecs, and also has to be able to
>> change the tree. I expect this to be less dangerous than what folks
>> think. :-)
>> 
>> Another benefit is that new things in D could thus be easily tried
>>  out. This would free Walter to see whether any such actually get 
>> popular enough to warrant hard coding them. In other words, we
>> could have an actual feature freeze between major versions, and end
>> up Knowing what we add to the language.
>>
September 25, 2005
Re: Arbitrary operators for overloading?
windows

Georg Wrede wrote:
> J Thomas wrote:
>> at this
>> point im finishing up little debugger in D, as all my other debuggers
>> seem to be a hastle to use for D apps, 
> 
> 
> Windows or Linux?
September 26, 2005
Re: Arbitrary operators for overloading?
In article <4337114C.7050800@nospam.org>, Georg Wrede says...
>
>I'd like to attribute this to Walter's unfathomable experience with the 
>issues at hand. Few people are actually in the position he's right now. 
>Most of the "more [than him] accomplished" (according to _their_ own 
>standards), have (for ages ago) bought a villa in Florida, and have 
>started (what I call) the Final Descent.

Most of the others I know of are on the C and C++ committes, but it's a good
point.

>(Which means having young girls 
>at the poolside and drinking with them 7 days a week, never even 
>touching a computer.)

Hey, Don Knuth is a special case!


Sean
Next ›   Last »
1 2
Top | Discussion index | About this forum | D home