Dylan (programming language)

Dylan
Paradigmmulti-paradigm: functional, object-oriented
DeveloperOpen Source Community Apple Computer, Harlequin, Carnegie Mellon University
First appeared1992; 32 years ago (1992)
Stable release
2022.1 / November 28, 2022; 23 months ago (2022-11-28)
Typing disciplineStrong, gradual
PlatformIA-32, x86-64
OSCross-platform
Filename extensionsdylan, lid
Websiteopendylan.org
Major implementations
Open Dylan, Gwydion Dylan
Dialects
infix-dylan (AKA Dylan), prefix-dylan (historical only)
Influenced by
CLOS, ALGOL, Scheme, EuLisp
Influenced
Lasso, Python, Ruby, Julia[1]

Dylan is a multi-paradigm programming language that includes support for functional and object-oriented programming (OOP), and is dynamic and reflective while providing a programming model designed to support generating efficient machine code, including fine-grained control over dynamic and static behaviors. It was created in the early 1990s by a group led by Apple Computer.

Dylan derives from Scheme and Common Lisp and adds an integrated object system derived from the Common Lisp Object System (CLOS). In Dylan, all values (including numbers, characters, functions, and classes) are first-class objects. Dylan supports multiple inheritance, polymorphism, multiple dispatch, keyword arguments, object introspection, pattern-based syntax extension macros, and many other advanced features. Programs can express fine-grained control over dynamism, admitting programs that occupy a continuum between dynamic and static programming and supporting evolutionary development (allowing for rapid prototyping followed by incremental refinement and optimization).

Dylan's main design goal is to be a dynamic language well-suited for developing commercial software. Dylan attempts to address potential performance issues by introducing "natural" limits to the full flexibility of Lisp systems, allowing the compiler to clearly understand compilable units, such as libraries.

Dylan derives much of its semantics from Scheme and other Lisps; some Dylan implementations were initially built within extant Lisp systems. However, Dylan has an ALGOL-like syntax instead of a Lisp-like prefix syntax.

  1. ^ Stokel-Walker, Chris. "Julia: The Goldilocks language". Increment. Stripe. Retrieved 23 August 2020.