|
Home
>
1. intro
>
1.1 'what is' about Dylan
>
1.1.3 What is out standing about Dylan?
|
Previous
Next
|
|
|
|
|
|
Amit Patel
|
many problems solved by complicated features in a purely object-oriented language
are solved by a rich set of non-object features such as
- modules
- first class functions
- abstract data types
- parameteric polymorphsim (generics)
[Patel does this statement in his theis about Obstacl, but
it true for Dylan as well.]
|
|
Douglas
Auclair's
|
Dylan, like other object-oriented programming languages (OOPLs), has classes,
objects, functions and data. But what separates Dylan from most other well-known
OOPLs is that it combines covariant and contravariant inheritance. "Balderdash!" you
exclaim; what does this mean? Dylan allows you to associate functions with classes
without damaging the preexisting class interface. This allows you to modify behavior
of built-in classes, of your own classes, and classes that you do not have the source
code. In other words, Dylan incorporates the Visitor(331) design pattern directly and
naturally.
|
|
Isaac Gouy
|
Behavior can be added to existing classes without subclassing or modifying the
source code of those classes. Access to the source code is not even required. This
is a direct result of the generic function object model.
|
|
Gregory
Sullivan
and
Jonathan
R.
Bachrach
|
Dylan is the most ambitious attempt to date to add modern syntactic extension
features to an infix language.
|
|
Ashley
Yakeley
|
In Dylan, everything is an object, a direct instance of exactly one class.
Dylan has union types, limited types and singletons, all of which can be used as
variable and constant types and specialising types in generic functions and
methods.
Dylan has libraries for hiding implementations, and the ability to seal classes,
generic functions and domains of generic functions to those libraries.
Dylan has no previous language legacy to support.
|
|
Jason
Trenouth
|
Interactive programming languages like Dylan, Common Lisp and Smalltalk provide
the kind of immediate feedback that emancipates developers and frees them to roam
over the application space without being constrained by having to build custom test
beds or utilize restricted scripting languages.
|
|
|
|
|
|