Objects are the data that Magpie programs operate on. They are the nouns of the language. An address or a phone number is an object, as is a spaceship in a game, or an HTTP request in a web app. Magpie is a "pure" object-oriented language in that all values are represented by objects. Numbers, strings, and boolean values are objects, as are functions, classes, chunks of code, the special value nothing, and even types. The whole kit and caboodle.

Every object in Magpie is an instance of some class. Magpie has several built-in classes that deserve special attention and that you'll use to as the building blocks for your own classes. They are:

  1. Primitives
  2. Records
  3. Lists
  4. Functions