Number: 1510

Date: 27-Jun-84 12':54':35

Submitter: Sannella.PA

Source: Shrager.pa

Subject: I.S.OPR "For" improperly FIXes args

Lisp Version: 

Description: '
Date': 26 Jun 84 00':52 PST'
From': Shrager.pa'
Subject': Lisp': For improperly FIXes args.'
To': LispSupport.pa'
'
Lisp System Date': 19-Jun-84 14':48':49'
Machine': Dorado (Shrager)'
Microcode version': 24,4'
Memory size': 10000'
Frequency': Always'
Impact': Serious'
'
(For X from 1.0 to 100.0 by 0.5 do (PRINT X))'
'
Yields':'
'
	1'
	1'
	1'
	1'
...'
forever.'
'
It seems obvious that this should yield':'
'
	1.0'
	1.5'
	2.0'
...'
and stop appropriately.'
'
-----'
'
Date': 26 Jun 84 10':03 PDT'
From': JonL.pa'
Subject': Re': Lisp': For improperly FIXes args.'
In-reply-to': Shrager.pa''s message of 26 Jun 84 00':52 PST'
To': Shrager.pa'
cc': Kaplan,vanMelle,LispSupport.pa'
'
Re': " (For X from 1.0 to 100.0 by 0.5 do (PRINT X))'
      Yields':'
        1'
        1'
        1'
        1'
        ...'
      forever"'
'
This weird behaviour stems from the Interlisp-10 days wherein it was important for I.S.OPRS to choose between IPLUS and FPLUS (Interlisp-D should *always* use PLUS for these canned loops -- any comments guys?).'
'
Needless to say, there is an appropriate local declaration construct in CLISP to specify floating point as the mode; the default mode, in lieu of any other indicator, is fixed.'
'
-- JonL --'
'
----'
Date': 15 Aug 84 01':29':58 PDT (Wednesday)'
From': Masinter.PA'
Subject': AR#1510': I.S.OPR (for X from 1 to 100 by .5 --) improperly FIXes args'
To': Shrager'
cc': 1100Support, LispSupport'
'
We''ve considered setting CLISPDEC(MIXED) as the standard default in Interlisp-D, but feared that might have subtle effects on system code which would get in the way of the Harmony Release. We are planning on doing so before Intermezzo.'
'
In the meanwhile, I suggest you set (CLISPDEF ''MIXED) in your init files. (recommended for new users. In Interlisp-D, there is no performance penalty for using PLUS instead of IPLUS when args are integers, and it does the "right" thing when they are not

Workaround: 

Test Case: 

Edit-By: le.pasa

Edit-Date: 16-Aug-84 13':52':23

Attn: Kaplan, Masinter

Assigned To: 

In/By: 

Disposition: 

System: Programming Environment

Subsystem: DWIM

Machine: 

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: Moderate

Frequency: Everytime

Impact: Moderate

Priority: Perhaps

Status: Open

Problem Type: Bug

Source Files: