Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Dylan (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Multi-paradigm programming language}} {{more citations needed|date=June 2013}} {{Infobox programming language | name = Dylan | logo = Dylan logo.png | paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Functional programming|functional]], [[Object-oriented programming|object-oriented]] | released = {{Start date and age|1992}} | designer = | developer = [[Open Source Community]] [[Apple Computer]], [[Harlequin (software company)|Harlequin]], [[Carnegie Mellon University]] | latest release version = 2022.1 | latest release date = {{Start date and age|2022|11|28}} | typing = [[Strong and weak typing|Strong]], [[Gradual typing|gradual]] | scope = | programming language = | platform = [[IA-32]], [[x86-64]] | operating system = [[Cross-platform software|Cross-platform]] | license = | file ext = dylan, lid | file format = <!-- or: | file formats = --> | website = {{URL|https://opendylan.org/}} | implementations = [https://opendylan.org/ Open Dylan], Gwydion Dylan | dialects = infix-dylan (AKA Dylan), prefix-dylan (historical only) | influenced by = [[Common Lisp Object System|CLOS]], [[ALGOL]], [[Scheme (programming language)|Scheme]], [[EuLisp]] | influenced = [[Lasso (programming language)|Lasso]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], [[Julia (programming language)|Julia]]<ref name="goldilocks">{{cite web |last1=Stokel-Walker |first1=Chris |title=Julia: The Goldilocks language |url=https://increment.com/programming-languages/goldilocks-language-history-of-julia/ |website=Increment |publisher=Stripe |access-date=23 August 2020}}</ref> }} '''Dylan''' is a multi-paradigm [[programming language]] that includes support for [[Functional programming|functional]] and [[object-oriented programming]] (OOP), and is [[Dynamic programming language|dynamic]] and [[Reflective programming|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 (programming language)|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 [[Class (computer programming)|classes]]) are [[first-class object]]s. Dylan supports [[multiple inheritance]], [[Polymorphism (computer science)|polymorphism]], [[multiple dispatch]], [[keyword argument]]s, object introspection, [[Pattern matching|pattern]]-based [[Syntactic macro|syntax extension macro]]s, 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 (programming language)|Lisp]] systems, allowing the [[compiler]] to clearly understand compilable units, such as [[Library (computing)|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)