1/23
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
it has simpler semantics, simpler model of computation than an imperative language
functional programming language
functional programming language avoids what
changing state and mutable data
major drawback of functional programming language
inefficient execution
description of a specific computation
program
refers to the steps to compute the result
the how of the computation
acts as a black box transforming input into output
the what of the computation
it is equivalent to a mathematical function
program
A program is a function that maps inputs (X) to outputs (Y)
program as functions
Describes how to compute a value using formal parameters.
function definition
Calls a function using actual parameters.
function application
in this type of programming, variables are bound to values and cannot change.
functional programming
in this type of programming, variables refer to memory locations that store values and can change.
imperative programming
in functional programming, once a variable has a value, it cannot be changed (true or false)
true
applies function to itself as in recursive
self-application
Functions that take functions as arguments or return functions as results
higher-order function
a function that takes two functions as parameters and produces another function as its returned value.
higher-order function
a function that takes two functions as parameters and produces another function as its returned value.
composition
functions can produce results even in the presence of incomplete or malformed input
nonstrict
If a condition determines the outcome early, later expressions are not evaluated.
short-circuit evaluation
parameters are evaluated only when they are actually used in the procedure
pass by name evaluation
expressions are only evaluated when needed.
lazy evaluation
obey lazy evaluation rules, partially computed list whose remaining elements can continue to be computed up to any desired number
streams
viewed functions as "black boxes" that take inputs, process them (purely mathematical functions), and produce outputs without revealing their internal workings.
lambda calculus
who invented lambda calculus
alonzo church