Number: 1874

Date: 16-Aug-84 14':16':52

Submitter: le.pasa

Source: Bird.pasa

Subject: DWIMIFY / Arguments of unknown functions

Lisp Version:  CAROL

Description: '
Consider the function (LAMBDA NIL (X (CAR Y] where X is an undefined function.  CLISPIFY *correctly* leaves the CAR expression unchanged as Y might eventually be an NLAMBDA.'
Consider now (LAMBDA NIL (X Y ': 1] where X is an undefined function.  DWIMIFY *should* leave the "':" expression alone for the same reason, but doesn''t.'
(Both handle existing NLAMBDAs correctly).'
Date': 15 Aug 84 14':41':21 PDT (Wednesday)'
From': masinter.PA'
Subject': Re': AR-Submit'
In-reply-to': Bird.pasa''s message of 15 Aug 84 14':19 PDT'
To': Bird.pasa'
cc': Le.pasa, 1100Support, LispSupport'
I''m not sure this is a non-feature... for example, if NLAMA/NLAML contain (X), DWIMIFY will leave (X Y ': 1) alone. '
The system currently assumes all functions are lambda-spreads unless told otherwise. I could turn that assumption off, but there are a number of cases where it is the ''right'' thing to do. (Even in this case, I can imagine folks expecting it.)'
Thu, could you leave this AR open and just edit this comment into it in the "description" field.'
Mike': maybe you should have someone else who can submit ARs in Thu''s absence? Or use the Lisp-based tools?'
Date': 15 Aug 84 15':19 PDT'
From': Bird.pasa'
Subject': Re': AR-Submit'
In-reply-to': masinter.PA''s message of 15 Aug 84 14':41':21 PDT (Wednesday)'
To': masinter.PA'
cc': Bird.pasa, Le.pasa, 1100Support.PA, LispSupport.PA'
I started this AR because of the difference between DWIMIFY and CLISPIFY.  I guess that one could argue that CLISPIFY is playing safe, but I would vote for compatibility, even if it meant changing CLISPIFY instead of DWIMIFY.'
Date': 15 Aug 84 16':33':14 PDT (Wednesday)'
From': masinter.PA'
Subject': Re': AR-Submit'
In-reply-to': Bird.pasa''s message of 15 Aug 84 15':19 PDT'
To': Bird.pasa'
cc': masinter, Le.pasa, 1100Support, LispSupport'
I am thinking that it is ok that DWIMIFY will process forms that CLISPIFY leaves alone. CLISPIFY must be conservative, since people run with CLISPIFYPRETTYFLG and require that CLISPIFY not lose any information, even for programs that won''t run.'
DWIMIFY can require as much information as the compiler/interpreter have in order to properly compile or interpret code, however.'


Test Case: 

Edit-By: Sannella.PA

Edit-Date: 16-Aug-84 14':37':49

Attn: Masinter

Assigned To: 



System: Programming Environment

Subsystem: DWIM



Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 


Frequency: Everytime

Impact: Moderate


Status: Open

Problem Type: Design - Impl

Source Files: