Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!wuarchive!zaphod.mps.ohio-state.edu!sdd.hp.com!decwrl!shelby!neon!kanamori From: kanamori@Neon.Stanford.EDU (Atsushi Kanamori) Newsgroups: comp.lang.scheme Subject: Re: (none) Message-ID: <1990Aug25.163721.26294@Neon.Stanford.EDU> Date: 25 Aug 90 16:37:21 GMT References: <9008241654.AA11326@dad.MENTOR.COM> Organization: Computer Science Department, Stanford University Lines: 15 In article <9008241654.AA11326@dad.MENTOR.COM> plogan@dad.mentor.COM (Patrick Logan) writes: >Colin Plumb writes: > Less obviously, > (define (bar x) (cons x 1)) > is not a function, since ... [confusing use of call/cc and bar] > >It is a function. Every element in the domain is mapped to a unique element in >the codomain. For the record, it is not a function. Calling BAR twice with the same argument gives you two distinct cons cells that happen to have the same contents. You can distinguish the two using eq?, set-car! and set-cdr!. In fact, BAR is a very good "gensym" function when you don't care about the type of the gensym'd objects.