Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
7 Cards in this Set
- Front
- Back
Thunk
|
When we use a zeroargument function to delay evaluation we call the function a thunk. You can even say, “thunk the argument” to mean “use (lambda () e) instead of e”.
|
|
Call-by-need
|
If an argument is never used it is never evaluated, else it is evaluated only once.
|
|
Call-by-value
|
Arguments are fully evaluated before the call is made
|
|
Stream
|
A stream is an infinite sequence of values.
|
|
Memoization
|
An idiom related to lazy evaluation that does not actually use thunks is memoization.To implement memoization we do use mutation
|
|
Macro definition
|
A macro definition introduces some new syntax into the language. It describes how to transform the new syntax into different syntax in the language itself.
|
|
Macro expansion
|
The semantics of a macro use is to replace the macro use with the appropriate syntax as defined by the macro definition. This process is often called macro expansion because it is common but not required that the syntactic transformation produces a larger amount of code.
|