Number: 318

Date: 27-Mar-84 10':44':12

Submitter: Sannella.PA

Source: WEINRICH@RUTGERS.ARPA

Subject: Interlisp-10 / -D incompatible behavior': LDIFFERENCE

Assigned To: Masinter.pa

Attn: 

Status: Closed

In/By: Harmony

Problem Type: Bug

Impact: Minor

Difficulty: 

Frequency: Intermittent

Priority: Unlikely

System: Language Support

Subsystem: 

Machine: 

Disk: 

Lisp Version: 

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: '
["Sannella" "20-Aug-84 13':12':35" Attn': Status':(Fixed->Closed) In/By':]

Description: '
Received': from RUTGERS.ARPA by PARC-MAXC.ARPA; 27 MAR 84 08':13':33 PST'
Date': 27 Mar 84 11':13':40 EST'
From': Jeffrey Shulman <SHULMAN@RUTGERS.ARPA>'
Subject': LDIFFERENCE problems'
To': lispsupport.pa'
'
Forwarded bug report about differences in Interlisp-10 and Interlisp-D':'
'
                ---------------'
'
Mail-From': WEINRICH created at 27-Mar-84 10':22':07'
Date': 27 Mar 84 10':22':07 EST'
From': Tim <WEINRICH@RUTGERS.ARPA>'
Subject': NLisp - DLisp incompatibility'
To': Design@RUTGERS.ARPA'
'
   If (LDIFFERENCE FOO BAR) is EQUAL to FOO (ie, FOO and BAR share no'
elements), DLisp will return a result which is EQ to FOO, while NLisp'
returns a copy of FOO.'
'
   Twinerik'
-------'
-------'
'
Date': 27 Mar 84 11':11 PST'
From': masinter.pa'
Subject': Re': AR#318': Interlisp-10 / -D incompatible behavior': LDIFFERENCE'
In-reply-to': LispSupport.pa''s message of 27 Mar 84 10':44':42 PST (Tuesday)'
To': LispSupport.pa'
cc': Shulman@Rutgers, Weinrich@Rutgers, Design@Rutgers'
'
The definition for LDIFFERENCE has not changed since 1978, and is the same in Interlisp-10 and Interlisp-D; in both cases, if BAR contains no elements in common with FOO, the result of (LDIFFERENCE FOO BAR) is a (top-level) copy of FOO.'
'
[LispSupport, please mark AR#318 as "Declined"]'
'
-----'
'
Return-Path': SHULMAN@RUTGERS.ARPA'
Received': from RUTGERS.ARPA by PARC-GW.ARPA ; 27 MAR 84 15':03':48 PST'
Date': 27 Mar 84 18':03':54 EST'
From': Jeffrey Shulman <SHULMAN@RUTGERS.ARPA>'
Subject': Re': AR#318': Interlisp-10 / -D incompatible behavior':'
To': masinter.pa, LispSupport.pa'
cc': Weinrich@RUTGERS.ARPA, Design@RUTGERS.ARPA'
In-Reply-To': Message from "masinter.pa@PARC-GW.ARPA" of 27 Mar 84 14':11':00 EST'
'
'
	Perhaps you didn''t understand':  Interlisp-D is *not* returning a'
copy of the list but the list itself.  The problems Tim Weinrich is having'
is that his code does destructive modifications on this result.  Since in'
Interlisp-D this is not a copy he is modifying his original list (which he'
doesn''t want to do.)'
	I should mention that the current manual does not state whether'
a copy or the original list is returned.'
	I do think that in either case both Interlisp''s should be consistant'
(or a note in the manual saying they aren''t.)'
'
						Jeff'
-------'
'
Date': 27 Mar 84 16':23 PST'
From': Masinter.pa'
Subject': Re': AR#318': Interlisp-10 / -D incompatible behavior':'
In-reply-to': Jeffrey Shulman <SHULMAN@RUTGERS.ARPA>''s message of 27 Mar 84 18':03':54 EST'
To': SHULMAN@RUTGERS'
cc': masinter.pa, LispSupport.pa, Weinrich@RUTGERS, Design@RUTGERS'
reply-to': LispSupport'
'
now I understand what is going on. There are two different versions of LDIFFERENCE on two different files in Interlisp-10. The duplicate version is in the Interlisp-10 compiler (LAP), which isn''t loaded into Interlisp-D.'
'
Now we have the separate problem of deciding which version is right. I kind of think'
'
(DEFINEQ (LDIFFERENCE (LIST1 LIST2)'
(for X in LIST1 when (NOT (MEMBER X LIST2)) collect X)]'
'
is the right definition.'
'
Actions here are (a) remove duplicate version of LDIFFERENCE from LAP, (b) remove duplicate LDIFFERENCE from either MISC or MACHINEINDEPENDENT, (c) change definition to be the above iterative.'
'
The workaround is to install the above definition.'
'
Thank you for tracking this one down.'
'
Larry'
'
-----'
'
Date': 27 Mar 84 17':19 PST'
From': Masinter.pa'
Subject': Re': AR#318': Interlisp-10 / -D incompatible behavior':'
In-reply-to': Masinter.pa''s message of 27 Mar 84 16':23 PST'
To': LispSupport.pa'
cc': '
'
fixed'
'
-----'
'
Received': from RUTGERS.ARPA by PARC-MAXC.ARPA; 28 MAR 84 08':13':31 PST'
Date': 28 Mar 84 11':13':32 EST'
From': Tim <WEINRICH@RUTGERS.ARPA>'
Subject': Re': AR#318': Interlisp-10 / -D incompatible behavior':'
To': LispSupport.pa, SHULMAN@RUTGERS.ARPA'
cc': masinter.pa, Design@RUTGERS.ARPA'
In-Reply-To': Message from "Masinter.pa@Xerox.ARPA" of 27 Mar 84 19':23':00 EST'
'
'
   I agree that returning the copy is probably the correct behavior.'
Thanx for looking into it.'
'
   Twinerik'
-------'


Workaround: 

Test Case: 

Edit-By: Sannella

Edit-Date: 20-Aug-84 13':12':36