• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/7

Click to flip

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.