Section 2.5 Flashcards

1
Q

A lambda expression is a ____ object.

A

syntactic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The purpose of denotational semantics is to assign mathematical ___ to expressions.

A

values

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

True or false: A lambda abstraction is a mathematical function.

A

False. A lambda abstraction can denote a mathematical function, but is not a function in of it self.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

The evaluation of a variable is determined by an ____.

A

environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

True or false: An environment maps variable names to lambda expressions.

A

False. An environment maps variable names to values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

True or false: A non-terminating computation can be assigned a value.

A

True.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

True or false: A strict function terminates whenever its arguments terminate.

A

False. A strict function is non-terminating whenever one of its arguments is non-terminating, but the inverse statement is not true. For example, consider the function that squares its argument forever.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

True or false: Interconvertible lambda expressions evaluate to the same value.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

True or false: Lambda expressions that evaluate to the same value are interconvertible.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Defining two functions as equal if their results are equal for all arguments is ____ equality.

A

extensional

How well did you know this?
1
Not at all
2
3
4
5
Perfectly