Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Seeking Functional Programming Lexicon

Knowing the argot of a field helps me a lot, especially since it allows me to converse intelligently with those who know a lot more than I, so I would like to find a good lexicon of Functional Programming terms.

E.g., I repeatedly encounter these: Functor, Arrow, Category, Kleisli, Monad, Monoid, a veritable zoo of Morphisms, etc. I also notice many of these appear with prefixes such as "covariant", "co-", "endo-" etc.

Of these, I can say I actually understand Monoid and Covariant and sort of get Monad, but the rest are still gibberish to me. (Note that I don't mean this list as exhaustive and I'm not looking to have these defined or described for me here, I'm looking for learning resources.)

Can someone point me towards an FP lexicon? It need not be on-line, as long as it's possible to find it (and it's not a rare volume for which I'd have to pay many tens of dollars).

like image 959
Randall Schulz Avatar asked Apr 24 '10 00:04

Randall Schulz


People also ask

What is functional programming in simple words?

Functional programming means using functions to the best effect for creating clean and maintainable software.

What are functional programming techniques?

Functional programming is a coding strategy that focuses on the direct use of functions as first-class objects. This means that in a functional program, you are allowed to create, store, and call functions, and otherwise use them as if they were just another variable of the system.

Is Python a functional programming?

Python is not a strictly functional programming language. But it is trivial to write Python in a functional style. There are three basic functions on iterables that allow us to write a powerful program in a very trivial way: filter, map, and reduce.

What are some examples of functional programming languages?

For example: Java, C++, C# Scripting Programming Languages: These are general-purpose languages and support both OOP concepts as well as functional programming language constructs – For example, Javascript, Python. Q #4) Is functional programming the future?

What is the best functional programming language to build a website?

Best for teams looking to create reliable web applications with a functional programming language should consider using Elm. Elm is a functional programming language for building HTML apps. It makes the apps render extremely fast with a well-architected framework. Have an intelligent compiler making refactoring easy and fun.

What is a functional program?

A functional program consists of an evaluation of pure functions. You describe the result that’s expected rather than the steps you would need to get that result. The function is transparent – i.e. its output depends on the input parameters supplied.

What are the current trends in functional programming?

Functional programming has been there for around six decades, but it is quickly gaining traction now, due to current trends like parallel computing, data science, and machine learning applications, etc.


1 Answers

As other answers have pointed out, to really understand those terms you have to study Category Theory. However, Category Theory is very abstract and may not help you build up intuition immediately. To see the abstract concepts in action, I highly recommend the Typeclassopedia (PDF) (blog announcement).

like image 158
Wei Hu Avatar answered Nov 14 '22 00:11

Wei Hu