Or you could write
(defun pos+ (lst)
(let ((i -1))
(mapcar #'(lambda (x) (+ x (incf i)))
lst)))
Btw, in Arc that would be
(def pos+ (lst)
(let i -1
(map [+ _ (++ i)] lst)))
It's better in Gauche Scheme.
(define (pos+ lst)
(map + lst (lrange 0)))
(pos+ '(200 300 400 500))
===>
(200 301 402 503)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 298 |
Nodes: | 16 (2 / 14) |
Uptime: | 20:05:42 |
Calls: | 6,678 |
Calls today: | 1 |
Files: | 12,222 |
Messages: | 5,341,498 |
Posted today: | 1 |