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