The goal of this talk is to introduce functions in the functional programming sense. We will think about why these are different from methods in Java. Once we start to get an understanding of these differences, we will explore how much information we can get out of the type signature of functions. Finally, we will talk about what it means to be a first class function, and how this allows functions to be cleaner and more reusable.
No previous knowledge of functional programming is assumed.
WARNING: This talk will make you think! I will asking questions, and we will work out the answers together, so bring your thinking cap.
This talk is geared towards a student in CS245 . Most of the content will be approachable by someone in the introductory courses (CS127A/B or CS227), but it will be challenging (in the good way, of course!).