The Glisp compiler can compile loops over sets of data, including lists, trees, and any type for which iterator macros are defined.
A for loop can include when predicate and verbs do, collect, sum, average, stats.
(gldefun t11 ((grades (listof integer)))
(for x in grades average x))
> (glcp 't11)
result type: INTEGER
(LAMBDA (GRADES)
(LET (SUM VAL (N 0))
(DOLIST (X GRADES)
(SETQ VAL X)
(IF (ZEROP N) (SETQ SUM VAL) (INCF SUM VAL))
(INCF N))
(IF (PLUSP N) (/ SUM N) 0)))
> (t11 '(90 95 87 100))
93
Contents    Page-10    Prev    Next    Page+10    Index