************************* Dylan Language Extensions ************************* .. TODO: how do the ../dylan/ documents (finalization, primitives, threads) fit in? .. current-library:: common-dylan .. current-module:: common-dylan The Dylan language is described in the :drm:`Dylan Reference Manual ` by Andrew Shalit (Addison-Wesley, 1996), hereafter referred to as "the DRM". The ways in which Open Dylan differs from the DRM are documented in :doc:`language-differences`. The rest of this document describes features added to the language while retaining compatibility with the DRM. These extensions are either built in to the ``dylan`` library or are available in a separate library, :doc:`common-dylan <../common-dylan/index>`. The :doc:`common-dylan <../common-dylan/index>` library exports the :mod:`common-dylan:common-dylan` module and several other very frequently used modules. The majority of the extensions are in the :doc:`common-extensions <../common-dylan/common-extensions>` module of the :doc:`common-dylan <../common-dylan/index>` library. That library also exports a number of smaller modules that contain other basic facilities such as :doc:`simplified formatting <../common-dylan/simple-format>`, :doc:`pseudo-random integer generation <../common-dylan/simple-random>`, and :doc:`object finalization <../dylan/finalization>`. Open Dylan provides a convenience library, ``common-dylan``, that combines the ``dylan`` and ``common-extensions`` modules to provide a convenient "dialect" of Dylan, exported from the module ``common-dylan``: .. code-block:: dylan define library common-dylan use dylan, export: all; use common-extensions, export: all; export common-dylan; end module; define module common-dylan use dylan, export: all; use common-extensions, export: all; end module; This section describes Dylan language extensions, that is, extensions made to the Dylan library, and to the base language syntax, as they are defined in the DRM. These extensions are available to applications in the ``dylan`` library's ``dylan`` module. .. toctree:: :titlesonly: language-differences define-function for-iteration weak-tables inlining numbers object-with-elements macro-system-extensions parser-expansions alternative-curry-syntax numeric-literals string-literals All the other language extensions are described in :doc:`../common-dylan/index`.