It seems that the looping constructs don't currently return a value.  In other words, they don't return an array of the results.  CoffeeScript allows for both scenarios, that is, looping for side-effects and looping that returns an array of results.  I'm thinking it would be very useful to have dotimes*, dolist*, for-in*, etc. that return an array of results.  Below is an example from coffeescript.org.  Let me know what you think.


David


countdown = (num for num in [10..1])

------------------------------------

var countdown, num;

countdown = (function() {
  var _i, _results;
  _results = [];
  for (num = _i = 10; _i >= 1; num = --_i) {
    _results.push(num);
  }
  return _results;
})();