• 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
It is a zero argument function. We do not evaluate the expression now, we do it later when/if the function is called.
Call-by-need
The idea is to use mutation to remember the result from the first time we use the thunk so that we do not need to use the thunk again.
Call-by-value
Arguments are fully evaluated before the call is made.
Stream
An infinite sequence of values.
Memoization
An idiom related to lazy evaluation that does not actually use thunks is memoization.



If a function does nothave side-effects, then if we call it multiple times with the same argument(s), we do not actually have to dothe call more than once. Instead, we can look up what the answer was the first time we called the functionwith the argument(s).

Macro definition
A macro definition introduces some new syntax into the language. It describes how to transform the newsyntax into different syntax in the language itself.
Macro expansion
The process that replace the macro use with the appropriate syntax as defined by the macro definition.