HDTenEightyP/NetNews huggingface dataset:
From: jbk@world.std.com (Jeffrey B Kane)
Newsgroups: comp.lang.lisp.mcl
Subject: Working with pointers
Date: 12 Nov 92 19:38:17 GMT


I've been playing around all morning, trying to get some resources to work properly.
I need a pointer to an icon (for an icon-dialog-item) so I used the resource package
to get a handle, but when I try to use the pointer, all sorts of problems occur.

(with-open-resource-file (*my-rsrcs* "Application.rsrc")
  (defparameter *icon-hndl-1* (get-resource "ICON" "Telephone"))
  (defparameter *icon-hndl-2* (get-resource "ICON" "Honda")))

  I next try to get a pointer to use by:

(when *icon-hndl-1*
  (#_MoveHHi *icon-hndl-1*)
  (#_HLock *icon-hndl-1*)
  (defparameter *my-icon-ptr* (%hget-ptr *icon-hndl-1*)))

I should now have a locked, dereferenced pointer, but when I use it to define
and icon-dialog-item I get into trouble:

(setf my-window (make-instance 'ccl::scrolling-window :color-p t))
(add-subviews my-window (make-instance 'icon-dialog-item
                     :icon *my-icon-ptr*
                     :view-position #@(50 0)))

Inspecting *my-icon-ptr* shows it to be:
    #<A Mac Handle, Unlocked, Size 40 #x263364>
as it should be.

The icon drawn is from a garbage pointer, and the machine soon crashes.

         Jeffrey

P.S.  I know the icon-dialog-item package will use a resouce ID, but I want to 
work with named resources.  Also I need to understand this so I can start to get
some general Mac programming done in MCL.

======================================
Jeffrey Kane, MD
Kane Biomedical Systems
Boston, MA

Internet           jbk@world.std.com
Compuserve  74206,640
AppleLink     D0738
From: dmg@goldilocks.LCS.MIT.EDU (David Goodine)
Newsgroups: comp.lang.lisp.mcl
Subject: Need help launching application in MCL (from a data file)
Date: 5 Nov 92 21:27:14 GMT
Original-To: info-mcl@cambridge.apple.com

I'm trying to write some code that will take a pathname for an arbitrary
file and launch the application that created the file.  I've managed to
launch an application explicitly, but can't figure out how to get the
mapping from the CREATOR of the file to the application (which the
finder seems to do internally).

The inside-mac documentation here has been no help... it seems to happen
magically somewhere between the finder and the process manager...

Any help would be appreciated, and reply to me because I'm not on the
mailing list...

Thanks,

David
From: millett@sbctri.sbc.com
Newsgroups: comp.lang.lisp.mcl
Subject: Double floats
Date: 5 Nov 92 22:32:30 GMT
Original-To: info-mcl@cambridge.apple.com
X-Sender: brain@calvin.sbc.com

I am tring to take a double-float number, break it down into 2 long
integers (high-word and low-word) to send over the network conforming to
the IEEE floating point standard.  I also want to read 2 words from the
stream and make a double-float from them.  Any Ideas?  Symbolics has two
functions that do what I want: "si:dfloat-components: (double)" &
"si:%make-double: (high low)"  Any way to do this with the mac?

Thanks,
millett@sbctri.sbc.com
From: CONDON.TOM@AppleLink.Apple.COM (Condon, Thomas,PAS)
Newsgroups: comp.lang.lisp.mcl
Subject: A Question
Date: 12 Nov 92 20:49:00 GMT

I need some advice.  I want to try out some class framework ideas out in MCL.
I would like to be in control of event handling, just as if it were a normal
Macintosh application built in C (with an event loop and the rest).  The
problem is that if disable the framework that exists for MCL I lose all the
fred windows, debuggers and all the normal MCL features.
 
What I would like is two "frameworks" coexisting so that I can develop my
framework and use MCL's environment do do this.  I assume that I must have some
strategy to intercept toolbox events that I am interested in and let MCL have
events that belong to it.
 
This may sound a little unclear, but if anyone has some insight to this I would
appreciate the help.  If you need more info on what I want, let me know...
From: cartier@math.uqam.ca (Guillaume Cartier)
Newsgroups: comp.lang.lisp.mcl
Subject: New version of Cartier's Contribs (1.2)
Date: 9 Nov 92 20:56:10 GMT
Original-To: info-mcl@cambridge.apple.com (Macintosh Common Lisp)

One new goody in version 1.2 of Cartier's Contribs:

TCP/IP

  This unit provides support for some TCP/IP protocols. With it
  you will be able to easily send mail directly from MCL and also
  open and control FTP sessions.

One bad news is that I removed the Cartier's Contribs online help files.
Those where nice but turned out to be to much work to maintain in parallel
with the full fledge Doc (RTF) document. Maybe one day, we will have
the tools to show external text editors documents inside of MCL...

How to get it:

Cartier's Contribs is available by anonymous ftp from cambridge.apple.com
as the file Cartiers-Contribs-1.2.sea.hqx in directory pub/mcl2/contrib.

Happy MCLing.


*********************************************************************
* Guillaume Cartier                 (514) 844-5294 (maison)         *
* L.A.C.I.M.                        (514) 987-4290 (bureau)         *
* Universite du Quebec a Montreal   (514) 987-8477 (telecopieur)    *
* Montreal, Quebec, Canada          cartier@math.uqam.ca (internet) *
*********************************************************************
Newsgroups: comp.lang.lisp.mcl
From: mcdougal@cs.uchicago.edu (Tom McDougal)
Subject: Re: parallel text dialog items
Organization: Univ. of Chicago Computer Science
Distribution: co
Date: 9 Nov 92 17:29:23 GMT
X-Note1: mail msgid was <1992Nov9.172923.6367@midway.uchicago.edu>
X-Note2: message-id generated by recnews

>I want to have text appear simultaneously in two places within a
>window.  A variant on the text-edit-dialog-item (from the examples
>folder) would be fine, but I'm not sure how to pass the key-events
>to multiple dialog items.  Several attempts so far have failed.

For the record, here is one attempt which did not work.
If someone could help me understand why, I would be grateful:

(defclass twin-text-item (aligned-text-dialog-item)
  ((brother :accessor brother :initarg :brother 
            :type 'text-edit-dialog-item)))

(defmethod key-event-handler :after ((self twin-text-item) char)
  (key-event-handler (brother self) char))


----------------------------------------------------------------------
-Tom McDougal          mcdougal@cs.uchicago.edu         (312) 702-0024
Dept. of Computer Science, University of Chicago

        1051, Lady Godiva puts everything she has
        on a horse.  Citizens of Coventry place bets
        for Godiva to show.
From: 72220.2750@CompuServe.COM (Keith James)
Newsgroups: comp.lang.lisp.mcl
Subject: MCL 2.0
Date: 12 Nov 92 01:32:43 GMT

Date: 11 Nov 92 
From: Keith James <72220.2750@CompuServe.COM>
To: mcl <info-mcl@cambridge.apple.com>
Subject: MCL 2.0
msg: I'm having major problems installing/runnning the latest version of 
Macintosh Common Lisp 2.0 under System 7.1?? I keep getting an Illegal 
Instruction error box on loading (or rather, NOT loading!) the program. 
This happens with all Extensions off AND dodgy Control Panels disabled AND 
when run from MCL's CD. Have tried running it under System 7.0 and 6.7, all 
with the same result.TMON debugger tells me that the program fails at a PMMU 
instruction but taking 'ptable' out doesn't improve the situation. Can you 
help? Thanks.  Keith James
From: mcdougal@cs.uchicago.edu (Tom McDougal)
Newsgroups: comp.lang.lisp.mcl
Subject: parallel text dialog items
Date: 9 Nov 92 17:07:36 GMT
Organization: Univ. of Chicago Computer Science
X-Xxmessage-Id: <A723F54531031453@tango.uchicago.edu>
X-Xxdate: Mon, 9 Nov 92 17:00:21 GMT
X-Useragent: Nuntius v1.1.1d12

Advice needed.

I want to have text appear simultaneously in two places within a
window.  A variant on the text-edit-dialog-item (from the examples
folder) would be fine, but I'm not sure how to pass the key-events
to multiple dialog items.  Several attempts so far have failed.

Thanks in advance for your help.

----------------------------------------------------------------------
-Tom McDougal          mcdougal@cs.uchicago.edu         (312) 702-0024
Dept. of Computer Science, University of Chicago

        1051, Lady Godiva puts everything she has
        on a horse.  Citizens of Coventry place bets
        for Godiva to show.
From: Kevin@SCANDIUM.mks.dialnet.symbolics.com (Kevin G. Joback)
Newsgroups: comp.lang.lisp.mcl
Subject: Database Implementation Naivete
Date: 9 Nov 92 06:35:00 GMT
Original-To: slug%ai.sri.com@riverside.scrc.symbolics.com
Original-Cc: info-mcl%cambridge.apple.com@riverside.scrc.symbolics.com

I am considering implementing a database in lisp for managing
information on chemicals. Till now I have been saving objects to files
and then reloading them. With the number of chemicals now approaching
2000 this process takes too much time. Additionally I never take
advantage of having all the information loaded.

My needs are quite minimal. No transaction restarts or SQL (yet).

I thought a file in a specified, fixed format could be used to store the
information. The FILE-POSITION function would be used to move around the
file. READ-CHAR, WRITE-CHAR, READ, WRITE, etc. used to retrieve and store
information.

Being inexperienced in this area I have several questions:

1) Is this approach likely to work? I know commercial databases offer
numerous capabilities which probably make them very complex to implement
but can one start small?

2) Are there any references which discuss the implementation of simple
databases? I have found countless books on database architecture and
implementation issues but none on how to sit down and start coding.

I thank you in advance for any comments and advice.

Kevin G. Joback
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Ambiguous numbers
Date: 11 Nov 1992 19:03:25 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <RICHARD.92Nov11115905@CLYDE.ttt.kth.se> RICHARD@ttt.kth.se writes:
>when *read-base* is something like 16, some numbers are of ambiguous type.
>
>For example, 0E0 could be read as an integer 224, or as the single-float 0.0
>
>What I want to know is, which type SHOULD take precedence in such a case?

From p.520 of CLtL2:

    The ambiguity is resolved in accordance with the general principle that
    interpretation as a digit is preferred to interpretation as a number
    marker.  The consequence in this case is that if a token can be
    interpreted as either an integer or a floating-point number, then it is
    taken to be an integer.

You can resolve the ambiguity by adding a decimal point.  0.E0 is always a
float.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
From: Chewy@cup.portal.com (Paul Frederick Snively)
Newsgroups: comp.lang.lisp
Subject: Re: Parallel Lisp
Date: Wed, 11 Nov 92 09:19:07 PST
Organization: The Portal System (TM)

It's also worth pointing, IMHO, to `The Paralation Model' from the MIT Press,
by Gary Sabot.  The Paralation Model is a dirt-simple model for parallelism
that's nicely architecture independent, and the book provides source for a
very simple simulator in Common Lisp.  A complete simulator in Common Lisp is
available from MIT Press, and a true compiler for Paralation Lisp is
apparently available for the Connection Machine, as an alternative to *Lisp,
which I found to be basically impenetrable.

Good luck,
Paul Snively
Newsgroups: comp.lang.lisp
From: hinrich@aia004.aia.RWTH-Aachen.DE
Newsgroups: comp.lang.lisp
Subject: Lisp-Compiler for PC's ????
Date: 5 Nov 92 12:32:31 GMT
Organization: Rechnerbetrieb Informatik  /  RWTH Aachen

Hi folks!

Is there anybody out there who can tell me where i can get a
compiler for Lisp on PC's
I mean FTP-Server or something else.

Thanx for your help.

-------
hinrich@aia001.aia.rwth-aachen.de
From: jpf@wstar.mixcom.com (John P. Flanagan)
Newsgroups: comp.lang.lisp
Subject: Re: *READ-SUPPRESS* and #P syntax
Date: 11 Nov 92 20:19:54 GMT
Article-I.D.: wstar.1992Nov11.201954.825
Organization: WaveStar Technology

philpot@kepler.arc.nasa.gov (Andrew Philpot) writes:

>Should *READ-SUPPRESS* be obeyed when reading literal pathnames using
>#P?

Yes!

[... stuff deleted ...]

>However, strictly speaking, this behavior is allowed by pp. 522 ff. of
>CLtL2.  It appears that the appropriate section of the new dpAns spec
>agrees with CLtl2 in this matter.  I couldn't swear I got to the right
>section, but there was one in dict-reader.tex that mirrored 22.1.2
>pretty well, and I didn't find any reference to #P there.

Strictly speaking, I don't think this behavior is allowed.  Section
2.4.8.14, p.2-33 in the dpANS makes the following statement:

       "#P"..." is equivalent to #.(parse-namestring "...")."

Now, from the description for *read-suppress* on p.23-22, section 23.2:

       "The #. notation reads the following object in suppressed mode but
        does not evaluate it.  The object is discarded and nil is produced."

note: IMHO, the dpANS should explicitly mention #P in this section as well.
      Unless I've missed something here, I'll add this suggestion to my
      list of public review comments to be mailed next week.

>Is it the intent of dpAns that

>  (defvar my-path
>      #+EXCL #P(:type "lisp")
>      #+LUCID #P".lisp"
>      )

>can cause an error?

No.  I don't think Lucid should be signaling an error in this case.

-jpf.
-- 
   __________________________________________________________________________
   WaveStar Technology           WaveStar Common Lisp        John P. Flanagan
   W344 N6855 Bayberry Court     ANSI-12.24, X3J13/92          (414) 367-5014
   Oconomowoc, WI  53066         HPUX-800/700/400/300    jpf@wstar.mixcom.com
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: *READ-SUPPRESS* and #P syntax
Date: 12 Nov 1992 21:16:53 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <1992Nov11.201954.825@wstar.mixcom.com> jpf@wstar.mixcom.com (John P. Flanagan) writes:
>Strictly speaking, I don't think this behavior is allowed.  Section
>2.4.8.14, p.2-33 in the dpANS makes the following statement:
>
>       "#P"..." is equivalent to #.(parse-namestring "...")."

However, that doesn't say what "#P(...)" is equivalent to.

Had it said

	#P<expression> is equivalent to #.(parse-namestring '<expression>)

then your reasoning would be correct.  Perhaps this would be a better
definition of #P; please suggest it in your review comments.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
Xref: sparky comp.lang.lisp:2821 comp.human-factors:2566
From: freytag@seas.gwu.edu (Richard Freytag)
Subject: Allegro or Symbolics s/w dev. pos, Washington DC
Followup-To: freytag@seas.gwu.edu
Organization: George Washington University
Distribution: na
Date: Mon, 9 Nov 1992 17:18:56 GMT

SP software developer required, Washington D.C., permanent position, 
immediate opening.  Must be experienced in large projects of significant 
complexity.  U.S. Citizenship and at least a DoD SECRET security clearance are
required.  Proficiency with CLOS, CLIM and the application of OO programming 
techniqes essential.  Knowledge of Allegro CL or Symbolics environments 
highly desirable.  Knowledge and  experience of AI/expert systems techniques, 
and NNets are a plus.  Broader understanding of CS useful including practical
understanding of parallel programming.  

All inquiries welcome.

Reply by email to: freytag@seas.gwu.edu (Richard Freytag)
From: gustav@arp.anu.edu.au (Zdzislaw Meglicki)
Newsgroups: comp.lang.lisp
Subject: Blackboard Technology Groups address wanted
Date: 6 Nov 1992 00:16:01 GMT
Organization: Centre for Information Science Research, ANU, Canberra, Australia
Distribution: world
NNTP-Posting-Host: 150.203.20.14
Keywords: Lisp parallel CLOS blackboard network

I've been told that Blackboard Technology Group, Inc., has a distributed
CL interaction environment (NetGBB). Does anybody know how to get in touch
with that company?  
-- 
   Zdzislaw Gustav Meglicki, gustav@arp.anu.edu.au,
   Automated Reasoning Program - CISR, and Plasma Theory Group - RSPhysS,
   The Australian National University, G.P.O. Box 4, Canberra, A.C.T., 2601, 
   Australia, fax: (Australia)-6-249-0747, tel: (Australia)-6-249-0158
Newsgroups: comp.lang.lisp
From: cmbecker@casbah.acns.nwu.edu (Canton Becker)
Subject: REQUEST: LISP LISP tutoring progs
Summary: Looking for LISP program that teaches LISP
Keywords: AI teaching,teaching,struggling-student
Organization: Northwestern University, Evanston, Illinois, USA
Date: Wed, 11 Nov 1992 23:16:31 GMT

Hello... I've heard of LISP attempts at teaching LISP to novices... Any
references?  Any other beginning-level LISP tutorials, software or book-based?
 Thanks.

-cb
From: boyland@aspen.CS.Berkeley.EDU (John Tang Boyland)
Newsgroups: comp.lang.lisp
Subject: make-load-form errors
Date: 12 Nov 1992 01:46:17 GMT
Organization: UC Berkeley, University of California Berkeley
Distribution: world
NNTP-Posting-Host: aspen.cs.berkeley.edu
Keywords: make-load-form-saving-slots

Why does CLtL2 say that if a structure class does not have
a "make-load-form" method defined for it, then files with
constants of this type cannot be compiled?

What is the danger of having as default the following?

(defmethod make-load-form ((s structure-object))
  (make-load-form-saving-slots s))

I.e., why did X3J13 require something like

(defmethod make-load-form ((s structure-object))
  (error "no make-load-form method defined for object ~S" s))

John
(boyland@cs.berkeley.edu)
Newsgroups: comp.lang.lisp
From: almond@statsci.com (Russell G. Almond)
Subject: Re: Lisp WEB
Organization: Statistical Sciences, Inc., Seattle, WA USA
	<PK.92Nov9163043@talitiainen.cs.tut.fi>
Date: Tue, 10 Nov 1992 20:05:06 GMT



I've been using a program called "definitions" written by John
McDonald at UW.  It scans the source code for function, generic
function, method, structure, object, variable, parameter, etc.
defintions and formats the information inherent in the documentation
string, declarations etc. to make a user manual.  He extends the
syntax of declare to provide a :returns declaration.  Thus:

(defun glue-names (n1 n2)
  (declare (type Symbol n1 n2)
	   (:returns (type Symbol n1-n2)))
  "Creates and returns a new symbol by concatenating print names of
<n1> and <n2> resulting in: <n1>-<n2>"
  (intern (concatenate 'string (symbol-name n1) "-" (symbol-name n2))))

Turns into something like:  

\DefNameBox{rga-utils:glue-names}{Function}
\beginDocumentation
Creates and returns a new symbol by concatenating print names of
\<n1\> and \<n2\> resulting in: \<n1\>-\<n2\>\endDocumentation
\Usage{\cd{(rga-utils:glue-names n1 n2)}}\endUsage
\beginArguments
\argument{\cd{n1}}\typeArg{\cd{Symbol}}\endArg
\argument{\cd{n2}}\typeArg{\cd{Symbol}}\endArg
\endArguments
\beginReturn
\singleReturn \complexReturn{\cd{n1-n2}}\midReturn{\cd{Symbol}}\endcReturn
\endReturn

\Source{ /users/almond/lisp/rga-utils/utils.lisp}
\endDefinition


(John uses a slightly different LaTeX format, I use a TeX format with
a lot of macro definitions which allows me to control the look,
spacing, etc.)  

The result goes through a list of definition objects which can be
sorted and filtered (removing unexported symbols or methods for
generic functions).  The result is an alphabetical reference manual.

I'm quite happy with it.

			Russell Almond			   
Statistical Sciences, Inc.		
1700 Westlake Ave., N Suite 500		
Seattle, WA  98109			
(206) 283-8802				
almond@statsci.com
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Newsgroups: comp.lang.lisp
Subject: Re: paip copyright restriction
Date: 10 Nov 92 18:19:21 GMT
Organization: AIAI, University of Edinburgh, Scotland

In article <1dek51INN8j9@seven-up.East.Sun.COM> pnorvig@norvig.Eng.Sun.COM (Peter Norvig - Sun BOS SunLabs) writes:
>My understanding and intent is that the copyright on the code has the
>same status as the copyright on a book or article: it allows you the
>reader to make whatever personal use of it you want, but you can't
>sell it without my permission.

I don't mean this as a complaint about your book (which I think is
excellent), but this sort of rule significantly decreases the utility
of books that contain code.  Indeed, I sometimes wonder whether some
of the seemingly gratuitous differences in the presentation of, say,
"streams" in various Lisp texts might be due to a desire to avoid
copyright problems.  (By "streams" I mean lazy lists.)
From: daniel@fuchsia.uchicago.edu (Daniel Fu)
Newsgroups: comp.lang.lisp
Subject: Re: Scroll bars for Allegro Common Windows
Date: 10 Nov 92 05:41:17 GMT
Article-I.D.: fuchsia.daniel.721374077
Organization: University of Chicago Computing Organizations

In <1992Oct26.143652.3233@discus.technion.ac.il> s2848632@techst02.technion.ac.il (Zachi Friedman) writes:

...
>P.S. How does one make a scroll-bar using common-
>     windows?

Actually, I've been writing some code to make mac-like scroll bars.
It's partially done, but scattered across several files.  If there's
enough interest I can distribute the program when done.  If anybody
else has already written some, I'd could sure use it...

Dan
____________________________________
Daniel Fu
              daniel@cs.uchicago.edu
Xref: sparky comp.lang.lisp:2837 comp.lang.lisp.x:266
From: br762@cleveland.Freenet.Edu (Tim Werner)
Newsgroups: comp.lang.lisp,comp.lang.lisp.x
Subject: xlisp on unix, or any lisp on unix
Date: 10 Nov 1992 00:09:25 GMT
Organization: Case Western Reserve University, Cleveland, OH (USA)
Distribution: inet
Reply-To: br762@cleveland.Freenet.Edu
NNTP-Posting-Host: hela.ins.cwru.edu


Hi,

I got the source code for xlisp from an ftp site, but it's got msdos-
specific code in it.

I started trying to modify it to run under unix, but then I thought,
"Hey, somebody must have already done this".

Does anyone have or know of such a thing? If not, what is the current
favorite common-lisp for which source is available to build it on unix?

I'm taking a class in lisp, and I'd rather not have to do the homeworks
on an IBM PC.

thanks a lot!
tim werner
werner@sparcserver.mc.ab.com
-- 
Newsgroups: comp.lang.lisp,comp.windows.x.motif
From: oz@ursa.sis.yorku.ca (Ozan Yigit)
Subject: paip [Re: #'reduce]
Organization: York U. Student Information Systems Project
	<danny-061092112735@danny.farallon.com>
	<1asmh4INNh5e@seven-up.East.Sun.COM> <7843@skye.ed.ac.uk>
Date: Fri, 6 Nov 1992 17:03:18 GMT

Jeff Dalton writes:

   But while we're here, what is the status of the code in that book?
   What are people who read the book allowed to use it for?

He made the code freely available, for ftp. [the scheme repository
has it as well] sources contain a simple copyright, with no gratuituous
restrictions, so I assume you use them just like you use any other
source distributed publically with a copyright. [Peter?]

oz
---
In seeking the unattainable, simplicity | internet: oz@nexus.yorku.ca
only gets in the way. -- Alan J. Perlis | phone: 416 736 2100 x 33976



Xref: sparky comp.lang.lisp:2866 news.answers:3953
From: RICHARD@ttt.kth.se
Subject: Ambiguous numbers
Organization: Department of TeleTransmission Theory
Date: Wed, 11 Nov 1992 10:59:05 GMT


when *read-base* is something like 16, some numbers are of ambiguous type.

For example, 0E0 could be read as an integer 224, or as the single-float 0.0

What I want to know is, which type SHOULD take precedence in such a case?

--
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++!
! Richard Levitte, System manager         ! tel: int+46-8-790 64 23           !
! Royal Institute of Technology           ! fax: int+46-8-791 76 54           !
! Department of Telecommunication Theory  ! Internet: richard@ttt.kth.se      !
! S-100 44 Stockholm, Sweden              !                                   !
!-----------------------------------------------------------------------------!
Newsgroups: comp.lang.lisp