Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Why is tcl broken?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 76 - 100 of 288 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Christopher R. Barry  
View profile  
 More options Jun 18 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: cba...@2xtreme.net (Christopher R. Barry)
Date: 1999/06/18
Subject: Re: Why is tcl broken?

Tim Bradshaw <t...@tfeb.org> writes:
> * Christopher R Barry wrote:
> > sams...@panix.com writes:
> > Zmacs, the editor of the Symbolics Lisp Machine, does not
> > support TTY operation, and it's been around since the early 80s.

> I think it does actually.

How do you use it then? I can't find mention of TTY or terminal
support anywhere in the Genera docs and if I telnet to the XL1201 and
try to do :Select Activity Zmacs I just go into the debugger.

I'm pretty sure it doesn't, but the Zwei predecessor perhaps did. Zwei
is no longer considered an editor nor actually still one itself
though; It is now "a system on which other text editors are
implemented."[1]

Christopher

1. :Show Documentation Zwei Internals


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Bradshaw  
View profile  
 More options Jun 18 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@tfeb.org>
Date: 1999/06/18
Subject: Re: Why is tcl broken?
* Christopher R Barry wrote:

> How do you use it then? I can't find mention of TTY or terminal
> support anywhere in the Genera docs and if I telnet to the XL1201 and
> try to do :Select Activity Zmacs I just go into the debugger.

I forgot you had a machine to hand (:-).  I was assuming that if you
telnetted then it would work, but I guess it doesn't.

--tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Jun 19 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
Date: 1999/06/19
Subject: Re: Why is tcl broken?

Klaus Schilling <Klaus.Schill...@home.ivm.de> writes:
> Tim Bradshaw <t...@tfeb.org> writes:

> > * Klaus Schilling wrote:

> > > Common Lisp lacks support for termcap and the termios routines.
> > > It can't be used as a base language for the emacs.

> > emacs lisp lacks support for for termcap and the termios routines.  It
> > can't be used as a base language for the emacs.

> Irrelevant. Emacs Lisp is just an extension language, the base language
> for the GNU Emacs is of course C.

Irrelevant. C is just an extension language, the base language for any
C application is the underlying assembly. :)

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fernando Mato Mira  
View profile  
 More options Jun 19 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Fernando Mato Mira <matom...@iname.com>
Date: 1999/06/19
Subject: Re: Why is tcl broken?

Marco Antoniotti wrote:
> Irrelevant. C is just an extension language, the base language for any
> C application is the underlying assembly. :)

Which makes C an extension for both Lisp and Occam.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fernando Mato Mira  
View profile  
 More options Jun 19 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Fernando Mato Mira <matom...@iname.com>
Date: 1999/06/19
Subject: Re: Why is tcl broken?

Fernando Mato Mira wrote:
> Marco Antoniotti wrote:

> > Irrelevant. C is just an extension language, the base language for any
> > C application is the underlying assembly. :)

> Which makes C an extension for both Lisp and Occam.

So Lisp is an extension of Lisp. QED (duh)

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Thornley  
View profile  
 More options Jun 19 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme, comp.lang.eiffel
From: thorn...@visi.com (David Thornley)
Date: 1999/06/19
Subject: Re: Why is tcl broken?
In article <rnbpv2v5ejh....@nortelnetworks.com>,
Chris Ebenezer  <chri...@nortelnetworks.com> wrote:

>thorn...@visi.com (David Thornley) writes:
>: >Why use TK at all ?  Once you are using scheme anyway there are nicer
>: >widget toolkits to use (from a point of view of more "normal" looking
>: >toolkits that don't suffer from color allocation problems),  there are
>: >bindings for guile and gtk and guile and Qt.
>: >
>: The attraction, to me, would be that Tk is a free, open-source
>: graphics environment that will run on Unix with X-Windows, the
>: Macintosh, and Microsoft Windows.  CLIM is commercial, Garnet last

I haven't gotten any responses that indicate that there's anything
besides Tk that meets the requirements I've specified:  free (in some
sense or another), open source (in some sense or another) and running
on MacOS, Microsoft Windows and X Windows.  Apparently Qt is free in
a very restricted sense, and doesn't run on MacOS.

>Hi David,

>If you want something that is completely free (in the GNU sense) go to
>http://www.gtk.org/, scroll down until you reach the bit on the sidebar
>that reads "Language Bindings".  You should be able to get guile-gtk
>from there.

I'm willing to consider free in the GNU sense, but GTK claims to be
for X under Unix.  I didn't see anything about GTK for the Macintosh
(yes, I have heard RMS discuss Apple Corporation) or Microsoft Windows,
aside from a note from somebody porting it in his spare time.  Given
that I have limited spare time, I'm interested in a toolkit that I can
use on the Mac without doing my own port first.  (Besides, the impression
I get from the discussion on the MS Windows port is that GTK was
designed for X Windows and Unix, and is unnecessarily hard to port
compared to a toolkit designed with a wider focus to begin with.)

It still looks like Tk is the best available graphics package for my
purposes.

--
David H. Thornley                        | If you want my opinion, ask.
da...@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fernando Mato Mira  
View profile  
 More options Jun 19 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme, comp.lang.eiffel
From: Fernando Mato Mira <matom...@iname.com>
Date: 1999/06/19
Subject: Re: Why is tcl broken?

David Thornley wrote:
> besides Tk that meets the requirements I've specified:  free, open source,
> on MacOS, Microsoft Windows and X Windows.

wxWindows.

DrScheme (MzScheme) uses that.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Christopher C Stacy  
View profile  
 More options Jun 21 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Christopher C Stacy <cst...@world.std.com>
Date: 1999/06/21
Subject: Re: Why is tcl broken?
Zmacs only runs on the system console, not over tty/telnet-style connections.

However, the system input editor (which all applications normally use) provides
a subset of emacs commands, and that mostly works on everything.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Russell Nelson  
View profile  
 More options Jun 22 1999, 3:00 am
Newsgroups: comp.lang.lisp, comp.lang.eiffel, comp.lang.python
From: Russell Nelson <nel...@crynwr.com>
Date: 1999/06/22
Subject: Re: Why is tcl broken?

>   I'm trying to collect a list of all the _current_ issues making tcl
> a bad language choice...

Because it necessarily parses strings.  Been there, done that, have
the scars to prove it.

--
-russ nelson <rn-...@crynwr.com>  http://crynwr.com/~nelson
Crynwr supports Open Source(tm) Software| PGPok | Government schools are so
521 Pleasant Valley Rd. | +1 315 268 1925 voice | bad that any rank amateur
Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   | can outdo them. Homeschool!


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Duffin  
View profile  
 More options Jun 28 1999, 3:00 am
Newsgroups: comp.lang.lisp, comp.lang.eiffel, comp.lang.python
From: Paul Duffin <pduf...@mailserver.hursley.ibm.com>
Date: 1999/06/28
Subject: Re: Why is tcl broken?

Russell Nelson wrote:

> >   I'm trying to collect a list of all the _current_ issues making tcl
> > a bad language choice...

> Because it necessarily parses strings.  Been there, done that, have
> the scars to prove it.

What do you mean by "necessarily parses strings" ?

--
Paul Duffin
DT/6000 Development     Email: pduf...@hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880      International: +44 1962-816880


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Duffin  
View profile  
 More options Jun 28 1999, 3:00 am
Newsgroups: comp.lang.lisp, comp.lang.eiffel, comp.lang.python
From: Paul Duffin <pduf...@mailserver.hursley.ibm.com>
Date: 1999/06/28
Subject: Re: Why is tcl broken?

Actually since version 8.0 Tcl has scaled quite nicely thank you, 8.1 has
reduced the scalability of string operations due to a naive implementation
of Unicode / UTF8 support but that will be fixed soon.

Tcl can be used to crunch stuff but you just have to be very careful how
you go about doing it. I have written a Tcl program to analyse the whole
Tcl source which is nearly 5MB and it did it very fast indeed.

> Perl can be much better for industrial-strength text processing. Perl has
> better regexp handling than Tcl, in fact it's usually held up as the

Tcl 8.1 now has the same (bar a few weird hacks) regular expression package
that Perl has.

> standard by which other regular expression packages are judged. Perl is much
> faster than Tcl. Perl 5 has rudimentary OOP support, which is a lot better
> than nothing and allows Perl to scale in ways Tcl can't. The comparisons

OOP support doesn't imply scalabity does it ?

> with Perl are important because Perl does a lot of the same things Tcl does
> and more. For a long time the dilemma was that Perl was the better language,
> but Tcl had a GUI. Now Perl has a Tk interface (I haven't used Tk from Perl,
> so I can't vouch for its elegance). After a while, as I developed more
> complex applications in the languages, I found myself abandoning Tcl in
> favor of Perl because of the performance and scalability. Perl code lacks
> the beautiful brainless stickiness of Tcl, though. Perl is a "clever"
> language, with what many would describe as "line noise" syntax. Cleverness
> is dreadful when you have to look at it six months later. Tcl is the glory
> of "stupid" programming, which I lean towards whenever possible. But it will
> drive you crazy the minute you need speed or want to encapsulate something.

It sounds as though you are being a bit unfair with Tcl. You seem to invest
an awful lot of brainpower in Perl (not to deal with the problem but to
deal with the language) but you don't spend any on Tcl because it is so
simple. If you invested as much time learning how to program efficiently
in Tcl as you do in Perl you would soon be able to match performance.

--
Paul Duffin
DT/6000 Development     Email: pduf...@hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880      International: +44 1962-816880

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Duffin  
View profile  
 More options Jun 28 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Paul Duffin <pduf...@mailserver.hursley.ibm.com>
Date: 1999/06/28
Subject: Re: Why is tcl broken?

Donn Cave wrote:

> Greg Ewing <greg.ew...@compaq.com> writes:
> ...
> | In my experience, I find that I can do with Python everything
> | that Tcl was designed for, do it more easily, do a lot
> | more besides, and have more fun in the process. I believe
> | the reason for this is rooted in some fundamental design
> | features of these languages, which I have sketched above.
> | I think that's about as close as one can get to providing
> | an objective argument as to whether one language is better
> | than another for a given purpose.

Actually you find that you can do everything that YOU want to
in Python and YOU find it easier than doing it in Tcl. I do not
believe that you can do everything in Python that you can do
in Tcl (at least as regards extending the language itself).

> How about Expect as an example?  I don't mean to criticize the
> existing Python Expect implementation(s), have no idea where the
> state of the art is on that.  I just remember trying to think of
> a natural Python idiom that would replace the "expect" verb's case
> switch flow of control.

> My experience is more or less the same as yours - rewrote Tcl
> software in Python and was henceforth a convert.  But I think
> Tcl is syntactically more adaptable, where Python kind of makes
> a virtue of its fixed ways.

Correct. With Tcl you can create new control structures which
are indistinguishable from the built in ones, you cannot do
that in Python. Python is much more rigid in its syntax although
it does have a lot of nice hooks to allow objects to behave
in different ways.

--
Paul Duffin
DT/6000 Development     Email: pduf...@hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880      International: +44 1962-816880


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Jun 28 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
Date: 1999/06/28
Subject: Re: Why is tcl broken?

Paul Duffin <pduf...@mailserver.hursley.ibm.com> writes:

        ...

> Correct. With Tcl you can create new control structures which
> are indistinguishable from the built in ones, you cannot do
> that in Python. Python is much more rigid in its syntax although
> it does have a lot of nice hooks to allow objects to behave
> in different ways.

But you can do that much more easily and elegantly in the L-word
language :)

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Klaus Schilling  
View profile  
 More options Jun 28 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Klaus Schilling <Klaus.Schill...@home.ivm.de>
Date: 1999/06/28
Subject: Re: Why is tcl broken?

Marco Antoniotti <marc...@copernico.parades.rm.cnr.it> writes:
> Paul Duffin <pduf...@mailserver.hursley.ibm.com> writes:

>    ...

> > Correct. With Tcl you can create new control structures which
> > are indistinguishable from the built in ones, you cannot do
> > that in Python. Python is much more rigid in its syntax although
> > it does have a lot of nice hooks to allow objects to behave
> > in different ways.

> But you can do that much more easily and elegantly in the L-word
> language :)

It can be done best in the Scheme, by means of the almighty
call-with-current-continuation, the best of all control structures,
and define-syntax on top of it.

Klaus Schilling


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Greg Ewing  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.lisp, comp.lang.eiffel, comp.lang.python
From: Greg Ewing <greg.ew...@compaq.com>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

Paul Duffin wrote:
> Russell Nelson wrote:
> > Because it necessarily parses strings.
> What do you mean by "necessarily parses strings" ?

It's better than unnecessarily parsing
strings, I suppose! :-)

Greg


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Greg Ewing  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Greg Ewing <greg.ew...@compaq.com>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

Paul Duffin wrote:

> Actually you find that you can do everything that YOU want to
> in Python and YOU find it easier than doing it in Tcl. I do not
> believe that you can do everything in Python that you can do
> in Tcl (at least as regards extending the language itself).

I meant that Python addresses all the major areas
of application that Tcl's designer claims Tcl was
designed for.

I don't regard extending Tcl as an "application"
of Tcl -- it's just a means to an end. Python
achieves many of the same ends as Tcl using
different means.

Greg


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Duffin  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Paul Duffin <pduf...@mailserver.hursley.ibm.com>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

Both Tcl and Scheme can do it, "best" is subjective.

--
Paul Duffin
DT/6000 Development     Email: pduf...@hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880      International: +44 1962-816880


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

Nope. *best* is the Common Lisp Macro system, with Scheme/Dylan syntax
stuff a second best.  The notion of 'upvar' in Tcl makes my head
spin. :) Finally, AFAIU, a Tcl "macro" must run as an interpreter of
the spec. A Common Lisp (Scheme) macro is compiled into regular code
by read-time expansion.

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Cameron Laird  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: cla...@Starbase.NeoSoft.COM (Cameron Laird)
Date: 1999/06/29
Subject: Re: Why is tcl broken?
In article <lw67471fyi....@copernico.parades.rm.cnr.it>,
Marco Antoniotti  <marc...@copernico.parades.rm.cnr.it> wrote:
                        .
                        .
                        .
>spin. :) Finally, AFAIU, a Tcl "macro" must run as an interpreter of
>the spec. A Common Lisp (Scheme) macro is compiled into regular code
>by read-time expansion.

                        .
                        .
                        .
Are you making a semantic point, or arguing
on the basis of implementation-specific per-
formance?  If the latter, please be aware
that the Tcl community is actively investi-
gating dramatic speedups of [eval].
--

Cameron Laird           http://starbase.neosoft.com/~claird/home.html
cla...@NeoSoft.com      +1 281 996 8546 FAX


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

It is (mostly) a semantic point.

> If the latter, please be aware
> that the Tcl community is actively investi-
> gating dramatic speedups of [eval].

I have no problems with that.  But the following example is pretty
hard to beat. :)

=========================================================================== ===
* (defmacro zut (a) `(list ,a))
ZUT

* (defun zot (x) (zut x))
ZOT

* (compile 'zot)
ZOT

* (disassemble 'zot)
071B5790:       .ENTRY ZOT(x)                ; (FUNCTION (T) LIST)
     7A8:       ADD   -18, %CODE
     7AC:       ADD   %CFP, 32, %CSP

     7B0:       CMP   %NARGS, 4              ; %NARGS = #:G0
     7B4:       BNE   L0
     7B8:       NOP
     7BC:       MOVE  %A0, %A4               ; %A0 = #:G1
     7C0:       MOVE  %A4, %A0               ; No-arg-parsing entry point
     7C4:       ADD   4, %ALLOC
     7C8:       ANDN  %ALLOC, 7, %A3
     7CC:       OR    3, %A3
     7D0:       MOVE  %A3, %A1
     7D4:       ST    %A0, [%A1-3]
     7D8:       ST    %NULL, [%A1+1]
     7DC:       TADDCCTV 4, %ALLOC
     7E0:       MOVE  %A3, %A0
     7E4:       MOVE  %CFP, %CSP
     7E8:       MOVE  %OCFP, %CFP
     7EC:       J     %LRA+5

     7F0:       MOVE  %LRA, %CODE
     7F4:       UNIMP 0
     7F8: L0:   UNIMP 10                     ; Error trap
     7FC:       BYTE  #x04
     7FD:       BYTE  #x19                   ; INVALID-ARGUMENT-COUNT-ERROR
     7FE:       BYTE  #xFE, #xED, #x01       ; NARGS
     801:       .ALIGN 4
*
=========================================================================== ===

Of course I could have defined a much more intricated macro.

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Cameron Laird  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: cla...@Starbase.NeoSoft.COM (Cameron Laird)
Date: 1999/06/29
Subject: Re: Why is tcl broken?
In article <lwso7bdnia....@copernico.parades.rm.cnr.it>,
Marco Antoniotti  <marc...@copernico.parades.rm.cnr.it> wrote:
                        .
                        .
                        .

                        .
                        .
                        .
As it happens, there's very good work going on just now
to beef up Tcl's introspective capabilities.  Is *that*--
introspection--the real content of your preference?
Incidentally, many of the same ideas and possibilities
are available to Python, although I don't know of anyone
actively pursuing them for Python.  While Tim Peters im-
presses me with, among much else, his ability to code
clever little methods that tease all sorts of informa-
tion from a Python interpreter, I occasionally argue that
'twould be worth the effort to do introspection for Py-
thon in a more unified way.
--

Cameron Laird           http://starbase.neosoft.com/~claird/home.html
cla...@NeoSoft.com      +1 281 996 8546 FAX


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Marco Antoniotti <marc...@copernico.parades.rm.cnr.it>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

cla...@Starbase.NeoSoft.COM (Cameron Laird) writes:
> >Of course I could have defined a much more intricated macro.
>                    .
>                    .
>                    .
> As it happens, there's very good work going on just now
> to beef up Tcl's introspective capabilities.  Is *that*--
> introspection--the real content of your preference?

Nope, you must correct me if I am wrong, but in Tcl, you set up a new
'form' by writing a "proc".  This "proc" takes some Tcl 'list' (with
strings as leaves) and produces another list (with strings as leaves).

When "proc" is used within some code, its code is executed at
runtime.  This is not what happens in Lisp, Scheme and Dylan, where
macros are evaluated at read-time.  This is pure code transformation,
which when fed in the Common Lisp *compiler* produces inlined code.

Introspection is not something I was very interested in when making my
point. I just wanted to point out that with Common Lisp (and Scheme, and
Dylan) you get a native compiler.

If we want to talk about introspection, have you ever seen a Common
Lisp inspector?  It is based on a lot of "introspective" functions,
which were present in Common Lisp in 1984, 15 years ago.

> Incidentally, many of the same ideas and possibilities
> are available to Python, although I don't know of anyone
> actively pursuing them for Python.  While Tim Peters im-
> presses me with, among much else, his ability to code
> clever little methods that tease all sorts of informa-
> tion from a Python interpreter, I occasionally argue that
> 'twould be worth the effort to do introspection for Py-
> thon in a more unified way.

As Common Lisp does? (sorry, I couldn't resist :) )

Cheers

--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Lars Marius Garshol  
View profile  
 More options Jun 29 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
From: Lars Marius Garshol <lar...@ifi.uio.no>
Date: 1999/06/29
Subject: Re: Why is tcl broken?

* Cameron Laird
|
| As it happens, there's very good work going on just now to beef up
| Tcl's introspective capabilities.  Is *that*-- introspection--the
| real content of your preference?

I don't know exactly what Marco had in mind, but this is certainly not
the main value of the Common Lisp macro facility. The main value lies
in being able to extend the language seamlessly with no run-time costs.

Things like the while loop (which does not exist in CL), the Common
Lisp Object System and programming by contract features can be built
on top of the Lisp core using nothing but CL primitives. Personally, I
dream of finding the time to toy with Aspect-Oriented programming in
CL through extension macros.

I know tcl has a similar capability, but I'm unsure whether it is of
comparable power and convenience.

[From your first posting in this sub-thread]

| Are you making a semantic point, or arguing on the basis of
| implementation-specific performance?

Is there more than one implementation of tcl? If so, does any of them
do macro expansions at compile-time? If not, I think arguments based
on performance also carry considerable weight.

I doubt that you would disagree that C++ has better performance than
does tcl. Given than CL achieves comparable performance to C++ a
conclusion seems near at hand. :)

(BTW, I don't know if you're aware of this, but Dylan, which you wrote
an excellent article on[1] is essentially Common Lisp bereft of one of
its major features, the S-expression syntax.)

| Incidentally, many of the same ideas and possibilities are available
| to Python, although I don't know of anyone actively pursuing them
| for Python.

Actually, macros, performance and S-expressions are among the things I
miss the most in Python.  bytecodehacks, although certainly cool, are
just a pale shadow of what CL macros provide.

As for introspection, Common Lisp has good support for that as well,
although I very much doubt that that was Marco's point.

| [...] I occasionally argue that 'twould be worth the effort to do
| introspection for Python in a more unified way.

'twould indeed, but I find other issues more pressing.

--Lars M.

[1] <URL: http://www.sunworld.com/swol-03-1999/swol-03-regex.html >


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "The Power of Common Lisp Macros (was Re: Why is tcl broken?)" by Pierre R. Mai
Pierre R. Mai  
View profile  
 More options Jun 30 1999, 3:00 am
Newsgroups: comp.lang.python, comp.lang.lisp, comp.lang.scheme
Followup-To: comp.lang.lisp
From: p...@acm.org (Pierre R. Mai)
Date: 1999/06/30
Subject: The Power of Common Lisp Macros (was Re: Why is tcl broken?)

Marco Antoniotti <marc...@copernico.parades.rm.cnr.it> writes:
> When "proc" is used within some code, its code is executed at
> runtime.  This is not what happens in Lisp, Scheme and Dylan, where
> macros are evaluated at read-time.  This is pure code transformation,

Only reader-macros are evaluated at read-time.  Normal macros are
evaluated at compile time.  (I know Marco knows this, just to make
sure those without CL knowledge aren't confused.).

> which when fed in the Common Lisp *compiler* produces inlined code.

What I find more interesting than the fact that you get inlined code,
is the possibility that compile-time evaluation affords you: In effect
macros (and compiler-macros) let you extend and use the normal CL
compiler to do most of the dirty work for you in many situations.
IMHO CL's macros are _the_ most important reason that makes CL so good
at embedding domain-specific languages.

Take for example Harlequin's Common SQL, which embeds SQL in CL
(without any ugly pre-processors, or other evil stuff, such as C
needs):

(do-query ((name) [select [ename] :from [emp]])
  (print name))

This maps name over the tuples returned by the query and prints them.
The important wrinkle:  The query expression gets optimized and
compiled as part of the normal CL compilation process.  Here do-query
is implemented as a macro, the special SQL-syntax using [] is
implemented as reader-macros on [ (and ]).

Or take this silly macro definition (yes, this would need to pass
around a tcl environment object and probably do a number of other
things, but for simplicity):

(defun compile-tcl-to-lisp (exp)
  "Compiles a TCL expression in Lisp syntax into optimized Common Lisp
code for run-time execution."
  ...)

(defmacro in-tcl (&body expressions)
  (let ((compiled-code (mapcar #'compile-tcl-to-lisp expressions)))
    `(progn ,@compiled-code)))

Given this (and a suitably lispified TCL syntax, i.e. one which used sexps
as basic units), I could now write embedded TCL in my CL programs, which
would get compiled to optimized native code along with my normal code.
And this works for any language for which you can dream up an apropriate
sexp syntax.  If done correctly, I can let the embedded language access
and modify the normal CL environment.

And all of this is done at the level of CL itself, that is all of this
can be written as portable ANSI Common Lisp code, without ever having
to open up the implementation, or resort to things like C...

Regs, Pierre.

PS:  Since I still think that this thread should never have been
started, especially as a cross-posted one, I've changed the subject
line and set a follow-up to comp.lang.lisp, where the possibilities of
Common Lisp in this area can be suitably discussed.  Anyone who
disagrees with this judgement may of course ignore the F'up header...

--
Pierre Mai <p...@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Why is tcl broken?" by Erik Naggum
Erik Naggum  
View profile  
 More options Jun 30 1999, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1999/06/30
Subject: Re: Why is tcl broken?
* cla...@Starbase.NeoSoft.COM (Cameron Laird)
| If the latter, please be aware that the Tcl community is actively
| investi- gating dramatic speedups of [eval].

  I used to say "those who do not know Lisp are doomed to reimplement it"
  and mean it humorously.  maybe it's the truth and not funny at all.  sigh.

#:Erik
--
@1999-07-22T00:37:33Z -- pi billion seconds since the turn of the century


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 76 - 100 of 288 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »