You're right, there are two issues, but I think there's no need to
consider circularity separately. I've just messed up my DrScheme
installation, but in SISC:
#;> (require-extension (srfi 1))
#;> (map + '(1 2) (circular-list 1 2))
(2 4)
It seems to me that SRFI-1 *guarantees* this result (right?). That's
all that's required to use circular lists as representations for
periodic sequences (for what it's worth).
So, back to the case in point, the SRFI-1 rule "stop on shortest" can
be more useful than the R5RS rule. Some people don't like this trick
though...
> I'd be surprised if srfi-1's `map' gives you the second. It certainly
> looks like it doesn't:
>> (map add1 '#0=(1 . #0#))
> ;; ...loops
Obviously if no argument is a finite list, map might never stop -- the
SRFI doesn't say anything about that.
-- Dan