Когда лямбда-формы необходимы в Haskell?

Я новичок в Haskell и относительный новичок в функциональном программировании. В других (помимо Haskell) языках лямбда-формы часто очень полезны.

Например, в схеме:

(define (deriv-approx f)
  (lambda (h x)
    (/ (- (f (+ x h)
          (f x)
       h)))

Создает замыкание (над функцией f) для аппроксимации производной (при значении x с интервалом h) . Однако такое использование лямбда-формы не кажется необходимым в Haskell из-за его частичного применения:

deriv-approx f h x = ( (f (x + h)) - (f x) ) / h

Каковы некоторые примеры, когда лямбда-формы необходимы в Haskell?

Правка: заменено «закрытие» на «лямбда-форму»

8
задан Matt Fenwick 18 August 2011 в 22:23
поделиться