[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
info-dylan up again
- To: info-dylan
- Subject: info-dylan up again
- From: Sean Brunnock <brunnock>
- Date: Thu, 10 Dec 92 13:44:34 -0500
I have restored the info-dylan mailing list. I have not received
any expalanation from the postmaster at the site in question.
Below are the messages that were sent to info-dylan in the past 24 hours.
Sean Brunnock
Date: Wed, 9 Dec 1992 17:20:59 +0100
From: Bengt Baverman <bengtb@stacken.kth.se>
Message-Id: <199212091620.AA09695@alex.stacken.kth.se>
To: info-dylan@cambridge.apple.com, info-thomas@crl.dec.com
Subject: Using <deque> class in Dylan under Thomas.
Cc: bengtb@stacken.kth.se
I have been playing around with Dylan and Thomas a couple of days now, but I
cannot understand how to use <deque>. Why do I get this response from Thomas:
? (define q (make <deque>))
;Value: q
? (push q 'foo)
*** ERROR -- runtime-error
*** Going back to Thomas toplevel...
? (push q (singleton 'foo))
*** ERROR -- runtime-error
*** Going back to Thomas toplevel...
? (push q 4711)
*** ERROR -- runtime-error
*** Going back to Thomas toplevel...
Is this me? Have I misunderstod Dylan or is this a bug in Thomas?
Bengt Baverman
bengtb@alex.stacken.kth.se
Date: Wed, 9 Dec 92 11:24:32 EST
From: samp@kurz-ai.com (Sam Pilato)
Message-Id: <9212091624.AA24578@taiyo.kurz-ai.com>
To: info-dylan@cambridge.apple.com, patl@goldfish.mitron.tek.com
In-Reply-To: Patrick Logan's message of Tue, 8 Dec 92 11:21:22 PST
Subject: Eval - Pro's and Con's (was Re: Dylan rather than CL -- why?)
Inter-application communication and EVAL are two separate issues.
I may have an application that does not have EVAL, but it will connect
with another application as a client or a server. For example, a help
server can be contacted to display help on some topic. EVAL is not
needed.
Some other application may have IAC and EVAL, and in particular it may
allow some other application to connect and do "remote evaluation".
For example, a window system server may allow clients to connect and
send functions to the server, extending the capabilities of what the
server is capable of doing without involving the remote client. (Can
you say NeWS?)
In both of samp's examples, the server application is apparently a
language evaluator and the client wants something evaluated. There is
no demonstration of IAC having anything in common with EVAL.
I think some type of EVAL _is_ implied by inter-application
communication, but we might mean different things by EVAL.
What can be meant by an EVAL in Dylan? Dylan doesn't define EVAL, nor
does it even define a correspondence between Dylan source-code syntax
and Dylan evaluable objects (in Lisp, forms), historically mediated in
the Lisp family by a READ contract.
To consider introducing EVAL into Dylan, I assume we're defaulting to
a Lisp-like evaluator, so we're talking about advertising a contract
for the interpretation of some currently unspecified classes of Dylan
objects as function calls (or variables or constants -- or
application-interpreted tokens -- to be resolved).
Who constructs these objects? The constructors might be explicitly
provided in Dylan; they might be implicitly provided by providing only
a READ function interpreting an external syntax (Dylan syntax or
otherwise); an interface may be defined allowing a foreign body of
code to cause the construction of some Dylan object (such as
isomorphic to an Apple event object) needing interpretation by Dylan
as a foreign function being called. (I.e., Dylan is the "language" of
the foreign function, but the caller need not know Dylan syntax.)
In the last case, (let's call it ...?) EVALSERVE interprets an object,
dispatching on operator name, class, and class of (recursively
interpreted) operands, as a function call or token resolution. To me
that counts as evaluation.
(I'm not a computer language implementer, but it seems that the server
aspect of a foreign function interface _could_ get away with not
distinguishing READ from EVAL, and accept only strings (or character
streams) in Dylan syntax. I guess it depends on whether you want a
foreign _language_ interface as well as or instead of a foreign
_function_ interface. A foreign _application_ interface implies a
distinction, though, since cooperating applications shouldn't need to
know each other's source-language syntax.)
To me, this topic does seem relevant to Dylan, however small you want
to make it, if Dylan is to be embeddable in larger, foreign,
environments. I'm asking whether Dylan best provides separate EVAL
and EVALSERVE, or a single eval for both purposes, or neither.
Date: Wed, 9 Dec 92 16:08:51 EST
From: samp@kurz-ai.com (Sam Pilato)
Message-Id: <9212092108.AA24708@taiyo.kurz-ai.com>
To: info-dylan@cambridge.apple.com, patl@goldfish.mitron.tek.com
In-Reply-To: Patrick Logan's message of Wed, 9 Dec 92 09:03:01 PST
Subject: Eval - Pro's and Con's (was Re: Dylan rather than CL -- why?)
Date: Wed, 9 Dec 92 09:03:01 PST
From: Patrick Logan <patl@goldfish.mitron.tek.com>
Date: Wed, 9 Dec 92 11:24:32 EST
From: samp@kurz-ai.COM (Sam Pilato)
[...]
I think some type of EVAL _is_ implied by inter-application
communication, but we might mean different things by EVAL.
[...]
In the last case, (let's call it ...?) EVALSERVE interprets an object,
dispatching on operator name, class, and class of (recursively
interpreted) operands, as a function call or token resolution. To me
that counts as evaluation.
I think we are talking about two different things: an evaluator for
the Dylan language that is integrated with, changes, and extends the
same Dylan environment used to implement the application; and an
evaluator for a language that is implemented in the application, which
may be a "meta-circular" implementation of Dylan, but it does not
change or extend the "original" Dylan's environment.
Does that make sense?
Yes, I think I understand your distinction. In the first case you're
talking about a traditional EVAL, and in the second case any other
language using Dylan code for its interpreter.
In particular, the "other" language I'm talking about has code objects
something like Apple event objects, and Dylan (or perhaps more likely
an application written in Dylan) handles some subset of those events,
via a kind of "evaluation".
If it handles an application-defined and perhaps foreign-extensible
variety of events, and if the event objects can be mapped to Dylan
"forms" (currently nonexistent), then the language begins to look like
a nice inter-application interface. I'm wondering whether a native
EVAL in Dylan might serve as a handy, generic, and efficient
implementation of that language.
Date: Thu, 10 Dec 1992 00:27:59 +0100
From: Bengt Baverman <bengtb@stacken.kth.se>
Message-Id: <199212092327.AA10341@alex.stacken.kth.se>
To: bengtb@stacken.kth.se, info-dylan@cambridge.apple.com,
patl@goldfish.mitron.tek.com
Subject: Re: Using <deque> class in Dylan under Thomas.
>I am using the scc kit for Thomas 1.1 and the <deque> functions work
>as expected. Maybe it is a bug with some other kit or something in
>your installation.
The version of Thomas that I use is:
Thomas 1.1 system running on MacGambit 1.9.1 as printed at startup.
Bengt Baverman
bengtb@alex.stacken.kth.se