Mailing List Archive

OO (was: Why is tcl broken?)
Fernando Mato Mira wrote:

> [For example, I can think the Eiffel syntax is `philosophically' broken, but
> as `infix' syntaxes go, it is not. And it's a good language (I programmed

Actually, it's a _great_ language to learn OO (although of course in the restricted
single-dispatch way most people know about. I like to call that "Subject Oriented").

Occan taught me about concurrency.
Eiffel taught me OO.
CLOS taught me what OO really means.

--

"Object Oriented is to not think only about your `subject' and forget about your
`arguments' - the syntactic objects of your sentence".

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira wrote:

> [For example, I can think the Eiffel syntax is `philosophically' broken, but
> as `infix' syntaxes go, it is not. And it's a good language (I programmed

Actually, it's a _great_ language to learn OO (although of course in the restricted
single-dispatch way most people know about. I like to call that "Subject Oriented").

Occam taught me about concurrency.
Eiffel taught me OO.
CLOS taught me what OO really means.

--

"Object Oriented is to not think only about your `subject' and forget about your
`arguments' - the syntactic objects of your sentence".

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira wrote:

> [For example, I can think the Eiffel syntax is `philosophically' broken, but
> as `infix' syntaxes go, it is not. And it's a good language (I programmed

Actually, it's a _great_ language to learn SE (for OO pretty much too, but of
course only in the restricted
single-dispatch way most people know about. I like to call that "Subject Oriented").

Smalltalk taught me OO.
Occam taught me about concurrency.
Eiffel taught me SE.
CLOS taught me what OO really means.

--

"Object Oriented is to not think only about your `subject' and forget about your
`arguments' - the syntactic objects of your sentence"

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
In article <3762988E.C94AA252@iname.com>, Fernando Mato Mira
<matomira@iname.com> wrote:

> Smalltalk taught me OO.
> Occam taught me about concurrency.
> Eiffel taught me SE.
> CLOS taught me what OO really means.

If you are a fan of CLOS, you might want to check out the Dylan
programming language.

It is basically a thoroughly modernized descendant of Lisp/CLOS with an
infix instead of prefix syntax. In Dylan, almost everything is an object
including the primitive data types (such as integers). Methods and
classes are also first class objects.

--------------------------------------------------------------------
p h i n e l y @hawaii.edu

Dylan... the high-performance dynamic language
* open-source Unix version: http://www.gwydiondylan.org/
* free Win32 version: http://www.harlequin.com/products/ads/dylan/
---------------------------------------------------------------------
OO (was: Why is tcl broken?) [ In reply to ]
Peter wrote:

> If you are a fan of CLOS, you might want to check out the Dylan
> programming language.
>
> It is basically a thoroughly modernized descendant of Lisp/CLOS with an
> infix instead of prefix syntax. In Dylan, almost everything is an object

Although Dylan never really made it into "Fernando's elegibility list"
because
it was not a serious contender against Scheme and CL yet, it definitely got
banished the day the Lisp syntax was dropped. I'm still waiting for the day
when the Dylan fans will reinstate the alternative.

But my dream is a `parenthesized Cecil'
http://www.cs.washington.edu/research/projects/cecil/

or "all you wanted in CLOS (and more) since you got `corrupted' by Eiffel"
;-)

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
[Fernando Mato Mira]
> Although Dylan never really made it into "Fernando's elegibility list"
> because it was not a serious contender against Scheme and CL yet, it
> definitely got banished the day the Lisp syntax was dropped. I'm still
> waiting for the day when the Dylan fans will reinstate the alternative.

OK! Now we know the answer Fernando is looking for: Tcl is fatally broken
because its syntax differs from Lisp's <0.9 wink>.

admit-it-up-front-and-maybe-this-will-go-away?-na-ly y'rs - tim
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira <matomira@iname.com> writes:

> Although Dylan never really made it into "Fernando's elegibility list"
> because
> it was not a serious contender against Scheme and CL yet, it definitely got
> banished the day the Lisp syntax was dropped. I'm still waiting for the day
> when the Dylan fans will reinstate the alternative.

This is an age-old flamewar. It just so happens that there are people
who like infix syntax and detest prefix, and then there are people who
love their parens and hate infix.

It's a matter of preferences, I happen to like infix, and I'm not
gonna change.

> But my dream is a `parenthesized Cecil'

You're obviously one of THEM :-).

Andreas

--
Reality is two's complement. See:
ftp://ftp.netcom.com/pub/hb/hbaker/hakmem/hacks.html#item154
OO (was: Why is tcl broken?) [ In reply to ]
Andreas Bogk <andreas@andreas.org> writes:

> Fernando Mato Mira <matomira@iname.com> writes:
>
> > Although Dylan never really made it into "Fernando's elegibility list"
> > because
> > it was not a serious contender against Scheme and CL yet, it definitely got
> > banished the day the Lisp syntax was dropped. I'm still waiting for the day
> > when the Dylan fans will reinstate the alternative.
>
> This is an age-old flamewar. It just so happens that there are people
> who like infix syntax and detest prefix, and then there are people who
> love their parens and hate infix.

Prefix rocks, infix is crap.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
"Tim Peters" <tim_one@email.msn.com> writes:

> [Fernando Mato Mira]
> > Although Dylan never really made it into "Fernando's elegibility list"
> > because it was not a serious contender against Scheme and CL yet, it
> > definitely got banished the day the Lisp syntax was dropped. I'm still
> > waiting for the day when the Dylan fans will reinstate the alternative.
>
> OK! Now we know the answer Fernando is looking for: Tcl is fatally broken
> because its syntax differs from Lisp's <0.9 wink>.

Infix syntax is junk.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
Andreas Bogk wrote:
>
> Fernando Mato Mira <matomira@iname.com> writes:

> This is an age-old flamewar. It just so happens that there are people
> who like infix syntax and detest prefix, and then there are people who
> love their parens and hate infix.

I have no idea what flamewars have been going on in comp.lang.dylan,
as it's the first time I set foot here, so FWIW, here's what I think:

1. The Dylan case is different. It was supposed to have 2 syntaxes.
2. I was not excited about the Dylan effort when it came out, as it the
main motivation was to create a new language for some Apple palmtop,
and this consumed resources that could have been used to improve CL (it
could be argued that it was an `improved Scheme' but how about
supporting EULisp instead?).
3. CMU shuts down CMUCL and starts to work on Dylan. Bad
3. Apple decides to drop the Lisp syntax. Bad.
4. Apple drops Dylan.
5. Open Source community embraces Dylan. Great. Multimethods to the
mainstream.

The question is: what prevents you now from to going back to the
original idea?
[.I'm sorry, if I was funded to spend time myself in creating a Lisp
frontend
for something, it would be for Cecil. If CLOS were too heavy for
something,
there's much more to gain over there. And good prototype-based dialect
would
be a more interesting addition to the Lisp family.]

Regards,

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Klaus Schilling wrote:
>
> "Tim Peters" <tim_one@email.msn.com> writes:
> > OK! Now we know the answer Fernando is looking for: Tcl is fatally broken
> > because its syntax differs from Lisp's <0.9 wink>.
>
> Infix syntax is junk.

The quality of discussion on comp.lang.python is going up by leaps and
bounds, I see. :)

Whitespace-eating-nanoviruses-are-junk-ly yours,

Martijn
OO (was: Why is tcl broken?) [ In reply to ]
In article <3764F3FE.F7CBE6BA@acm.org>, Fernando D. Mato Mira
<matomira@acm.org> writes
>Klaus Schilling wrote:
>
>> Prefix rocks, infix is crap.
>
>Wow, wow, wow. Let's not go there..
postfix, prefix, infix etc etc are isosemantic


--
tree searching-ly yrs Robin Becker
OO (was: Why is tcl broken?) [ In reply to ]
Klaus Schilling wrote:

> Prefix rocks, infix is crap.

Wow, wow, wow. Let's not go there..

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Robin Becker wrote:

> postfix, prefix, infix etc etc are isosemantic

Yup. But the deal is to be able to write a parser in an hour (say, in
1950something), and
be setup until the next comet hits the Earth.

Not to mention how invaluable it is not to waste the mandatory compiler
course with the unnecessary half of the `Dragon book'.


And when infix goes wild, a LOT of dollars go down the drain (the one
with a bug-free C++ frontend please raise your hand!).

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
> Prefix rocks, infix is crap.

(think I (meant you (and (rocks prefix) (is-crap infix))))

Stig Hemmer,
Jack of a Few Trades.
OO (was: Why is tcl broken?) [ In reply to ]
In article <87pv2zjhhl.fsf@home.ivm.de>, Klaus Schilling
<Klaus.Schilling@home.ivm.de> wrote:


>Prefix rocks, infix is crap.

No, you mean:

Rocks prefix? Is infix crap?

James McCartney asynth <at> io <dot> com
OO (was: Why is tcl broken?) [ In reply to ]
On 14 Jun 1999 21:31:47 +0200, Stig Hemmer wrote:
>> Prefix rocks, infix is crap.

>(think I (meant you (and (rocks prefix) (is-crap infix))))

prefix rocks infix crap is and false =

...as long as we're fighting... :-)

>Stig Hemmer,
>Jack of a Few Trades.

(I like all the languages I know, except Fortran. I even like C++,
although I wish they could break backwards compatibility.)

--
-William "Billy" Tanksley
Utinam logica falsa tuam philosophiam totam suffodiant!
:-: May faulty logic undermine your entire philosophy!
OO (was: Why is tcl broken?) [ In reply to ]
Robin Becker wrote:

> postfix, prefix, infix etc etc are isosemantic

for myself and the others who might not know... can we get an example of
each?
and i remember someone mentioned parenthesized vs non-parenthesized...

Maxwell Sayles
OO (was: Why is tcl broken?) [ In reply to ]
William Tanksley wrote:

> My preference? I use C at my job. I prefer postfix (Forth) for its lack
> of punctuation. I like ML and Prolog because they let me create my own
> punctuation (but then I don't use them much).

BTW, you can do infix stuff in Common Lisp
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/syntax/0.html

eg.

(defun bar (x y)
(whatever))

(defun foo (u v x y z)
(typical-lisp-code)
(lets-just-copy-a-formula-from-a-book-and-use-it-here #I( u + v * bar(x,y)
^^ z))
(blah-blah))
OO (was: Why is tcl broken?) [ In reply to ]
William Tanksley wrote:

> (I like all the languages I know, except Fortran. I even like C++,
> although I wish they could break backwards compatibility.)

Quiz: What do Scheme, Common Lisp, HPF and Java have in common?
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira wrote:
>
> William Tanksley wrote:
>
> > (I like all the languages I know, except Fortran. I even like C++,
> > although I wish they could break backwards compatibility.)
>
> Quiz: What do Scheme, Common Lisp, HPF and Java have in common?

And when's Java*, the massively parallel version, coming out?
OO (was: Why is tcl broken?) [ In reply to ]
Ian Wild wrote:

> Fernando Mato Mira wrote:
> >
> > William Tanksley wrote:
> >
> > > (I like all the languages I know, except Fortran. I even like C++,
> > > although I wish they could break backwards compatibility.)
> >
> > Quiz: What do Scheme, Common Lisp, HPF and Java have in common?
>
> And when's Java*, the massively parallel version, coming out?

I seem to have forgotten C, too..
OO (was: Why is tcl broken?) [ In reply to ]
[William Tanksley]
> (I like all the languages I know, except Fortran. I even like C++,
> although I wish they could break backwards compatibility.)

[Fernando Mato Mira]
> Quiz: What do Scheme, Common Lisp, HPF and Java have in common?

Guy Steele's loving ministrations -- but even he gave up on Scheme <wink>.
OO (was: Why is tcl broken?) [ In reply to ]
"Tim Peters" <tim_one@email.msn.com> writes:

> [Fernando Mato Mira]
> > Quiz: What do Scheme, Common Lisp, HPF and Java have in common?
>
> Guy Steele's loving ministrations -- but even he gave up on Scheme <wink>.

Scheme doesn't need G.Steele. Steele just rediscovered Scheme.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
wtanksle@dolphin.openprojects.net (William Tanksley) writes:

> On Tue, 15 Jun 1999 01:54:53 GMT, Maxwell Sayles wrote:
> >Robin Becker wrote:
>
> >> postfix, prefix, infix etc etc are isosemantic
>
> >for myself and the others who might not know... can we get an example of
> >each?
> >and i remember someone mentioned parenthesized vs non-parenthesized...
>
> Infix (ML and Prolog):
>
> 3 + (4 minus 10) == 1
> (parenthesis are not optional)
>
> Prefix (C, Lisp, Scheme):
>
> function(that(x(1)))
> or:
> (do-this (do-that (x 1)))
> (Parenthesis are not optional)
>
> Postfix (Forth, Postscript):
>
> 3 4 + SWAP MOD do-that
> rinse on agitate 10 seconds rinse off
> (Parenthesis are not optional)
>
> As a common thread, note that in none of the languages are parenthesis
> optional. In Postfix parenthesis are not optional because they have nno
> meaning; in the other languages they're assigned arbitrary meaning.

This isn't a completely fair example. Postfix can get away without
parentheses only when a) everything that's not a number is a function
and b) the arity (# of arguments) of each function is known and fixed.

Given such restrictions one can also drop the parentheses in prefix
notation.

Infix still requires parentheses even given the above restrictions.

--
Harvey J. Stein
Bloomberg LP
hjstein@bfr.co.il

1 2  View All