It sounds like you're not very familiar with functional programming. In a purely functional context, functions are only useful if they have a defined return value, otherwise might as well be comments. Scheme isn't purely functional (or it wouldn't have for-each), but this subset of Scheme probably is. It doesn't make sense to support functions that can't do anything, does it? In either case, for-each is always just an optimization because map does the same thing with a defined return value. -bob On Jul 17, 2006, at 10:17 PM, andrew baker wrote: So, it's not the familiar "foreach x in y" iterator? |