Functional programming jargon in plain English
These definitions don't really give you the idea, rather often just code examples.."The ideas", in my view:Monoid = units that can be joined togetherFunctor = context for running a single-input functionApplicative = context for multi-input functionsMonad  = context for sequence-dependent operationsLifting = converting from one context to anotherSum type = something is either A or B or C..Product type = a record = something is both A and B and CPartial application = defaulting an argument to a functionCurrying = passing some arguments later = rephrasing a function to return a functions of n-1 arguments when given 1, st. the final function will compute the desired resultEDIT:
Context = compiler information that changes how the program will be interpreted (, executed, compiled,...)Eg., context = run in the future, run across a list, redirect the i/o, ...