It is in ScalaDoc but without much documentation. It seems that it always returns the first parameter.
Function.const(1)(2) for instance returns 1.
Why does it exist and why is it useful?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
To give a more theoretical answer: const is the K combinator of the SKI calculus. It pops sometimes up when you work with quite abstract concepts where you don’t have much “to work with”. Consider a (Haskell style) Functor trait:
Now fmap needs to be abstract, as it is the very essence of a functor. But we can write a general implementation of left, and here we need const:
Test with Option:
As you can see left does what it should (wrapping a value in some functor when we have already a “role model” or “pattern” for this functor in the second argument). Defining it very abstract without knowing anything about the kind of functor was only possible by using const.