From: ··············@yahoo.com
Subject: Quoting disassemble's lambda argument.
Date: 
Message-ID: <77b0ug$ulc$1@nnrp1.dejanews.com>
Hmmm...

Consider these two expressions:

(disassemble '(lambda (x) x))
(disassemble #'(lambda (x) x))

The first one works with ACL, but fails with CMUCL.
The second one works with CMUCL, but fails with ACL.

The hyperspec says:

Function DISASSEMBLE

Syntax:

disassemble fn => nil

Arguments and Values:

fn---an extended function designator or a lambda expression.

I'm leaning towards thinking that CMUCL has the correct behavior. It's
annoying that there is not one syntax that works with both. What do you guys
think?

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    

From: Rainer Joswig
Subject: Re: Quoting disassemble's lambda argument.
Date: 
Message-ID: <joswig-1001992147500001@194.163.195.67>
In article <············@nnrp1.dejanews.com>, ··············@yahoo.com wrote:

> Hmmm...
> 
> Consider these two expressions:
> 
> (disassemble '(lambda (x) x))
> (disassemble #'(lambda (x) x))
> 
> The first one works with ACL, but fails with CMUCL.
> The second one works with CMUCL, but fails with ACL.
> 
> The hyperspec says:
> 
> Function DISASSEMBLE
> 
> Syntax:
> 
> disassemble fn => nil
> 
> Arguments and Values:
> 
> fn---an extended function designator or a lambda expression.
> 
> I'm leaning towards thinking that CMUCL has the correct behavior. It's
> annoying that there is not one syntax that works with both. What do you guys
> think?

In MCL and Genera both forms do work.

-- 
http://www.lavielle.com/~joswig
From: Erik Naggum
Subject: Re: Quoting disassemble's lambda argument.
Date: 
Message-ID: <3125001338064056@naggum.no>
* ··············@yahoo.com
| Consider these two expressions:
| 
| (disassemble '(lambda (x) x))
| (disassemble #'(lambda (x) x))
| 
| The first one works with ACL, but fails with CMUCL.

  that's a bug in CMUCL.

| The second one works with CMUCL, but fails with ACL.

  that's a bug in Allegro CL.

| I'm leaning towards thinking that CMUCL has the correct behavior.

  why?  the standard explicitly says `lambda expression'.

  if DISASSEMBLE should indeed accept an interpreted function as arugment,
  this is a fix for DISASSEMBLE in Allegro CL:

excl:
(advise disassemble :before allow-interpreted-function nil
  (when (interpreted-function-p (first arglist))
    (setf (first arglist)
      (func_code (first arglist)))))

#:Erik
From: David Hanley
Subject: Re: Quoting disassemble's lambda argument.
Date: 
Message-ID: <369B9114.CFBF50E3@ncgr.org>
··············@yahoo.com wrote:

> Hmmm...
>
> Consider these two expressions:
>
> (disassemble '(lambda (x) x))
> (disassemble #'(lambda (x) x))
>
> The first one works with ACL, but fails with CMUCL.
> The second one works with CMUCL, but fails with ACL.

    Both versions work for me in CMUCL.  Is your version old?

dave