The design of the imperative languages is based directly on the ____________. ____________ is the primary concern, rather than the suitability of the language for ____________. The design of the functional languages is based on ____________. A solid theoretical basis that is also closer to the user, but relatively unconcerned with the ____________ on which programs will run
The design of the imperative languages is based directly on the ____________. ____________ is the primary concern, rather than the suitability of the language for ____________. The design of the functional languages is based on ____________. A solid theoretical basis that is also closer to the user, but relatively unconcerned with the ____________ on which programs will run
Front
von Neumann architecture, efficiency, software development, mathematical functions, architecture of the machines
Back
One common kind of functional form is function composition, which takes ________________________s and yields a function whose ________________________________________________
Front
two functions as a parameter, values is the first actual parameter function applied to the application of the second
Back
A mathematical function is a ____________ of one set, called the ____________, to another set, called ____________
Front
mapping of members, domain set, range set
Back
The mapping of a function contains no ____________s, where a bound parameter is a name for a ____________. Every occurrence of a parameter is bound to a value from the ____________ and is a ____________ during evaluation
apply-to-all is a functional form that ____________________________________ and ________________________________________________
Front
takes a single function as a parameter, yields a list of values obtained by applying the given function to each element of a list of parameters
Back
Nonstrict languages can use an evaluation form called ____________, which means that expressions are evaluated only if and when their values are needed
Front
lazy evaluation
Back
A programming language is strict if it requires ____________________________________, which ensures that the value of a function does not depend on the order in which the parameters are evaluated
Front
all actual parameters to be fully evaluated
Back
Polymorphic programming language allows ____________________________________
Front
routines to use variables of different types at different times
Back
There are three characteristics of Haskell: (1) functions in Haskell can be ____________ (2) ____________s used in Haskell (3) Haskell is a pure functional programming language, meaning it has no ____________s, no ____________s and no ____________s of any kind
Front
overloaded, nonstrict semantic, variable, assignment statement, side effect
Back
Lambda expressions describe ____________s, and they are applied to ____________(s) by placing the ____________(s) after the expression
((x) x x x)(2)
Front
nameless function, parameter, parameter
Back
A language is nonstrict if it does not have the strict requirement. Nonstrict languages are generally more ____________
Front
efficient
Back
What is referential transparency?
Front
In a functional programming language, the evaluation of a function always produces the same result given the same parameters
Back
A higher-order function or ____________, is one that either ________________________ or ________________________, or both
Front
functional form, takes functions as parameters, yields a function as its result
Back
One of the fundamental characteristics of mathematical functions is that the evaluation order of their mapping expressions is controlled by ____________ and ____________, rather than by the sequencing and iterative repetition that are common to programs written in the imperative programming languages
Front
recursion, conditional expression
Back
A ____________ specifies the parameter(s) and the mapping of a function
Front
lambda expression
Back
The objective of the design of a functional programming language is to ________________________ to the greatest extent possible