Newsgroups: comp.sys.amiga.programmer
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!snorkelwacker.mit.edu!stanford.edu!agate!violet.berkeley.edu!pete
From: pete@violet.berkeley.edu (Pete Goodeve)
Subject: Re: Hyper Functionality
Message-ID: <1991Apr23.091455.5375@agate.berkeley.edu>
Sender: root@agate.berkeley.edu (Charlie Root)
Organization: University of California, Berkeley
References: <12952@pasteur.Berkeley.EDU> <Apr.23.01.10.46.1991.8069@pilot.njin.net>
Date: Tue, 23 Apr 1991 09:14:55 GMT
Lines: 43

In  <Apr.23.01.10.46.1991.8069@pilot.njin.net> (23 Apr),
Tom Limoncelli (limonce@pilot.njin.net) writes:
> In article <12952@pasteur.Berkeley.EDU> navas@cory.Berkeley.EDU (David C. Navas) writes:
>
|>  We're not just talking adding interconnectivity between apps with ARexx
|>  ports.  Let's talk about adding functionality to existing apps by run-time,
|>  even call-time, binding of program functions -- which would transparently
>
> Congrats!  You've just re-invented Tcl.  Well, not exactly, [...]

Uh...right.  Not exactly (:-)) [I should let Dave respond -- he probably
will anyway -- but I couldn't resist jumping in...]
Both Dave and I are WELL aware of Tcl.  We ought to be..: the author is
right here in the EECS department at Berkeley!  Dave has actually taken
a class or two from him.  I even ported the Tcl Interpreter myself to
the Amiga, but only as a quick trial to see how it would work in this
sort of context; I left the heavy stuff to the guys at Hackercorp.
I was pleased though at how easily it DID port.


> [......]  It has a lot of good things in it.  I'd almost prefer it
> over ARexx, except I'm not going to try to convince C-A to drop ARexx
> and pick up Tcl.  :)

I agree.  And it's interesting that John Ousterhout is trying to do
under Un*x the sort of thing that the Amiga is much more at home doing.

However-- as I said -- it's not quite the hyperfunctionality we're
after.  Being still strictly a text-string-interpreter, just like ARexx, it
isn't really dynamic enough at run-time to do the sort of things I believe
Dave is thinking of.  Like ARexx, it's easy to pass text commands around;
hard to pass anything else (like data buffers).  The only kind of run-time
binding you can really do is to supply new text for responding to a
certain event: OK for some applications -- not for all. (Often too slow,
for one thing.)

On the other hand, its embeddability and extensibility makes it rather
atttractive as a possible component of a Hyperfunctional system.  It's
well worth keeping in mind.

                                    -- Pete --


