Play Framework Form "fold" method naming rationale

Posted by oym on Stack Overflow See other posts from Stack Overflow or by oym
Published on 2014-06-10T03:20:53Z Indexed on 2014/06/10 3:24 UTC
Read the original article Hit count: 110

Filed under:
|

Play Framework's (2.x) Form class has a method called fold who's usage is indicated as:

anyForm.bindFromRequest().fold(
  f => redisplayForm(f),
  t => handleValidFormSubmission(t)
)

Essentially, the first function parameter is what gets executed on binding failure, and the 2nd on binding success. To me it seems similar to the 'success' and 'error' callbacks of jquery's ajax function.

My question is why did the Play developers call the method "fold"? As a disclaimer I am new to Scala, but I am failing to see the connection between this and the functional Scala fold operation. The only similarity is that it is a higher order function; but I don't see any combining that is taking place, nor does it delegate internally in its implementation to any of the Scala fold functions.

© Stack Overflow or respective owner

Related posts about scala

Related posts about playframework-2.0