Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Dylan

< >

Dylan is a programming language created in 1992.

#412on PLDB 32Years Old 150Repos
Homepage · REPL · Wikipedia · Docs

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 Example Token
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

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements