Number: 328 Date: 27-Mar-84 11':20':01 Submitter: Sannella.PA Source: MASINTER.PA Subject: rename DEFINEDP to \DEFINEDP Lisp Version: Description: ' Date': 26 MAR 84 21':17 PST' From': MASINTER.PA' Subject': DEFINEDP and FGETD' ...' ' I''m loath to add DEFINEDP as a "known" primitive. It should have been named \DEFINEDP.' ' There is some reason to believe that this might be a bad idea, namely':' ' ' Date': 29 MAR 84 12':30 PST' From': JONL.PA' Subject': Re': DEFINEDP and FGETD' To': MASINTER' cc': LispSupport, JONL' ' In response to your message sent 26 MAR 84 21':17 PST' ' This "summary" left out the essential complaint -- ' ' The existing semantics of DEFINEDP (not documented) is exactly the' documented semantics of FGETD, modulo representation of SUBRs on PDP10 ' and D-machines' ' ' The remaining problems are secondary. Not having DEFINEDP documented led' some users (namely, the STROBE folks at Schlumberger) to run an order of' magnitude slower on one of their inner loops -- I suggested that they use' DEFINEDP rather than GETD or FGETD (both of which cons when a value is' being returned).' ' -----' ' Date': 10 Apr 84 15':15 PST' From': Masinter.pa' Subject': AR#328, DEFINEDP ← FIXED, and some other changes' To': LispSupport' cc': LispCore↑' ' I fixed it so that the macro for FGETD and GETD generate calls to \DEFINEDP. It is merely a compiler optimization that calls to GETD in ''predicate'' context generate calls to \DEFINEDP rather than the (slower, consy) GETD.' ' I also removed FGETD from the manual, since it is (relatively) useless in Interlisp-D.' ' ...' ' -----' ' Date': 12 Apr 84 09':55 PST' From': Masinter.pa' Subject': Lisp': Recent change to FGETD/DEFINEDP means that newly compiled code may not work in OLD sysouts' To': LispSupport.pa' ' Lisp System Date': 8-Apr-84 18':02':02' Machine': Dorado (Plaza)' Microcode version': 24,4' Memory size': 10000' Frequency': Intermittent' Impact': Moderate' ' If user gets u.d.f. \DEFINEDP after doing such a load, they need to MOVD(DEFINEDP \DEFINEDP]' ' -----' ' Date': 20 Apr 84 17':33 PST' From': JonL.pa' Subject': [Koomen.Wbst': Bugs (?)]' To': Masinter' cc': LispCore↑ ' ' Apparently more than the Schlumberger folks are using DEFINEDP -- if it and FGETD really must be eliminated, then the user-community had better have sufficient early warning.' ' ' ' ----- Begin Forwarded Messages -----' ' Date': Tue, 21 Jun 83 15':36 EDT' From': Koomen.Wbst' Subject': Bugs (?)' To': LispSupport.pa' cc': Koomen' ' A few problems I ran into recently (after not using Interlisp-D for ~ 8 months)':' ' - GETDEF(undefinedfunction) used to return NIL, now prints "undefinedfunction(FNS definition not found)" and returns to top level (i.s.o. BREAK!)' ' - After guessing alternative DEFINEDP, found that it has non-descriptive argument name "A", no filepkgtype argument, and buggy code. It returns either NIL or an object whose typename is NIL (i.e., garbage).' ' - NTYP is in the manual ("phone" book) but not in Interlisp-D. However, NTYPX is (which I guessed after doing a PRINTCODE on DEFINEDP, of all things). Don''t you just love those mnemonic names! ' ' Have fun!' ' -- Hans' ' ----- End Forwarded Messages -----' ' ----- Next Message -----' ' Date': 20 Apr 84 17':46 PST' From': vanMelle.pa' Subject': Re': [Koomen.Wbst': Bugs (?)]' In-reply-to': JonL.pa''s message of 20 Apr 84 17':33 PST' To': JonL.pa' cc': Masinter.pa, LispCore↑.pa' ' 1. This is the documented behavior of GETDEF. If he wants it to return NIL, he should specify OPTIONS = NOERROR.' ' 2. Note that he guessed at DEFINEDP. Big deal.' ' 3. NTYP ought to be documented as Interlisp-10 only.' ' ' ----- Next Message -----' ' Date': 20 Apr 84 18':34 PST' From': JonL.pa' Subject': Re': [Koomen.Wbst': Bugs (?)]' In-reply-to': vanMelle.pa''s message of 20 Apr 84 17':46 PST' To': vanMelle.pa' cc': JonL.pa, Masinter.pa, LispCore↑.pa' ' 1) he should have been using HASDEF, but instead he' 2) "guessed" at the name DEFINEDP.' ' The "big deal" is that even undocumented, reasonable names will find a user community -- and may not be so easy to retract as a midnight raid. Stress "reasonable" in "undocumented, reasonable names".' ' ' ' Workaround: Test Case: Edit-By: Sannella.PA Edit-Date: 17-Aug-84 12':00':10 Attn: Assigned To: Masinter.pa In/By: Disposition: System: Language Support Subsystem: Machine: Disk: Microcode Version: Memory Size: File Server: Server Software Version: Difficulty: Frequency: Intermittent Impact: Annoying Priority: Hopefully Status: Closed Problem Type: Design - Impl Source Files: