HDTenEightyP/NetNews huggingface dataset:
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Desperatly Seeking Xlisp!
Date: 1 Oct 1992 07:44:35 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: gandalf.think.com

In article <1992Sep30.182434.22657@inesc.pt> jota@iguana.inesc.pt (Joao Pedro Martins) writes:
>	And I need a xlisp for the PC... can anyone help, pls ?

Since so many people are asking this, I presume the location information in
the FAQ (ftp.think.com:/public/think/lisp/faq.text) is incorrect.  You
would probably be better off asking in the xlisp newsgroup,
comp.lang.lisp.x.  And if you get correct location info, please forward it
to lisp-faq@think.com so we can update the FAQ.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
From: jl3j+@andrew.cmu.edu (John Robert Leavitt)
Newsgroups: comp.lang.lisp
Subject: Re: #'reduce
Date: 6 Oct 92 11:50:39 GMT
Article-I.D.: andrew.oeoSsDW00WB50B1mVA
Organization: Center for Machine Translation, Carnegie Mellon, Pittsburgh, PA

Danny Brewer (danny@farallon.com) says:
>In article <OLI.92Oct6124657@milan.ims.uni-stuttgart.de>,
>oli@milan.ims.uni-stuttgart.de (Oliver Christ) wrote:
>> this might be an annoying question, but why does
>>
>>  (reduce #'max '("This" "is" "a" "test" ".") :key #'length)
>>
>> result in a 'unknown keyword: :key' error both with Allegro CL 4.1 and
>> Lucid 4.0 on a Sparc?
>
>Reduce doesn't accept :KEY according to CLtL2.  In fact, if you
>look at REDUCE more closely, you'll see that :KEY wouldn't make sense.

agreed.

>Instead of REDUCE, try the following:
>
>(APPLY #'MAX (MAPCAR #'LENGTH '("This" "is" "a" "test" ".")))

Actually, it looked like what Oliver really wanted was something that
would yield the longest string, not just its length.  So, somthing
like this should do nicely:

(reduce #'(lambda (a b)
            (if (> (length a) (length b))
                a
                b))
        '("this" "is" "a" "test" "."))

>Even more efficient would be:
>
>(LET ((max 0))
>  (DOLIST (elt '("This" "is" "a" "test" "."))
>    (SETF max (MAX max (LENGTH elt))))
>  max)
Or rather:

(let ((result nil))
  (dolist (elt '("this" "is" "a" "test" "."))
    (if (> (length elt) (length result))
        (setf result elt)))
  result)

Cheers,

John.

-John R. R. Leavitt-----------------------------------------------------------
-Center for Machine Translation                                  412/268-2292-
-Carnegie Mellon University                                   jrrl@cs.cmu.edu-
------------------------------------------------------------------------------
Newsgroups: comp.lang.lisp
From: mchang@bcrka440.bnr.ca (Mark Chang)
Subject: Thanks. Re: How to find...
Reply-To: mchang@bnr.ca
Organization: Bell-Northern Research, Ottawa, Canada
Date: Tue, 29 Sep 1992 14:46:09 GMT

 I'd like to thank everyone who took time to respond
 to my query regarding "How to find the first n items
 in a list?". I was surprised to see so many different
 ways to do such a seemingly simple task.
 
 Unfortunately, the LISP that I'm using is a variation
 of somewhat brain-dead FranzLISP. It doesn't seem to
 have the functions like "SUBSEQ" or "collect".
 
 I tried a method some people suggested  which is to
 set the "cdr" of the list after first n to "nil". 
 In cases I need the original list, I will copy the 
 list first. This seems to work fairly well, for now. 

 In any case, all the replies really opened my eyes.
 Now, I know how sheltered "lisp" life I've been living.
 
 Thanks again.
 ________________________________________________________
| Mark H. Chang     (mchang@bnr.ca)                      |
| (613) 763-7688    Bell-Northern Research               |
|                   Ottawa, Ontario                      |
|________________________________________________________|
                                                         
Newsgroups: comp.lang.lisp,comp.lang.clos
From: haltraet@monsun.si.no (Hallvard Tr{tteberg)
Subject: class variables
Date: Wed, 30 Sep 1992 02:23:38 GMT
Organization: Center for Industrial Research, Dept. of Knowledge Based Systems

Hi all,

I'm wondering when class variables (slot allocation is :class) are
useful. Certainly I can imagine some uses, but whenever I thought I
wanted to use it, somehow it wasn't quite right. My mental model has
been that class variables are slots in the class metaobject, and that
accessors implicitly looked up the slots in the class metaobject. But
this doesn't quite fit CLOS.

There are two problems I see:

  (1) that you cannot change class variables through the class object,
      you have to have an instance

  (2) that you cannot have something in between class and instance
      slots, e.g. subclass slots, so that different (sub)classes can
      have different class slot values, while all instances of a
      subclass have share the same value.

I would like experienced CLOS programmers to comment on this and share
examples of when class slots have been useful.
(I just found out that if a class slot is mentioned in a subclass
definition, the subclass gets its own class slot, with its own value.
So (2) above seems to be possible. However, I would still like some
comments on use and (1) the problem of (1) is still there)

Hallvard
--
Hallvard Traetteberg
Dept. of Knowledge Based Systems
Center for Industrial Research
Box 124 Blindern, 0314 Oslo 3
NORWAY

Tlf: +47 2 45 29 83 or  +47 2 45 20 10
Fax: +47 2 45 20 40
Email: Hallvard.Tretteberg@si.no
Newsgroups: comp.lang.lisp
From: weigert@etlhit.etl.go.jp (Thomas Weigert)
Subject: macros with &rest argument
Reply-To: weigert@mcs.anl.gov
Organization: Electrotechnical Laboratory, Tsukuba-shi, Japan
Date: Mon, 28 Sep 1992 09:54:59 GMT


I am having trouble understanding parts of the chapter on Macros in CLtL2.
In particular, I am getting more and more confused about using &rest and
&body arguments.

I guess it is difficult for me to formulate a precise questions as to where
I am confused, except that I cannot understand the explanation there.

In particular, suppose one wants to write a macro "fred" which will take an
arbitrary list of arguments and does something with them.

The naive approach of "macroizing" a function definition will not work:

(defmacro fred (&rest)
   `(do-something-with ,rest))

since when it tries to find the value for rest in the backquote, rest looks
like a function and lisp will try to treat it as a function call.

How would the correct way be to write such a macro?

Any hints are appreciated.

Thanks, Thomas.

--
Note: The address below is valid until Jan 15, 1993.

+--------------------------------+---------------------------------+
| Thomas Weigert                 |                                 |
| Machine Inference Section      |                                 |
| Electrotechnical Laboratory    |                                 |
| Umezono 1-1-4, Tukuba-shi      | weigert@{mcs.anl.gov,etl.go.jp} |
| Ibaraki 305, Japan             | +81-298-58-5918 (phone+fax)     |
+--------------------------------+---------------------------------+
From: haitham@Chemeng.Ed.Ac.Uk (Haitham Lababidi)
Newsgroups: comp.lang.lisp
Subject: Re: LispView ?'s for Open-look
Date: 6 Oct 92 08:50:19 GMT
Reply-To: haitham@Chemeng.Ed.Ac.Uk
Organization: Edinburgh University Chemical Engineering Department.
Originator: haitham@stow

In article 6660@afterlife.ncsc.mil, mdcutts@ukpr.uky.edu () writes:
>Three quick questions:
>1)  How does one do a refresh/repaint of a panel from LispView on the Sun?  

If whatever graphics you draw on the panel doesn't change, then set the
"backing-store" argument to non-nil, i.e.

(make-instance 'panel :backing-store t ........)

This maintains a backup copy of the panel and handle damage events by copying from
the backup to the screen.

Alternatively, add a damage event to the interests of the panel, and define
the method to handle this event. This method should clear the panel and repaint it.

To define a damage interest:

(push (make-instance 'damage-interest) (interests <your-panel>))

(defmethod receive-event ((object panel) (interest damage-interest) event)
   (clear-panel object)     ;; see below
   (repaint-panel object))  ;; define your repaint function

(defmethod clear-panel ((object panel))
   (let ((br (bounding-region object)))
       (draw-rectangle object 0 0 (region-width br) (region-height br)
                       :operation boole-clr :fill-p t)))

>2)  Is there a way to get multi-line text-fields (again from LispView)? 

I don't think so.

>3)  Where can I find source for the MOUSE-EVENT-SPEC-P code?  I'm trying to  
>read double clicks on the mouse.  I can do just great by putting (:left :down)  
>in the relevant spot, but when I try (:left :click2) it fails.  The manuals  
>don't shed copious enlightenment for me.

The correct way to define double click event is

(make-instance 'mouse-interest :event-spec '(() (:left :click2)))

>Thanks,
>Matt Cutts -- uk02914@ukpr.uky.edu or mdcutts@afterlife.ncsc.mil

---
     _/    _/  _/    Dr. Haitham Lababidi    \_    \_  \_   
    _/    _/  _/     Dept. of Chemical Eng.   \_    \_  \_
   _/    _/  _/      University of Edinburgh   \_    \_  \_
  _/_/_/_/  _/       Tel  +44 31 650 4862       \_\_\_\_  \_
 _/    _/  _/        Email haitham@uk.ac.ed      \_    \_  \_
_/    _/  _/_/_/_/                                \_    \_  \_\_\_\_
Newsgroups: comp.lang.lisp,comp.lang.lisp.x,comp.windows.x,comp.windows.open-look,comp.sys.sgi,comp.graphics
From: teo@Xenon.Stanford.EDU (Patrick ChengSan Teo)
Subject: LispView on SGI
Originator: teo@Xenon.Stanford.EDU
Organization: Computer Science Department, Stanford University.
Distribution: usa
Date: Fri, 2 Oct 1992 19:23:31 GMT


Hi everyone,

We are about to do a port of a program which was written in Lucid LISP
using LispView on the Sun to the SGI.  If anyone of you has any
experience or any answers to the following questions, I'd like to
hear from you.  We will consolidate the replies and post a summary.

1.  Has anybody tried or succeeded in getting LispView (and the XView)
    lib to run on the SGI machine?  Which version?

2.  Has anybody tried to get LispView running on a 24-bit SGI machine.

3.  The program that we are porting does blting.  Has anybody done
    blting using CLIM?  (Note: CLIM doesn't support blting, but has
    anybody manage to do it anyway?)


Any help is much appreciated!!

Thanks,
Patrick

-------------------------------------------------------------------------------
Patrick Cheng-San Teo                                       teo@cs.stanford.edu
Department of Computer Science                      
Stanford University                                  Home Phone: (415) 424-0330

"Everything should be made as simple as possible, but not simpler"
-- Albert Einstein
-------------------------------------------------------------------------------


Newsgroups: comp.lang.lisp,comp.lang.lisp.x,comp.windows.x,comp.windows.open-look,comp.sys.sgi,comp.graphics
From: york@oakland-hills.lucid.com (Bill York)
Subject: Re: LispView on SGI
Reply-To: York@Lucid.COM
Organization: Lucid, Inc.
Distribution: usa
Date: 5 Oct 92 11:01:17

In article <1992Oct2.192331.12596@CSD-NewsHost.Stanford.EDU> teo@Xenon.Stanford.EDU (Patrick ChengSan Teo) writes:


   3.  The program that we are porting does blting.  Has anybody done
       blting using CLIM?  (Note: CLIM doesn't support blting, but has
       anybody manage to do it anyway?)

Since CLIM's X interface is built on top of CLX, you can
(non-portably) write BITBLT code using xlib:copy-area.
Newsgroups: comp.lang.lisp,comp.lang.lisp.x
From: usenet@inesc.pt (USENET News System)
Subject: URGENT ! NEED LISP INTERPRETER !
Organization: INESC - Inst. Eng. Sistemas e Computadores, LISBOA, PORTUGAL
Date: Wed, 30 Sep 1992 10:32:41 GMT

	Can someone tell me where I can get (ftp site, _numeric_ IP) a
lisp interpreter for the PC or SunStation w/ Unix ???
	I need it urgently, because I have a work to do and I don't 
want to code it on paper...

please email any answer...

Joao

----
 joao Pedro Martins, Lisboa, Portugal - jota@tutor.inesc.pt
 
 "Carpe Diem, she muttered, and laughed. We seize the day.	
  Well, sometimes, the day seizes back !" (--FORGOT--) 
Newsgroups: comp.lang.lisp
From: saxena@cs.albany.edu (Tushar Saxena)
Subject: Re: How to find the first n items in a list?
Originator: saxena@tarski.albany.edu
Organization: The University at Albany, Comp. Sci. Dept.
Date: Mon, 28 Sep 1992 22:26:34 GMT

In article <1992Sep28.175845.14395@bcrka451.bnr.ca> mchang@bnr.ca writes:
> For example, I have a long list, '(0 1 2 ..... 9999)
> and I want the first 1000 items as a list, '(0 1 ... 1000).
> 
> I can think of some ways, but none very efficient.
> What is the "standard" way to do this? 

How about this. Make that list a stream and then use the continuation methods
to get the first n elements without evaluating the whole list. This is sketchy
but I am positive that this can be done in Scheme. I will try on lisp but
methinks it should be possible in lisp too!


ttfn
	-Tush.

--------------------------------------------------------------------------------
And any fool knows a dog needs a home, A shelter from pigs on the wing.
        -Roger Waters
--------------------------------------------------------------------------------
email : saxena@cs.albany.edu                        Computer Science Department
Phone : 518-442-3388				    SUNY Albany
Tushar Saxena					    Albany NY 12222 (USA)
--------------------------------------------------------------------------------
Newsgroups: comp.lang.lisp
From: fischer@foobar.eng.ufl.edu (Randy Fischer)
Subject: Re: Lisp implementions
Organization: /eng/foobar0/fischer/.organization
	<1ag2vcINNr7p@early-bird.think.com>
Date: 3 Oct 92 23:27:25


> Wilson, Paul R., "Uniprocessor Garbage Collection Techniques" is an excellent
> survey,  and appears in the proceedings of the 1992 Int'. Workshop on Memory
> Management.  You can get a copy from the author at wilson@cs.utexas.edu.

It seems you can get this paper via anonymous ftp:
	cs.utexas.edu:pub/garbage/gcsurvey.ps

						Randy Fischer
Newsgroups: comp.lang.lisp
From: moore@cs.utah.edu (Tim Moore)
Subject: Re: macros with &rest argument
In-reply-to: weigert@etlhit.etl.go.jp's message of Mon, 28 Sep 1992 09:54:59 GMT
Organization: University of Utah CS Dept
Date: 28 Sep 92 09:06:48

In article <WEIGERT.92Sep28185459@etlhit.etl.go.jp> weigert@etlhit.etl.go.jp (Thomas Weigert) writes:

   I am having trouble understanding parts of the chapter on Macros in CLtL2.
   In particular, I am getting more and more confused about using &rest and
   &body arguments.
...
   In particular, suppose one wants to write a macro "fred" which will take an
   arbitrary list of arguments and does something with them.

   The naive approach of "macroizing" a function definition will not work:

   (defmacro fred (&rest)
      `(do-something-with ,rest))

   since when it tries to find the value for rest in the backquote, rest looks
   like a function and lisp will try to treat it as a function call.

   How would the correct way be to write such a macro?

Use the backquote splicing operator ",@". An example of its use:

(let ((foo '(b c d)))
  `(a ,@foo e))
(A B C D E)

So your naive macro would be written as:

(defmacro fred (&rest rest)
  `(do-something-with ,@rest))

It's true that the Macros chapter doesn't show a single use of ,@.
Check out the definition of backquote in the Input/Output chapter and
Appendix C.

--
Tim Moore                    moore@cs.utah.edu {bellcore,hplabs}!utah-cs!moore
"Wind in my hair - Shifting and drifting - Mechanical music - Adrenaline surge"
	- Rush
Newsgroups: comp.lang.lisp
From: troyb@stat.ufl.edu (Troy Bleeker)
Subject: Branch and Bound Algorithm
Organization: University of Fl, Department of Statistics
Distribution: comp.lang.lisp
Date: 5 Oct 92 10:18:19

I'm writing a program to solve the traveling salesman problem, and I
want use a Branch and Bound algorithm to search the tree for the
shortest path(s).

I would appreciate it if someone could give me a quick outline of the
algorithm and/or a description of how it works. 

You can post your response or e-mail me at:

troyb@stat.ufl.edu

Troy
From: han@lipari.usc.edu (Jung-Hyun Han)
Newsgroups: comp.lang.lisp
Subject: Alas! Lisp/C interface
Date: 28 Sep 1992 08:31:44 +0100
Organization: University of Southern California, Los Angeles, CA
Distribution: world
NNTP-Posting-Host: lipari.usc.edu

I am working on Lisp-C interface.
I tried to load C libraries into Lisp thru Lisp foreign function interface.
But I got the error message as follows:

>>Error: Foreign object-file "/home/lipari2/ps/base/parasolid.a:ki_primitives.o" was compiled with -pic option which is not supported by the foreign loader.

I have no source code, so I have to cope with this library.
Is there any option in Lisp loader which can take care of this kind of library?
Or some other brilliant solutions (e.g. from C side) .. ? ..

Could you, Lisp experts, give light to this problem?
Please reply to han@lipari.usc.edu or junghyun@pollux.usc.edu.
Thanx a lot in advance.

Jung

ps. in case you want to know what the libraries are,
    those are PARASOLID solid modeler (from Shape Data Ltd.) which
From: bryan%whipple@CS.WISC.EDU
Newsgroups: comp.lang.lisp
Subject: Dr. Dobb's source code
Date: 26 Sep 92 08:02:14 GMT

I want to report to whoever is responsible that the source
code to C-Lisp in ddj9209.zip (Dr. Dobb's Journal, September,
1992) is corrupted.  Not that it couldn't be unzip'd, but the
files don't look right after I unzip'd it.

I tried two different mirror sites, both of them have the same
problem.


Bryan
From: dan@minster.york.ac.uk
Newsgroups: comp.lang.lisp
Subject: History of || Lisp
Date: 5 Oct 92 17:45:53 GMT
Organization: Department of Computer Science, University of York, England
X-Newsreader: TIN [version 1.1 PL6]

I am interested in the history of parallel Lisp,
both for teh SIMD and MIMD paradigms. Is there
a good paper, article or a book that will have
the relevant information.

Also, is there a report or something on parallel
garbare collecting.

Ta.

Dan.


              Daniel Kustrin
      Real-time and Distributed Systems
	      Research Group
            University of York
              York,  England
          dan@minster.york.ac.uk
From: chaynes@sunfish.cs.indiana.edu (Chris Haynes)
Newsgroups: comp.lang.lisp
Subject: FTP of sources for prog lang book
Date: 29 Sep 92 12:00:11 GMT
Article-I.D.: news.1992Sep29.215050.6646
Reply-To: chaynes@cs.indiana.edu
Organization: Computer Science, Indiana University

The text "Essentials of Programming Languages" by Friedman, Wand, and
Haynes contains an insert describing procedures for obtaining source files
and other materials of use to our readers from the pub/eopl directory of
our FTP server.  The IP number of our server has changed, so the directions
in the insert require revision.  The preferred procedure now is to use

  ftp cs.indiana.edu

for anonymous login.  If your IP node table haven't been updated recently,
this still may not work, in which case use

  ftp 129.79.254.191

Of course the symbolic name is preferred because it should continue to
work even come the day that our server's IP number is changed again.
Newsgroups: comp.lang.lisp
From: mkant+@cs.cmu.edu (Mark Kantrowitz)
Subject: Re: Desperatly Seeking Xlisp!
Organization: School of Computer Science, Carnegie Mellon
Date: Fri, 2 Oct 1992 18:37:17 GMT

In article <534@ccsparc01.center.osaka-u.ac.jp> a62178a@ccsparc01.center.osaka-u.ac.jp (kikkawa lab) writes:
>I cound not unpack this "fit" file, too. But I got "hq?" files, which 
>are BinHex files similar to "fit" file.

The information in the Lisp FAQ is correct. Please remember that .sit
and .fit files are a compressed binary format, so you must put the ftp
into binary mode before retrieving the files.

--mark
From: c152-hc@dv349-4d.berkeley.edu ()
Newsgroups: comp.lang.lisp
Subject: AKCL v615 on 386 (bugs?)
Date: 26 Sep 1992 20:50:57 GMT
Organization: University of California, Berkeley
Distribution: world
Reply-To: c188-ca@po.berkeley.edu
NNTP-Posting-Host: dv349-4d.berkeley.edu


I recently compiled AKCL under SCO Unix and everything seems to work fine
...  except, the compiled compiler does not generate objects that are
either runable or loadable; i.e. interpreted programs work fine, but you
can't load .o files after compiling them and if you handle fondle the .o
into a loadable format, they do not run correctly (e.g. &rest parameters
aren't lists, etc., etc.).

Obviously, the interpreted compiler works properly, since AKCL runs fine
after re-compiling itself.  However, something seems to have been lost
during the recompile.

So, does anyone out there have any advice for tracking this one down?
Has anyone gotten AKCL to run (and compile) under some 386 Unix?
Thanks in advance for any info you can offer.

- Tim Iverson
  c188-ca@po.berkeley.edu (fast)
  uunet!xstor!raw!iverson (v. slow)
Newsgroups: comp.lang.lisp
From: raman@cs.cornell.edu (T. V. Raman)
Subject: Duplicating the output of a serial stream: How?
Summary: Getting output into a file as well as sending it to a serial device:
Keywords: Serial-stream, broadcast-stream, 
Organization: Cornell Univ. CS Dept, Ithaca NY 14853
Date: Sun, 4 Oct 1992 18:39:48 GMT

Hi!

I have a program that opens a serial stream as a split stream and both
writes and reads from this device. I would like to write a macro that
when called will result in all output that is sent to the serial
stream by the containing forms  being dribbled to a file specified by
the user. I tried the following:

(defmacro with-file-as-well-as-dectalk ((&key (filename "temp")) &body body) 
  "Read into file instead of speaking. "
  `(let (
         (saved-stream dectalk:*stream*)
         (file-stream
          (open
           (merge-pathnames
            (user-homedir-pathname)
            ,filename )
           :direction :io
           :if-does-not-exist :create
           ))
         )
    (unwind-protect
         (progn
           (setf dectalk:*stream*
                 (make-broadcast-stream dectalk:*stream* file-stream))
           ,@body)
      (setf dectalk:*stream*
            saved-stream)
      (close file-stream)
      )
    )
  )


But the above does not work and I get an error as follows since the
broadcast stream will only allow output. How do I write the above so
that the file-stream gets connected only to the output side of the
split stream?

Is the above possible, and if so what is the clean way of doing it? 


>>Error: Stream #<Stream BROADCAST-STREAM 15F7A26> is not open for input

READ-CHAR-NO-HANG:
   Optional arg 0 (STREAM): #<Stream BROADCAST-STREAM 15F7A26>
   Optional arg 1 (EOF-ERROR-P): T
   Optional arg 2 (EOF-VALUE): NIL
   Optional arg 3 (RECURSIVEP): NIL
:A  0: Abort to Lisp Top Level

-> 
-- 
   T. V. Raman <raman@cs.cornell.edu>Tel: (607)255-9202  R 272-3649
                       Office: 4116 Upson Hall,
Department of Computer Science, Cornell University Ithaca NY 14853-6201
                Res: 226 Bryant Avenue Ithaca NY 14850
Newsgroups: comp.lang.lisp
From: york@oakland-hills.lucid.com (Bill York)
Subject: Re: A question about saving program running output
Reply-To: York@Lucid.COM
Organization: Lucid, Inc.
Date: 5 Oct 92 10:58:56

In article <1992Oct2.113209.21418@news.Hawaii.Edu> mei@wiliki.eng.hawaii.edu (Xiao-mei Zhou) writes:

   The question is: Is there some easy way to re-direct the 
   program's running output to a file ? I could change all the
   terminal print sentences (format t) to file print (format stream).
   But that seems too much trouble. I am wondering there might
   have a system function to do it.

You can bind *STANDARD-OUTPUT* to a file stream:

(with-open-file (file-stream "my-file" :direction ':output)
  (let ((*standard-output* file-stream))
    (my-function-which-does-format-T)))