HDTenEightyP/NetNews huggingface dataset:
From: chyde@pecos.ads.com (Clinton Hyde)
Subject: resources
Organization: Advanced Decision Systems, Mountain View, CA 94043, +1 (415)
	960-7300
Date: Wed, 7 Oct 1992 19:42:07 GMT



has anyone created fns like DEFRESOURCE and WITH-RESOURCE, ALLOCATE-
RESOURCE, etc., for Allegro CL? I think I have something like this
someplace, but I don't recall (and can't find it right now).

 -- clint
--

Clint Hyde		"Give me a LispM or give me death!" -- anonymous

Advanced Decision Systems/BAH	Internet:  chyde@chesapeake.ads.com
1953 Gallows Rd, Suite 600
Vienna, VA  22182-3934		(703) 902-7130
Newsgroups: comp.lang.lisp
From: reha@cunixf.cc.columbia.edu (Reha Elci)
Subject: Re: Is lisp easy to learn?
Reply-To: reha@cunixf.cc.columbia.edu (Reha Elci)
Organization: Columbia University
Date: Thu, 15 Oct 1992 19:26:54 GMT

>In article <1992Oct15.061332.14982@eng.umd.edu>, clin@eng.umd.edu (Charles Lin) writes:
>>    I think it's the interpreter that makes LISP easy to learn.  You
>>get immediate feedback without having to wait for the compilation
>>procedure.   But, as with any programming, when you get bugs it
>>can be bothersome, but I find it easier to debug in LISP than
>>other languages.
>>
>>    My question is then: If Lisp is so easy, why is it easy?  What
>>prevents someone from using, say, ML?

One reason is the dynamic nature of the language. The most bothersome
languages in the world are those you have to "declare" things well in
advance. That's why a function in C has 9000 variables declared to do the
simplest operation. You can just use a variable in LISP, put a number in
it or a string or a list without declaring it. It is *very* reflexive, 
you can get a lot of information on any variable with ease.

More importantly, there is *no* difference between code and data which is the
downfall of almost all other languages including a great deal of them which
are interpreted. You can treat everything the same way and all operations
on data work on the code as well. Power to the people!

It is the most naturally extensible language there is. You can start from
a core 8-10 functions and configure it to be a custom language designed
for the problem you are trying to solve. No other language gives you that
kind of flexibility. Example: objective technology became very hot, and
lisp which is a purely functional language *easily* adapted to the same
style and ended up having incredibly powerful features that are not
found elsewhere.

On the implementation side, I cannot think of an easier language to write
an interpreter for. I once wrote a fully featured lisp interpreter in
'86 assembly language that fit into a 64K segment!! (geek city :-)
[Garbage collection is a bit tricky but a lot of the methods are well
defined; some are very simple and some are somewhat involved.]

Thats why a lot of people who use LISP are so passionate about it! 

Reha Elci
Email: elci@bugs.gs.com
From: cfry@MIT.EDU (Christopher Fry)
Newsgroups: comp.lang.lisp.mcl
Subject: Re:  using Lisp in astronomical data analysis
Date: 14 Oct 92 00:24:53 GMT
Original-To: language@skdad.usask.ca
Original-Cc: hall@allegra.att.com, hmadorf@eso.org, info-mcl@cambridge.apple.com,
        murtagh@eso.org, piet@guinness.ias.edu, ralbrecht@eso.org

> Date: Fri, 9 Oct 92 19:57:35 -0600
> From: language@skdad.usask.ca
> Subject: Re:  using Lisp in astronomical data analysis
> To: hall@allegra.att.com, hmadorf@eso.org
> Cc: info-mcl@cambridge.apple.com, murtagh@eso.org, piet@guinness.ias.edu,
>         ralbrecht@eso.org
> X-Envelope-To: info-mcl@cambridge.apple.com
> 
> >    existing AIPS1 system. The decision to adopt a fairly conventional
> >    language like C++ was controversial enough; a "weird" language like lisp
> >    would have been impossible to sell to our conservative audience."
> >
> >There is a difference between "conservative" and "ignorant".  The former
> >implies some familiarity with the subject matter.  The adjective
> >"weird" is not one I have heard used in informed debate on programming
> >languages.  If the issue of concern is difficulty in learning/using
> >the language, I'd guess Lisp is much easier to learn from scratch than C++
> 
> this kindof debate is really reminiscant of the old I've got an IBM and
> it's better than your Mac,  or vice versa,  debates...  but,  the fact
> is,  either one will get you the same thing..  computer's a computer
> and a language is a language..  sure,  one might require a bit more typing
> to get the same thing... it's really a matter of style,  and not the
> politics and arrogance apparant in such debates...

There is a phenomena called the complexity barrier. It is a very difficult
topic to get a handle on. If you view programming as fundamentally pushing back 
this barrier, then "matters of style" become of the utmost importance.
Languages can help develop effective styles for attacking the complexity barrier, 
so their differences are not unimportant as you imply in your statement
"a language is a language". It may well be true that lang X is best for
programmer X and lang Y is best for programmer Y. But force each to program in
lang Z and you'll get worse results.
From: jwbaxter@halcyon.halcyon.com
Newsgroups: comp.lang.lisp.mcl
Subject: Re: using Lisp in astronomical data analysis
Date: 11 Oct 92 23:48:06 GMT
Article-I.D.: halcyon.199210112347.AA15089
Original-To: info-mcl@cambridge.apple.com

>The eighties?  Why the eighties? Lisp originated in the fifties, and was in
>widespread use when I first encountered it in the early seventies.

And, Lisp was a WHOLE LOT different when jobs were submitted on punched
cards for overnight turnaround (which with luck and staying up late meant
two turns per night at MIT's Computation Center, and its blazing fast IBM
704).  That early interpreter returned no results if there were not enough
)s, so it was pretty standard to stick about 3 or more cards of all right
parens on the end of a deck...it only gave a warning for excess ones, and
produced some sort of result which might (and might not) point towards a
missing paren in the real code.
   --John

--------------
John W. Baxter   jwbaxter@halcyon.com   My incorrect opinions are my
own...someone else probably supplied my one correct opinion.
I'd really rather be sailing.
From: grant@pentagon-gw.army.mil (Pete Grant)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: dispatching methods on a class type
Date: 11 Oct 92 00:04:28 GMT
Organization: U.S. Army Artificial Intelligence Center, The Pentagon

In article <9210020306.AA19613@taarna> taarna!kaveh%comback.UUCP@IRO.UMontreal.CA (Kaveh Kardan) writes:
>
>I am wondering if there is a way in clos of dispatching methods on a class
>itself, as opposed to instances of the class.
>

If I understand your question correctly, there's no system-provided
method to retrieve all instances of a class.  

One way to accomplish it is to use a global variable  and
define an automatic way to push each newly created object onto
the list.

Example:

(defvar *instances* nil)

(defmethod initialize-instance :after ((self foo) &key)
  (if (eql (class-name (class-of self)) 'foo)
    (push self *instances*)))

The class test is needed only if you have defined subclasses
of foo to keep them from being included.

Hope this helps.

Pete.
From: lynch@ils.nwu.edu
Newsgroups: comp.lang.lisp.mcl
Subject: y-or-n-dialog
Date: 15 Oct 92 21:00:06 GMT
Original-To: info-mcl@cambridge.apple.com

How come :cancel-text can be nil (implying no Cancel button), but :no-text
nil leaves an empty button?
Enquiring minds want to know.
"TANSTAAFL" Rich lynch@ils.nwu.edu
From: bill@cambridge.apple.com (Bill St. Clair)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: y-or-n-dialog
Date: 16 Oct 92 17:09:04 GMT
Article-I.D.: cambridg.9210161602.AA26197
Full-Name: Bill St. Clair
Original-To: lynch@ils.nwu.edu
Original-Cc: info-mcl

>How come :cancel-text can be nil (implying no Cancel button), but :no-text
>nil leaves an empty button?
>Enquiring minds want to know.
>"TANSTAAFL" Rich lynch@ils.nwu.edu

I guess the designers of y-or-n-dialog couldn't imagine any questions
to which the answer was "Yes" or "Cancel" whereas MCL itself asks
questions to which the answer is "Yes" or "No" and "Cancel" does not
make sense.
From: moeller@informatik.uni-hamburg.de (Ralf Moeller)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: tracing a method
Date: 8 Oct 92 13:10:34 GMT
Original-To: info-mcl@cambridge.apple.com
Original-Cc: lynch@ils.nwu.edu

Rich lynch@ils.nwu.edu writes...

>What is the correct syntax to put a step-point on a method?

The following code will allow tracing of methods to be 
enabled/disabled using the generic function inspector.

No need to remember the syntax :-)

Ralf


;;;; inspector extensions

(in-package inspector)

(defmethod inspector-commands ((f gf-inspector))
  (let* ((commands (call-next-method f))
         (function (inspector-object f))
         (methods (generic-function-methods (inspector-object f)))
         (view (inspector-view f))
         (selection (selection view)))
    (append
     commands
     (list
      `("-" nil)
      `("Remove method"
        ,(and selection (> selection 3)
              #'(lambda ()
                  (remove-method function (elt methods (- selection 4)))
                  (resample-it))))
      `("Trace method"
        ,(and selection (> selection 3)
              #'(lambda ()
                  (let ((method (elt methods (- selection 4))))
                    (ccl::%trace-0 
                     `(((:method ,(method-name method)
                                 ,@(method-qualifiers method)
                                 ,(mapcar #'class-name
                                          (method-specializers
method))))))))))
      `("Untrace method"
        ,(and selection (> selection 3)
              #'(lambda ()
                  (let ((method (elt methods (- selection 4))))
                    (ccl::%untrace-0 
                     `((:method ,(method-name method)
                                 ,@(method-qualifiers method)
                                 ,(mapcar #'class-name
                                          (method-specializers
                                                method)))))))))))))
From: bill@cambridge.apple.com (Bill St. Clair)
Newsgroups: comp.lang.lisp.mcl
Subject: Re:  Pattern records
Date: 9 Oct 92 17:09:05 GMT
Article-I.D.: cambridg.9210091602.AA03197
Full-Name: Bill St. Clair
Original-To: info-mcl@cambridge.apple.com, markt@dgp.toronto.edu
Original-Cc: Ranson <ranson@LANNION.cnet.fr>

>X400-Received: by /PRMD=inria/ADMD=atlas/C=FR/;	Relayed; 09 Oct 92 08:05:10+0100
>X400-Received: by /PRMD=CNET/ADMD=ATLAS/C=FR/;	Relayed; 09 Oct 92 08:05:00 GMT
>Date: 09 Oct 92 08:05:00 GMT
>From: Ranson <ranson@LANNION.cnet.fr>
>To: info-mcl@cambridge.apple.com, markt@dgp.toronto.edu
>Subject: Re:  Pattern records
>
>The records.lisp file is there only to help porting from MACL1.x. Unless you are
>doing just that, don't use it. MCL2.0 automatically loads record definitions
>from interface files when necessary.
>     Daniel.

Daniel is correct. "records.lisp" is considered obsolete and is no longer
being supported.
From: rp23+@andrew.cmu.edu (Ray Pelletier)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: making patterns the hard way
Date: 7 Oct 92 15:05:58 GMT
Original-To: info-macl@cambridge.apple.com
Original-Cc: wilcox@cmns.think.com

>wilcox@cmns.think.com writes:
>  I tried to make a pattern using make-record, but it didn't work.

MACL 2.0 final defines the pattern :record as a handle.
It used to (and I believe should be) defined as a pointer.
This will work...

    (defvar *grid-x-pattern* (make-record (:pattern :storage :pointer)
                                      (:array 0) 255
                                      (:array 1) 0
                                      (:array 2) 0
                                      (:array 3) 0
                                      (:array 4) 255
                                      (:array 5) 0
                                      (:array 6) 0
                                      (:array 7) 0
                                      ))


>From: "Mark A. Tapia" <markt@dgp.toronto.edu>
>To: wilcox@cmns.think.com
..
>Here is code that may do you want:

Won't work under 2.0 final definition of :pattern


-Ray Pelletier
From: bright@gapnet.nist.gov ("BRIGHT")
Newsgroups: comp.lang.lisp.mcl
Subject: How to display image arrays in 8bit window?
Date: 1 Oct 92 19:15:00 GMT
Original-To: "info-mcl" <info-mcl@cambridge.apple.com>

Dear Experts:

Having just recently upgraded from 1.3.2,
I would appreciate code or tips for this:

To display arrays of numbers as images with MCL2.
I've tried picture-files.lisp in the MCL:examples folder on the CDRom,
which works great for .pict files (both 8 and 24 bit!).

I would like to do image processing with arrays in LISP and display them
in a color window, but I know NOTHNG about handles, etc.  Are there functions
around that will display arrays to a window with pixels at least 8 bits deep?

I've rummaged around in the CD Rom and some of the mail archives, but could
easily have missed the goods.

Thank you,
Dave Bright

=========================================================================
Please reply to: bright@gapnet.nist.gov         
David S. Bright               National Inst. of Standards and Technology  
					         Chem a113
301-975-3911 (voice)	                   Gaithersburg, MD. 20899
301-975-2128  (fax)               Surface & Microanalysis Science Division
From: markt@dgp.toronto.edu ("Mark A. Tapia")
Newsgroups: comp.lang.lisp.mcl
Subject: Pattern records
Date: 8 Oct 92 15:49:56 GMT
Original-To: info-mcl@cambridge.apple.com


Question: Why does the record definition of the pattern record
in library:records.lisp conflict with the definition of the record
in the library:interfaces:quickdraw.lisp?

The standard definition in records.lisp for the pattern record is:
(defrecord pattern 
  (variant ((w0 integer)
            (w1 integer)
            (w2 integer)
            (w3 integer))
           ((b0 byte)
            (b1 byte)
            (b2 byte)
            (b3 byte)
            (b4 byte)
            (b5 byte)
            (b6 byte)
            (b7 byte))
           ((bytes (array byte 8)))
           ((array (array :unsigned-byte 8)))))


The definition in the interface file is:

(defrecord (Pattern :handle) (array (array :unsigned-byte 8)))
From: bill@cambridge.apple.com (Bill St. Clair)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: How do I determine the length of resource forks from MCL?
Date: 7 Oct 92 22:09:46 GMT
Full-Name: Bill St. Clair
Original-To: dmg@goldilocks.LCS.MIT.EDU (David Goodine)
Original-Cc: info-mcl

>I'm trying to find a means of determining the resource fork size of
>files in the Mac filesystem.  I've spent some time looking through
>Inside Mac VI, and can't find out where the info is stored.  I expect
>that it is somehow accessible through a trap or function call but FInfo,
>DXInfo, et al, fall short.
>
>Any suggestions would be greatly appreciated, as I'm on a very tight
>deadline.  Please respond to me, as I'm not currently on the INFO-MCL
>mailing list.

The following will work in 2.0 final, but I don't think it
works in 2.0b1:

(with-open-file (s "bills-init.lisp" :fork :resource)
   (file-length s))
From: language@skdad.usask.ca
Newsgroups: comp.lang.lisp.mcl
Subject: Re:  using Lisp in astronomical data analysis
Date: 10 Oct 92 01:57:35 GMT
Original-To: hall@allegra.att.com, hmadorf@eso.org
Original-Cc: info-mcl@cambridge.apple.com, murtagh@eso.org, piet@guinness.ias.edu,
        ralbrecht@eso.org
X-Envelope-To: info-mcl@cambridge.apple.com

>    existing AIPS1 system. The decision to adopt a fairly conventional
>    language like C++ was controversial enough; a "weird" language like lisp
>    would have been impossible to sell to our conservative audience."
>
>There is a difference between "conservative" and "ignorant".  The former
>implies some familiarity with the subject matter.  The adjective
>"weird" is not one I have heard used in informed debate on programming
>languages.  If the issue of concern is difficulty in learning/using
>the language, I'd guess Lisp is much easier to learn from scratch than C++

this kindof debate is really reminiscant of the old I've got an IBM and
it's better than your Mac,  or vice versa,  debates...  but,  the fact
is,  either one will get you the same thing..  computer's a computer
and a language is a language..  sure,  one might require a bit more typing
to get the same thing... it's really a matter of style,  and not the
politics and arrogance apparant in such debates...
    john
From: tar@ISI.EDU (Thomas A. Russ)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: floating-point efficiency: Lisp vs. Fortran
Date: 7 Oct 92 18:29:01 GMT
Reply-To: tar@isi.edu
Organization: USC-ISI
In-reply-to: hmadorf@eso.org's message of 7 Oct 92 06:30:35 GMT

In article <...> hmadorf@eso.org writes:
 > This does not at all agree with my recent observations. I carried
 > out the following simple floating-point benchmark: I coded the 
 > log-factorial function in Fortran-77 and in Lisp (using a simple 
 > do-loop). The algorithm simply sums up all the log-terms. (The code
 > is available on request.) I executed the code using
 > [...] 
 > Two versions of the CL code were tested, one without declarations,
 > the other fully spiced with declarations. The CL-code was compiled
 > with (speed 3) optimization. The Fortran code was not particularly
 > optimized. My observations:

Did you also declare (safety 0) in the optimizations?  I don't know
about MCL, but in some lisps the safety settings often take precedence
over the speed settings, so type checking and dispatch may be left in
even at high speed settings.

--

Thomas A. Russ                                             tar@isi.edu    
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292      (310) 822-1511
Newsgroups: comp.lang.lisp.mcl
From: byrne@cc.gatech.edu (Michael Byrne)
Subject: Radius Rocket 25i and MCL 2.0  - HELP!!
Reply-To: byrne@cc.gatech.edu (Michael Byrne)
Organization: College of Computing
Date: Sun, 11 Oct 1992 18:38:04 GMT

I have owned a Radius Rocket 25i since April, and had been assured that it
worked just fine with MCL2.0 by both APDA and Radius.  I (finally)
received MCL2.0 on Friday, and am quite distraught.

First, the "ptable" extension won't load (since I don't run VM, I need 
it).  Second, doing almost anything in Lisp generates a long wait and then
the message

;[Stacks reset due to overflow]

This includes simple things like clicking on the close box in the
Inspector window, or simply typing in "(red)" to the Listener without
having defined a function "red".

These problems don't appear without the Rocket, but I have a limited amount
of RAM on my motherboard and a IIx simply isn't fast enough for AI programming.
Running on the Rocket is therefore critical.          

I'm at wits end here, and have tried everything I can think of (such as
turing off MacsBug, turning off all INITs, switching off the 040 caches,
and so forth).  Does anyone know where this error comes from and how to
fix it?  Help would be MUCH appreciated.


================================================================================
Mike "Sunburn" Byrne                          |  "Only the mediocre are 
byrne@cc.gatech.edu                           |   always at their best."
Grad student in Psychology/Cognitive Science  |
25947 GA Tech Station, Atlanta, GA 30332      |                -Jean Giradoux
From: mark@bilpin.co.uk (Mark Allerton)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: tracing a method
Date: 7 Oct 92 12:10:19 GMT
Reply-To: mark@bilpin.co.uk (Mark Allerton)
Organization: UK Mac DTS

Rich lynch@ils.nwu.edu writes...

>What is the correct syntax to put a step-point on a method?

With a method defined like so:
(defmethod thang ((a-thang thang-class) an-arg) 
	etc...)

Then the syntax:
(trace ((:method thang (thang-class t)) :step t))

Works for me. Almost every time I've got the error message you quote, the
problem has been that I got the arguments part of the method-spec given
to "trace" wrong.

Mark Allerton
UK Mac DTS - mark@bilpin.co.uk
Newsgroups: comp.lang.lisp.mcl
From: mueller@sumex-aim.Stanford.EDU (Fritz Mueller)
Subject: getting at global bindings...
Organization: Knowledge Systems Lab, Stanford University
Distribution: comp
Date: Thu, 15 Oct 1992 02:02:09 GMT


Is there a way to examine and alter the global binding of a special
variable in MCL 2.0?

    LispM: symeval-globally          setq-globally 
  Allegro: mp:global-symbol-value    (setf mp:global-symbol-value)
    Lucid: lcl:symbol-global-value   (setf lcl:symbol-global-value)
      MCL: ???                        ???


					--FritzM.
From: bill@cambridge.apple.com (Bill St. Clair)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: making patterns the hard way
Date: 7 Oct 92 17:33:33 GMT
Full-Name: Bill St. Clair
Original-To: Ray Pelletier <rp23+@andrew.cmu.edu>
Original-Cc: info-mcl

>MACL 2.0 final defines the pattern :record as a handle.
>It used to (and I believe should be) defined as a pointer.

This is correct.

Our automagic Pascal to Lisp interface file converter is responsible
for these changes in default record types. If it saw a data type
defined which is a handle to a record, it made the default record type
be a handle. Because it is unpredictable, I have stopped assuming
anything about the default storage type for records. I always use the
:STORAGE option to MAKE-RECORD and I use PREF & HREF instead of RREF.
If you do the same you will probably confuse yourself less.
From: cassels@cambridge.apple.com (Robert A. Cassels)
Newsgroups: comp.lang.lisp.mcl
Subject: Re: help balloons for objects
Date: 8 Oct 92 14:07:10 GMT
Full-Name: Bob Cassels
Original-To: info-mcl, waander@cs.umd.edu (Bill Andersen)

>   Hey!  How do you make an irregularly shaped view?  I've always
>wondered how this could be done and I'm not a low-level toolbox
>kind of guy so I never really bothered with that sort of thing.
>
>   Do you have a code sample??

In another message, I pointed to Alan Ruttenburg's code inthe MCL contrib
directory, also on the MCL CD.  On the CD, it's in User Contributed
Code:Collected works:Alanr's Contribution:Sheet:Substrate:shaped-view.lisp.

It defines views with specified shapes.  It also defines a view whose shape
is the union of the shapes of its subviews.  You can get non-rectangular
windows, with disjoint parts, even.  It's very nice and very easy to use.
Newsgroups: comp.lang.lisp.mcl
From: byrne@cc.gatech.edu (Michael Byrne)
Subject: Re: Accelerator boards and MCL 2.0 ?
Reply-To: byrne@cc.gatech.edu (Michael Byrne)
Organization: College of Computing
Date: Sun, 11 Oct 1992 18:23:57 GMT

In article <Bvq6vG.9op@world.std.com> squeegee@world.std.com (Stephen C. Gilardi) writes:
>dganglin@jeeves.uwaterloo.ca (Greg Anglin) writes:
>
>>Hi ...
>
>>I am considering purchasing an accelerator board for a IIci.
>
>>Most of my work is done in MCL 2.0; so, I would like to feel confident that
>>MCL and the accelerator are compatible.  Has anyone had any experience
>>with MCL and, say, the Radius Rockets or Daystar Powercaches?
>
>>Thanks,
>
>>Greg Anglin
>>Statistical Computing Laboratory
>>University of Waterloo
>
>MCL 2.0 (& 2.0p1) runs nicely on my Rocket.  I can even turn the cache on
>in 68040 mode for full speed.
>
>--Steve
>
>Stephen C. Gilardi
>SQ Software
>squeegee@world.std.com

I've had a Rocket 25i for some time, and I just got MCL2.0 yesterday.
It does NOT seem to work with my Rocket, I get the following result
whenever I do anything...

;[Stacks reset due to overflow]

HELP!!  Steve, do you have any hints?  I'm desperate here.  

================================================================================
Mike "Sunburn" Byrne                          |  "Only the mediocre are 
byrne@cc.gatech.edu                           |   always at their best."
Grad student in Psychology/Cognitive Science  |
25947 GA Tech Station, Atlanta, GA 30332      |                -Jean Giradoux