HDTenEightyP/NetNews huggingface dataset:
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: scheme parameter frames
Date: 14 Apr 1992 16:29:12 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <Apr.14.00.53.21.1992.10295@blaze.rutgers.edu> gaynor@paul.rutgers.edu writes:
>Peace-of-mind request.  I get the impression that the frame for associating
>parameters for a function call remains accessable after the call completes.

Yes.  These are generally called "lexical closures."  Section 4.1.4 of R4RS
specifically says, "The environment in effect when the lambda expression
was evaluated is remembered as part of the procedure."  The same is true in
Common Lisp; page 45 of CLtL2 says, "Variable bindings normally have
lexical scope and indefinite extent."

>Anyone care to comment on semantic and efficiency issues?

This feature was introduced in Scheme, and picked up by Common Lisp,
because of the powerful semantic capabilities that it provides.  This basic
facility can be used to implement object-oriented programming systems and
many other advanced features.  See the book "Structure and Interpretation
of Computer Programs" for many examples.

>I'm a little uncomfortable with the notion of a physical attribute of a
>function call persisting beyond the invocation.  

Many function calls have side effects.  Isn't setting a variable a
"physical attribute" that persists?

When you see this facility used in proper ways, I think you'll be more
comfortable.  Here's a simple example:

(define (make-adder increment)
  (lambda (z) (+ z increment)))

(define (add3 x)
  ((make-adder 3) x))

(define (add5 y)
  ((make-adder 5) y))

>						  What do you think are
>reasonable alternatives in resolving the reference?  Make it unbound or voided
>in some way?  

That's what older Lisps did.

>	       This is kind of inefficient, heap-intensive, no?  

Well, it's certainly not as cheap as stack allocation, but it's not much
more expensive than other heap allocation (like cons).

>								 Well, seems
>that this cost can be written off under the assumption that most functions
>don't provide access to their invocation frames after invocation, and that this
>condition can be detected statically and subject to relatively easy
>optimization.

Right.  Also, you don't have to copy the entire stack to the heap, just
those variables that are referenced by closures that can be returned.  The
static analysis for this is pretty easy, and just about every Common Lisp
and Scheme compiler does it.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
From: gene@ucsb.edu (Kostruba)
Newsgroups: comp.lang.lisp
Subject: Lisp question
Date: 8 Apr 92 20:23:23 GMT
Organization: University of California, Santa Barbara

I have a Lisp question:

I have a function called changevar which accepts quoted lists as arguments:

	(changevar '(x) '(varval varlist '(y)))

The problem is, if I have variables with values symbol x and symbol y, how do
I contruct the call to changevar?  If a has value 'x, and b has value 'y,
the following is inadequate:

	(changevar (list a) (list 'varval 'varlist (list b)))

because x and y will not wind up as quoted.  How do I solve this problem?

Thank you

::::::::::::::::::::::::::::::::::::::::::::::
gene@cs.ucsb.edu
::::::::::::::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::
gene@cs.ucsb.edu
::::::::::::::::::::::::::::::::::::::::::::::
Newsgroups: comp.lang.lisp
From: adams@pdv2.fmr.maschinenbau.th-darmstadt.de (Adams)
Subject: akcl-1-609 on SUN3/160
Date: Wed, 8 Apr 1992 01:48:20 GMT
Distribution: comp
Organization: TH-Darmstadt


Is there a reason to compile the C sources without floating point
hardware support? In the makefiles, using gcc "-msoftfloat" is
explicit written, using CC no fpu-support is enabled ( "-f68881" is
not given as a compiler switch). 

Would it be save to allow fpu support?

best regards, adams
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Finding the file extensions for LISP source and object files?
Date: 14 Apr 1992 05:11:03 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: gandalf.think.com

In article <1992Apr13.182341.1462@umbc3.umbc.edu> cs106241@umbc5.umbc.edu (cs106241) writes:
>Is there a CLtL/1 way to find out the file extension for a source file
>(eg "lisp" or "LISP") or an object file ("fas, "fasl", etc)? Using the
>CLtL/2 version, I think I could find out the extension for lisp files
>by using make-pathname with the new :case keyword. But even there I
>cannot figure out how to figure out what the object file's extension will

No, CLtL1 doesn't provide any way to do this.  As someone else pointed out,
:CASE has nothing to do with this, either.

CLtL2 does, however, provide a way to do it when you're using logical
pathnames; a logical pathname with the type "LISP" is required to translate
to a physical pathname with the appropriate source file type.

For the object file, you can use the CLtL2 function COMPILED-FILE-PATHNAME.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
From: UPP201@ibm.rhrz.uni-bonn.de (Michael Burschik)
Newsgroups: comp.lang.lisp
Subject: kcl for dos
Date: 7 Apr 92 10:50:41 GMT
Organization: RHRZ-Uni-Bonn

I recently received the information that kcl is available for the pc.
I was, however, unable to find an ftp site where I could get it. Could
someone help me out?
                     Cheers,
                             Mike.
From: hal@zurich.ai.mit.edu (Hal Abelson)
Newsgroups: comp.lang.lisp
Subject: Job announcement: Scheme programming position at MIT
Date: 11 Apr 92 13:26:32 GMT
Reply-To: hal@altdorf.ai.mit.edu
Distribution: comp.lang.lisp
Organization: M.I.T. Artificial Intelligence Lab.


The MIT Artificial Intelligence Laboratory has an opening for a
Research Scientist to provide system support for research in symbolic
and numerical computing.  We are seeking an outstanding system
designer who will assume primary responsibility for the continued
development of MIT's implementation of the Scheme dialect of Lisp, and
the associated Unix environment.  Other duties include continuing
research on high-performance implementations of Lisp-like languages,
and supervising students and staff members.  A formal degree
(bachelor's level or higher) in Computer Science is preferred.
Applicants must have experience with Scheme and with Scheme
compilation techniques, and must have developed substantial
applications in Scheme or Lisp.  Applicants must also have extensive
knowledge of Unix, although they should have sufficiently good
programming taste to not consider this an achievement.

MIT is an Affirmative Action/Equal Opportunity Employer.  MIT is a
non-smoking environment.

Please send inquiries to Prof. Hal Abelson, MIT Artificial
Intelligence Laboratory, 545 Technology Square, Cambridge, MA 02139,
hal@ai.mit.edu.




--

-- Hal
From: wiegley@usc.edu (Jeffrey Wiegley)
Newsgroups: comp.lang.lisp
Subject: keypresses in lisp, help please...
Date: 16 Apr 1992 21:19:02 -0700
Organization: University of Southern California, Los Angeles, CA
Distribution: na
NNTP-Posting-Host: phakt.usc.edu


could anybody out there tell me how to write a lisp function to input a
single character without having to wait for a return?  I'm writing a
program and I want to move through menus with only a single key stroke.

basically I would like to mimick the C curses library input after

cbreak();
noecho();

is called for character-at-a-time input.
I would like it not to echo the keystroke but if that's hard or impossible
I can live with it being echoed.

thanks ahead of time for any help you can give me!

- Jeff Wiegley   (non-lisp guru, trying though)
-- 
Jeff Wiegley                         "Women are never to be entirely
wiegley@usc.edu                       trusted- not the best of them."
                                               - Sherlock Holmes
Newsgroups: comp.lang.lisp.x
From: eru@tnso04.tele.nokia.fi (Erkki Ruohtula)
Newsgroups: comp.lang.lisp.x
Subject: Re: Speeding up XLISP
Date: 16 Apr 92 16:57:27 GMT
Article-I.D.: tnso04.ERU.92Apr16185727
Organization: /user1/u2/eru/.organization

In article <11810@sail.LABS.TEK.COM> toma@sail.LABS.TEK.COM (Tom Almy) writes:
   The biggest improvement would come from a XLISP compiler, since "interpreter
   overhead" accounts for a large percentage of execution time. A threaded LISP
   interpreter would probably pick up most of the gain, and would be portable.

How about a "byte code compiler", like in Xscheme? One problem is
that after some more expansion, XLisp won't fit into a vanilla PC.

What is the reason why 2.1d uses the address of a static variable as
NIL, instead of a  NULL pointer? One would expect comparisons agains NULL
to be faster and more compact (I realise this certainly does not make much
difference in the speed of the end result, but I am just wondering why this
choice).

Btw, has anyone succeeded in compiling 2.1d with Microsoft C 5.0 so
that the result actually works? I have tried various switch combinations
but the result always dies in some random spot, typically when handling
a load. Debugging is greatly hampered by the fact that the program is too
large to fit into Codeview. Or am I the last person on the net still
trying to use version 5.0...
--
Erkki Ruohtula     / Nokia Telecommunications
eru@tele.nokia.fi / P.O. Box 33 SF-02601 Espoo, Finland
(My private opinions, of course.)
From: danielsn@unixg.ubc.ca (Peter Danielson)
Newsgroups: comp.lang.lisp.x
Subject: xlisp for NeXT
Date: 7 Apr 92 00:05:32 GMT
Organization: University of British Columbia, Vancouver, B.C., Canada

I have tried, without success, to make xlisp for my NeXTstation
from the xlisphar files at the cu.orst.edu archives, which seem
to lack the unix specific files needed.  Any suggestions as to
what am I doing wrong would be greatly appreciated!

Peter Danielson, Centre for Applied Ethics, UBC, Vancouver, Canada
From: steven@monu6.cc.monash.edu.au (Steve Stergakis)
Newsgroups: comp.lang.lisp.x
Subject: INFO NEEDED on OOA Methodologies
Date: 8 Apr 92 09:39:06 GMT
Organization: Monash University, Caulfield Campus


NOTE: this message has been posted for persons that either use, teach 
or have some opinion regarding current OOA methodologies being 
used...

THIS MESSAGE HAS BEEN CROSS POSTED TO MANY NEWS GROUPS.  PLEASE 
DISREGARD IT IF HAS BEEN POSTED TO AN INCORRECT AREA.

i am a postgraduate student who is currently studying OOA and 
would greatly appreciate any information regarding experience
you have had with object oriented methodologies

as i am about to write a critical review of the current OO methodologies i 
would appreciate if you could tell me which approach you prefer.. or if
you know of any article that have compared current OOA methods, that would
also be greatly appreciated...

i am especially interested in persons who use such methodologies 
in practice.. their extent of their use in your work area.. 
the type of work you do.... and your opinion!

PLEASE feel free to comment on any of the above questions.. if you do
not wish to relate specific information pertaining to your work /
work environment, then leave it out

NOTE: if possible please reply directly to me 

thanks in advance

+------------------------------------------------------------+
| Steven Stergakis      steven@monu6.monash.cc.edu.au        |
|                                                            |
|                       (Post Graduate)                      |
|                       Faculty of Computing and Information |
|                       Technology                           |
|                                                            |
|                       Monash University - Australia        | 
+------------------------------------------------------------+
From: petera@bcrka398.bnr.ca (Peter Ashwood-Smith 1600361)
Newsgroups: comp.lang.lisp.x
Subject: Re: unix sockets
Date: 13 Apr 92 14:37:07 GMT
Reply-To: petera@bcrka398.bnr.ca (Peter Ashwood-Smith 1600361)
Organization: Bell-Northern Research, Ottawa, Canada

> (Hume Smith)

>  has anyone tried adding socket functions to xlisp?  any ideas how to
> make it sort-of pretty, unlike the C underneath?

 I added socket based communications to PC-LISP for our CAD tools
on SUN/RS/APOLLO and HP workstations. Similar things could easily be 
done with XLisp.

 We created a (socketopen <addr> <port> [<timeout>] function.
If provided, the <timeout> indicated an active connection, if
absent the connection was passive. The function simply returned
a normal file descriptor which could be (read) etc. using the
normal I/O functions. This meant that S-expressions could be
sent through the sockets and read on the other side. We used the
TCP_STREAM protocol and modified the (read)/(print) functions
to keep track of the last I/O direction used and to rewind(fd) if
the direction changed. With this done, the normal I/O functions
were used for socket based communications and the socketopen
function was used to open the connection.

 We even set up asynchronous socketopen/read/eval/print loops
at the top of some of our CAD tools so that the tool could
asynchronously receive a LISP S-expression, evaluate it, and
print the result back to the sender. Beats the heck out of
formatting packets and you get not only data exchange but
control exchange too!

 Peter Ashwood-Smith.
From: toma@sail.LABS.TEK.COM (Tom Almy)
Newsgroups: comp.lang.lisp.x
Subject: Re: Speeding up XLISP
Date: 13 Apr 92 15:39:09 GMT
Reply-To: toma@sail.labs.tek.com
Organization: Tektronix, Inc., Beaverton,  OR.

In article <4555@m1.cs.man.ac.uk> snowdond@cs.man.ac.uk (Dave Snowdon) writes:

>  Has anyone tried speeding up XLISP by using a faster garbage collection
>algorithm? Also, I have read a paper which describes implementing a threaded
>LISP interpreter - has anyone experimented with this sort of approach?

I've profiled XLISP and found that there is no one area that accounts for the
majority of execution time. GC takes about 10-20%, so if you made GC 
infinitely fast you'd only get at most 20% typical performance improvement.

The biggest improvement would come from a XLISP compiler, since "interpreter
overhead" accounts for a large percentage of execution time. A threaded LISP
interpreter would probably pick up most of the gain, and would be portable.

-- 
Tom Almy
toma@sail.labs.tek.com
Standard Disclaimers Apply
From: 850347s@aucs.acadiau.ca (Hume Smith)
Newsgroups: comp.lang.lisp.x
Subject: hmm... is this the way it's supposed to be?
Date: 13 Apr 92 21:28:29 GMT
Organization: Acadia University

i'm using defstruct from xlisp2.1d to make a structure like this:

(defstruct
   lr1item production lookahead
   (tail (production-string production)))

which creates a function make-lr1item that (i thought) would initialise
tail to a value derived from one of the other fields, unless explicitly
given a value...
	(make-lr1item :production x :lookahead '(a))
would use the default value (a field within x's value), and 
	(make-lr1item :production x :tail '(x Y z) :lookahead '(a))
would set tail explicitly.

but... it doesn't do that.  defstruct builds make-lr1item in such
a way that i get an unbound symbol error on production in the
default case.  the given production (another structure) has not
bound to the symbol production at the time the expression is evaled.

i can get around this in this way:

(defstruct lr1item production lookahead tail)
(defun make-lr1item
	(&key production lookahead (tail (production-string production)))
	(#.#'make-lr1item :production production :tail tail :lookahead lookahead))

i.e., let defstruct make a non-defaulting version of make-lr1item,
and use it to make a defaulting one.  this form works.

i guess i have a number of questions, somewhat xlisp-related.

1. am i trying to do it in an evil way, with either the original plan
   or the fix?  e.g.: i'm assuming that all explicit key arguments
   will be bound before defaulting is done on unspecified ones... is
   that risky?

2. if you look at the lambda-expression generated by defstruct for
   make-lr1item, the default expression for item has been made into
   a closure... is there any particular reason for doing it that way?
   i assume the closure is delaying or making invisible the binding
   of production in this case...

3. (getting away from the focus)  how stable can i expect %make-struct
   and the other undocumented kernel structure-support functions?  (is
   kernel the word?)  i used them once to make a more general equalp,
   that would work with structures...  is that fragile?
Newsgroups: comp.lang.lisp.x
From: tims@bcarh680.bnr.ca (Tim Spurway)
Subject: XLISP Projects
Organization: Bell-Northern Research Ltd.
Date: Wed, 8 Apr 1992 13:57:32 GMT

We are currently considering XLISP/Winterp for use in a major internal
project.  It's role would be as an interpretted layer for many of our
software dev. and test automation tools.  It would be used for both
a tool command language (users could interact with their tools, and
build new tool commands - like emacs) and as a vehicle for
componentization of re-usable tool components (using XLISP objects).

Anyway, we are interested in hearing from everyone who has used
XLISP in any major projects.  Also we would like to hear opinions on
the plusses and minuses of using XLISP/Winterp for such an application.
We are especially interested in hearing some success stories with
large XLISP projects (to help us convince our senior people and more
skeptical groups of XLISP's feasability as a tool framework language).

Either drop me an e-mail note at:
   tims@bnr.ca
or post your responses for discussion.

-----------------------------------------------------------------------
Tim Spurway
Bell Northern Research
Network Test Tools Development (Dept. 7h12)
Ottawa, ON.
C A N A D A
(613)763-3201

tims@bnr.ca
-----------------------------------------------------------------------
From: 850347s@aucs.acadiau.ca (Hume Smith)
Newsgroups: comp.lang.lisp.x
Subject: unix sockets
Date: 10 Apr 92 21:55:52 GMT
Organization: Acadia University

has anyone tried adding socket functions to xlisp?  any ideas how to
make it sort-of pretty, unlike the C underneath?
From: snowdond@cs.man.ac.uk (Dave Snowdon)
Newsgroups: comp.lang.lisp.x
Subject: Speeding up XLISP
Date: 9 Apr 92 12:25:52 GMT
Reply-To: snowdond@cs.man.ac.uk (Dave Snowdon)
Organization: Department of Computer Science, University of Manchester


  Has anyone tried speeding up XLISP by using a faster garbage collection
algorithm? Also, I have read a paper which describes implementing a threaded
LISP interpreter - has anyone experimented with this sort of approach?

  I was thinking of playing with XLISP to see if any sort of speedup was possible - I'd be interested in hearing from anyone who has tried modifying the interpreter or using different gc algorithms.

			Dave

-- 
Dave Snowdon
Department of Computer Science   Tel:    (UK) 061 275 5717
Manchester University            E-mail: snowdond@cs.man.ac.uk
M13 9PL U.K.                          or snowdond@uk.ac.man.cs

  The Devil may care... But I don't mind (T.S.o.M.)
From: tzheng@cs.purdue.EDU (Tom Zheng)
Newsgroups: comp.lang.lisp
Subject: doc/demo files for affine
Date: 15 Apr 92 22:05:46 GMT
Followup-To: comp.lang.lisp
Organization: Department of Computer Science, Purdue University

I am thinking about to install affine package in our department
machines.  But before I do that, I like to have more documents
about the software(anything, introduction, manuals, it is little
documented in the package) and some test files to make a demo.

Could someone has experienced the package help me on this?  Also
the opinion(pro, con) on the package is also welcome.

Any help is appreciated,  

Tom Zheng
--
-- tzheng@cs.purdue.edu
-------------------------------------------------------------------
Newsgroups: comp.lang.lisp
From: schmitz@fue08.iitb.fhg.de (Rainer Schmitz)
Subject: Recognizing UNIX signals in Allegro CL?
Summary: How to recognize UNIX-Signals in Allegro CL?
Keywords: signals, interrupts
Organization: Fraunhofer-Gesellschaft IITB, Karlsruhe
Date: Tue, 7 Apr 1992 06:25:03 GMT

Is there any possibility in Allegro CL to recognize and handle UNIX-Signals?
There are running several processes under the control of Allegro CL, and we
have to react on incoming data (via remote procedure call) as soon as 
possible.

Thanks in advance
Rainer

-- 

________________________________________________________________________
Rainer Schmitz
c/o Fraunhofer-Institut fuer Informations- und Datenverarbeitung (IITB)
From: cs300@kuhub.cc.ukans.edu
Newsgroups: comp.lang.lisp.mcl
Subject: re: redefining keys (additional question)
Date: 12 Apr 92 15:38:08 CDT
Organization: University of Kansas Academic Computing Services

Is there an easy way to set the function keys to C-q M-a or some such in
MCL?

David Leasure
leasure@hawk.cs.ukans.edu
Newsgroups: comp.lang.lisp.mcl
From: ckyu@leland.Stanford.EDU (Chen-Kuang Yu)
Subject: step & trace enhancement for the mcl
Keywords: mcl
Organization: DSG, Stanford University, CA 94305, USA
Date: Sat, 11 Apr 92 17:44:22 GMT

I've been using lisp on the NeXT machines and recently have to do some
programming on the mcl.  However I find the STEP and TRACE debugging
macro rather crude on the mcl.  I wonder if it's mentioned in the
manual that there are some other more powerful debugging tools
available.  (I'm using the program running on the server of our schoo.
The consultant said the manual was lost, so there's no way for me to
check it out.)

BTW, are there any ftp sites where they keep a bunch of useful lisp
codes such as a modified TRACE or STEP?

Thank in advance.

/Chen Yu (yu@cs.stanford.edu)
From: STEVE.M@AppleLink.Apple.COM (Carbon-based, S Mitchell,APD)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: redefining keys under MCL
Date: 13 Apr 92 04:55:00 GMT
Original-To: INFO-MCL@CAMBRIDGE.APPLE.COM

To:     Laurent Arditi     <Laurent.Arditi@taloa.unice.fr>
cc:     info-mcl
From:   Steve Mitchell
Date:   4/11/92
 
Subject: redefining keys under MCL 2.01b
 
        I'm programming the Macintosh toolbox using Common Lisp and CLOS.
        I need special characters so I redefined a font and included it in
        my system. But the characters I redefined are reached by typing
        function-a, function-b...
        function is "_ __"
                      \__
        (because these keys weren't assigned to any character.)
        It works fine with most applications but not in MCL.
        The mac beeps when I type function-a under MCL but it prints my
        character in any other application... Is there any function to tell
        MCL to accept my new chars ?
 
        [And the question was posed again with a variation:]
        But the characters I redefined are reached by typing
        Command-a, Command-b...
 
I think you'e talking about the OPTION key. MCL uses this as the EMACS
META key, and requires you to hold it down while you type the character
it modifies. So it's normally used in MCL to invoke editor meta- commands.
 
To use it to type characters in the "optional" character set as you
wish to do, you have to "quote" the option-character. You do this
by typing control-Q before EACH option-key character (Reference p39).
 
This is not enough for certain keys such as option-e, which are known
as dead keys. When a dead key is typed, nothing appears, but an accent
will be added to the next key typed. See Reference p31 for info on how
to disable dead keys in MCL 2.0b1. MCL 2.0 final will have more options.
 
_Steve
From: cs300@kuhub.cc.ukans.edu
Newsgroups: comp.lang.lisp.mcl
Subject: change management for FRED/MCL
Date: 12 Apr 92 15:36:03 CDT
Organization: University of Kansas Academic Computing Services

If there is a change management tool for Macintosh source files,
or (better) if there is a change management tool integrated with FRED
(the common lisp editor) will someone please let me know?

It seems such an obvious tool for an environment touted as "development".

leasure@hawk.cs.ukans.edu
(not cs300.etc)