2008/9/19 Bill Schottstaedt <[EMAIL PROTECTED]>: > map does not accept no list: > > guile> (map (lambda (a) a)) > > Backtrace: > In standard input: > 1: 0* [map #<procedure #f (a)>] > > standard input:1:1: In procedure map in expression (map (lambda # a)): > standard input:1:1: Wrong number of arguments to #<primitive-generic map> > ABORT: (wrong-number-of-args)
Right. The number of lists given to map should be the same as the number of parameters the lambda takes. Were you saying that this is a bug, or is this just to set up an analogy with the following? > + and * have a "natural" identity (0 and 1), so it is not silly that (+ a) is > (+ a 0) and (+) is (+ 0 0), but #t does not strike me as a natural identity > for < -- (< 1 1) is #f. But I hate these kinds of discussions, so I defer... The value of (<) seems natural to me... but I admit that I can't explain really clearly why that is! And then there's (and) and (or) ! Nevertheless, I still don't see any significant impact anywhere here. Please explain further if you do. Regards, Neil