[HARLEQUIN][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Issue:         LCM-NO-ARGUMENTS

References: CLtL p. 202

Related issues: none

Category: ADDITION

Edit history: Version 1, Guy Steele 10/17/88

Problem description:

CLtL incorrectly states that (lcm) should return infinity, and

therefore specifies that giving lcm no arguments is an error.

In point of mathematical fact, 1 is the identity for the lcm operation.

Proposal (LCM-NO-ARGUMENTS:1): Define (lcm) to return the integer 1.

Examples: (lcm) => 1

Test Cases: (lcm) => 1

Currently the behavior in this case is implementation-dependent.

Rationale: Doing what is mathematically right.

Current practice:

KCL signals an error.

Lucid Lisp returns 1.

Symbolics Common Lisp returns 1.

Cost to Implementors: Pretty small (one-line fix).

Cost to Users: None.

Cost of non-adoption: Continued embarassment for Steele.

Performance impact: Negligible.

Benefits: Correct handling of a seldom-used boundary case.

Esthetics: Mild improvement.

Discussion: Mentioned in Steele's December 1985 "clarifications".

[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996, The Harlequin Group Limited. All Rights Reserved.