+------------------------------------------------------------------------------+
|                         The Ivy Programming Language                         |
|                   ........................................                   |
|                        Standard Library Specification                        |
+------------------------------------------------------------------------------+

version: 1.0

1 Introduction
==============

   This document provides an overview of the packages, classes, and objects that
   are included as part of the Ivy standard library


3 std.lang
==========

   This package contains all of the "built-in" classes, such as String,
   Package, etc.

   This package is always included by default for all Ivy source files, so
   there is no need to include a `use std.lang` statement.


   3.1 Object
   ----------

   Messages:

      -is:
      -implements:
      -responds-to:
      -does-not-understand(selector:args:)
      -send-msg(selector:args:)
      -to-string


   3.2 Int
   -------

   Messages:

      +parse:
      -to:
      -to:step:
      -to:step:do:


   3.3 String
   ----------

   Messages:

      -size
      -uppercase
      -lowercase
      -append:
      -prepend:
      -at:insert:
      -contains:
      -iterator


   3.4 Bool
   --------

   Messages:

      -if:
      -if:else:


   3.5 Package
   -----------

   Messages:

      -size
      -exists:
      -at:
      -at:put:
      -map:
      -select:
      -select:collect:
      -iterator


   3.6 Iterator
   ------------

   Messages:

      -value
      -move-next
      -select:
      -select:collect:
      -iterator


   3.7 Lambda
   ----------

   Messages:

      -arg-count
      -call
      -call:
      -call(_:_:)
      -call(_:_:_:)
      -call(_:_:_:_:)
      -call(args:)
      -on:do:
      -if:
      -unless:


   3.8 Selector
   ------------

   Messages:

      +parse:


   3.9 Error
   ---------

   Messages:

      -msg
      -data
      -with-msg:and-data:


4 std.io
========

  This package includes classes for performing IO operations, including
  reading/writing to the terminals, files, etc.

  This package also includes the cin, cout, and cerr objects that point
  to standard in, standard out, and standard error respectively.


vim: shiftwidth=3 expandtab
