1/15
A set of flashcards covering key concepts from the lecture notes on Functional Programming, particularly focused on F# and its features.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Functional Programming
A programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing state or mutable data.
Imperative Languages
Programming languages that emphasize changes in program state and involve sequences of commands or statements.
Von Neumann Architecture
A computer architecture where data and programs are stored in the same memory, enabling the fetch-execute cycle.
Lambda Expression
A nameless function defined using the lambda notation that is used to create functions in functional programming.
Higher-Order Function
A function that can take other functions as parameters or return a function as its result.
Function Composition
The process of combining two functions where the output of one function becomes the input of another.
Referential Transparency
A property of functional programming where a function consistently produces the same output for the same input without side effects.
F#
A functional-first programming language that also supports imperative and object-oriented programming, based on OCaml.
Curried Functions
A technique of evaluating a function with multiple arguments by transforming it into a series of functions, each taking a single argument.
Anonymous Functions
Functions defined without a name, typically used for short-term use in programming.
Filter Function
A higher-order function that applies a predicate to a list and returns all elements that satisfy the predicate.
Map Function
A higher-order function that applies a given function to each item of an iterable and returns a list of results.
Partial Function Application
A technique in functional programming where a function with multiple arguments is applied to some of its arguments to create a new function.
Functional Operators
Operators in functional programming that allow chaining functions and composing them seamlessly.
Comparison of Languages
The distinction between functional and imperative languages in terms of execution efficiency, complexity, and syntax.
Recursion
A method of solving a problem where the solution depends on solutions to smaller instances of the same problem.