Harlequin - Dylan Statement of Direction 
Author Message
 Harlequin - Dylan Statement of Direction

The following statement of direction is being prepared for our web
site and will appear there shortly.

Clive Harris
Product Marketing Manager

Dylan(TM) at Harlequin                                  

Statement of Direction
Dylan is a next-generation, dynamic, object-oriented programming
language which brings a unique slant to the software development
debate, in a commercial space where issues of heterogeneity,
distribution and reuse add new dimensions to the programming language

In Fall 1997, Harlequin will release the worlds first
industrial-strength implementation of this formidable language, which
will offer close integration with the widespread interoperability
technologies mandated in todays increasingly distributed

The Language
Dylan brings a fresh and unique perspective to bear upon some of the
very real problems routinely faced by all systems developers today.
Combining the best facilities of late-binding languages like Smalltalk
and static languages like C and C++, Dylan offers an unparalleled
combination of features. For the first time, programmers have access
to a language that is efficient, robust and dynamic and which affords
them the flexibility to effectively harness the numerous technologies
which must combine to deliver todays systems.

Dylans _language_ design goals are simple:

Promote modular, reusable, component-oriented programs
Dylan is an object-oriented language. Programs create and use objects,
and they use classes to categorize and abstract attributes of objects.

Abstraction of common attributes and methods in superclasses lets you
reuse code, rather than reimplement it, for subclasses. By defining a
subclass, you can add specialized data or behavior while having the
subclass inherit attributes of superclasses, which may be defined in
another component or library, or in Dylan itself.

Generic functions constitute abstract interfaces for specific
operations. You can change the implementation of an operation or a
data representation without changing the interface to the operation.
In this way, you can change an implementation without changing the
functions or objects that use the implementation. These functions or
objects may be defined in another component or library.

Dylan provides large-scale variable namespaces, called modules. A
module can include or use other modules, but only the variable
explicitly exported from those modules are visible to it. Modules
provide public and private global variables. Because functions and
classes, as well as data, are variable values, modules define external
interfaces for collections of classes and generic functions.

Support powerful and familiar programming concepts
Dylans syntax encourages clear and well structured programming. It
includes familiar, economical notation for infix operators and slot
and array references, and offers an intuitive, descriptive style of
programming which is both easy to learn and easy to read.

Encourage rapid and productive development of programs
Dylan promotes rapid development and evolutionary refinement of
complex applications. The language encourages developers to spend time
early in the cycle writing and experimenting with substantive, working
code, and not worrying about distracting issues such as memory
management and exact type specifications.

Permit delivery of safe, fast, efficient, compact applications
Languages that provide run-time flexibility have usually paid a price
in decreased performance and increased application size. With Dylan
however, the programmer has precise control of the degree to which
deployed applications retain this flexibility, and can thereby achieve
a unique blend of performance and dynamism - implemented via a process
known as 'sealing.'

Dylan therefore delivers the compelling benefits associated with
dynamic languages like Smalltalk, while compiling down to the lean and
efficient runtime executables more usually associated with languages
like C or C++.

Harlequins implementation of Dylan provides automatic storage
management, utilizing unique, world-class technology developed over
many years. Developers can create and use objects freely, even in
complex algorithms, where control flow may make it difficult to
understand when an object is no longer needed. Explicit allocation or
deallocation of memory is no longer required, and programmers do not
have to worry about failing to free unused memory or referring to
memory that has already been freed.

The Product
Harlequin is implementing a commercial, industrial strength version of
Dylan, supported by a powerful, interactive development environment -
initially for Windows 95 and Windows NT. Harlequins vision extends
the language definition by delivering additional key technologies
which are vital to the successful execution of commercial developments

No language is an island unto itself - it is very rare for any
commercial application to be developed without the need to leverage
existing code and components in some way. Application programmers need
an efficient and effective means to allow them to develop new code in
Dylan while utilizing pre-written code in the form of foreign
components, libraries or other subsystems. Harlequins initial
implementation of Dylan therefore contains powerful and complete
techniques for interoperating with a variety of commercial

*       OLE/ActiveX interoperability and component generation
*       Java interoperability
*       DLL interoperability and library generation
*       Networking support
*       Comprehensive API to common programming languages
*       Full access to RDBMSs via ODBC
*       Sophisticated GUI framework encapsulating calls to native
        Windows graphics API
*       CORBA support - interoperability with any CORBA-compliant

Future versions will facilitate extended support for these and other
technologies across multiple platforms and architectures.

Dylans support for productivity while 'programming in the large'
mandates an incremental, iterative style of software development which
supports the evolution of successive prototypes from a primitive to
feature and quality complete state - a style greatly facilitated by
Harlequins incremental Dylan compiler and powerful programming

Harlequins implementation of Dylan is integrated with a dynamic
development environment - allowing changes to occur 'on the fly' while
an application is under development, without compromising deployed
runtime efficiency. It accomplishes this by means of some support from
the language itself, together with the notion of a 'tether' which
effectively separates the address space of the development environment
from that of the runtime application. Changes to both code and data
can thus be passed along the tether to an executing program,
accelerating the development cycle and permitting a vastly superior
mode of interactive debugging and iterative development.

Tether technology supports several modes of operation and fully
supports operation across the Internet and other wide and local area
networks. This combination of features was demonstrated at Object
World West in August 1996, where an OLE component running inside
Microsoft Word was modified on the fly, without restarting it, via a
functionality change downloaded along the tether.

Incrementality and interactivity combine to offer benefits far beyond
the simple effect of reducing the compile-link-edit-test cycle. In
many situations, the time taken to restore an application under test
to its correct pre-test state can be considerable - compile, link,
run, navigate to test state. Using Dylans advanced features, an
application under test can remain executing permanently - changes to
the executable can be dynamically fed through the tether via
incremental compilation, and changes to the state of the data via
Harlequins interactive debugging model. This combination of
technologies is unique to Harlequin and greatly improves the testing

Product Configurations
To better serve more types of customers and to make Dylan as
accessible as possible to the widest audience, Harlequin intends to
release (at least) three product configurations: Personal,
Professional and Enterprise. (Features indicated are guidelines only
and correspond to the commercial, launched product, and not
pre-release or Beta software.)

Personal Edition
The entry level product will consist of a robust, incremental,
multi-threaded compiler, together with a powerful, dynamic development
environment and an assortment of supporting libraries. An integrated
editor, de{*filter*} and linker facilitate the delivery of EXE and DLL
format executables, while a sophisticated GUI framework encapsulates
the graphical Windows API within a Dylan context.

Harlequin anticipates that the Personal Edition will be popular with
customers who are very interested in the Dylan language itself, or
those who wish to deliver and deploy standalone applications. It will
be easily affordable by anyone who can afford to own a computer
running Windows 95 or Windows NT.

Professional Edition
The Professional Edition extends the Personal Edition with the
addition of a large layer of interoperability technologies such as
OLE/ActiveX support, ODBC connectivity to relational databases, a set
of networking libraries ...

read more »

Sun, 05 Sep 1999 03:00:00 GMT  
 Harlequin - Dylan Statement of Direction

  The following statement of direction is being prepared for our web
  site and will appear there shortly.

  Clive Harris
  Product Marketing Manager

  Dylan(TM) at Harlequin

<Lots of great stuff and good info>
What a sad state of affairs. The following says it all. I?know its
necessary, but its still sad :=(

  Dylan is a trademark of Apple Computer Inc. Windows and Windows NT
  trademarks of Microsoft Corporation. All other brand or product
  are the trademarks or registered trademarks of their respective

I certainly hope the Harlequin folks have more luck with the Visual
Basic crowd than ParcPlace/Digitalk did with Smalltalk - incredible
cosmic power, itity-bity living space

Sat, 11 Sep 1999 03:00:00 GMT  
 [ 2 post ] 

 Relevant Pages 

1. (fwd) harlequin's dylan-corba mailing list switching to MIT's info-dylan

2. Dylan and Java [was: Harlequin Dylan - Update]


4. Small d2c and Harlequin Dylan incompatibility

5. first attempt at Harlequin-Dylan

6. Functional Objects to take over Harlequin Dylan

7. Harlequin Dylan 2.0 beta 2 is now available

8. Future of Harlequin Dylan

9. ODBC database with Harlequin Dylan

10. Harlequin Dylan Update

11. using winInet with harlequin dylan

12. Beginners problem with Harlequin Dylan


Powered by phpBB® Forum Software