Measures Concepts
GitHub icon

Dylan

Dylan - Programming language

< >

Dylan is a programming language created in 1992.

#152on PLDB 32Years Old 150Repos

Try now: Web · Riju

Dylan is a multi-paradigm programming language that includes support for functional and object-oriented programming, and is dynamic and reflective while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors. It was created in the early 1990s by a group led by Apple Computer. A concise and thorough overview of the language may be found in the Dylan Reference Manual. Read more on Wikipedia...


Example from Riju:
Module: main define function main (name :: <string>, arguments :: <vector>) format-out("Hello, world!\n"); exit-application(0); end function main; main(application-name(), application-arguments());
Example from hello-world:
define method main (#rest args) princ("Hello World"); end; main();
module: hello-world author: Homer copyright: (c) 1994 Homer version: 1.0 // Hello World in DYLAN define method main (#rest args) princ("Hello world!"); end; main();
Example from Wikipedia:
define method turn-blue (w :: <window>) w.color := $blue; end method;
Dylan Keywords
local in end below until from then for use case elseif else by cleanup finally when begin above select let if otherwise signal afterwards unless while define rename create to export

Language features

Feature Supported Token Example
Macros ✓
define macro table
  { table(?table-class:expression, ?table-contents) }
    => { let ht = make(?table-class); ?table-contents; ht; }
  { table(?rest:*) } => { table(, ?rest); }

  table-contents:
  { } => { }
  { ?key:expression => ?value:expression, ... }
    => { ht[?key] := ?value; ... }
end macro table
Conditionals ✓
While Loops ✓
Strings ✓ "
"Hello world"
Assignment ✓ :=
Line Comments ✓ //
// A comment
Multiple Inheritance ✓
Comments ✓
Multiple Dispatch ✓
Semantic Indentation X

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Day 605 · feedback@pldb.io · Logout