Dylan programming language history first introduces the history with a continuous text. The second section gives a timeline overview of the history and present several milestones and watersheds. The third section presents quotations related to the history of the Dylan programming language.
Dylan was originally developed by Apple Cambridge, then a part of the Apple Advanced Technology Group (ATG). Its initial goal was to produce a new system programming application development programming language for the Apple Newton PDA, but soon it became clear that this would take too much time. Walter Smith developed NewtonScript for scripting and application development, and systems programming was done in the language C. Development continued on Dylan for the Macintosh. The group produced an early Technology Release of its Apple Dylan product, but the group was dismantled due to internal restructuring before they could finish any real usable products. According to Apple Confidential by Owen W. Linzmayer, the original code name for the Dylan project was Ralph, for Ralph Ellison, author of the novel Invisible Man , to reflect its status as a secret research project.
The initial killer application for Dylan was the Apple Newton PDA, but the initial implementation came too late for it. Also, the performance and size objectives were missed. So Dylan was retargeted toward a general computer programming audience. To compete in this market, it was decided to switch to infix notation.
Andrew Shalit (along with David A. Moon and Orca Starbuck) wrote the Dylan Reference Manual, which served as a basis for work at Harlequin and Carnegie Mellon University. When Apple Cambridge was closed, several members went to Harlequin, which produces a working compiler and development environment for Microsoft Windows. When Harlequin got bought and split, some of the developers founded Functional Objects. In 2003, the firm contributed its repository to the Dylan open source community. This repository was the foundation of the free and open-source software Dylan implementation Open Dylan.
In 2003, the Dylan community had already proven its engagement for Dylan. In summer 1998, the community took over the code from the Carnegie Mellon University (CMU) Dylan implementation named for the Gwydion project, and founded the open-source model project Gwydion Dylan. At that time, CMU had already stopped working at their Dylan implementation because Apple in its financial crisis could no longer sponsor the project. CMU thus shifted its research toward the mainstream and toward Java.
Today, Gwydion Dylan and Open Dylan are the only working Dylan compilers. While the first is still a Dylan-to-C compiler, Open Dylan produces native code for Intel processors. Open Dylan was designed to account for the Architecture Neutral Distribution Format (ANDF).
April 1992 | The first Dylan Language Specification is released. It proposes a Lisp-like syntax for the new language. |
September 1992 | Andrew L. M. Shalit, a member of the Apple Cambridge Research Laboratory, announces the creation of an electronic mailing list for discussion of the Dylan programming language. |
January 1993 | Jonathan Bachrach writes to comp.lang.dylan: "I am trying to start a Dylan programming revolution at my work." Scott Fahlman, the Dylan project leader at Carnegie Mellon replies: "The best strategy is probably to wait until Dylan is real (and maybe help it to become real)..." [1] |
April 1993 | Release of the first Dylan FAQ. |
September 1993 | Bachrach presents a High-Performance Dylan Implementation at the International Computer Music Conference at Waseda University. |
September 1993 | The first public domain Dylan compiler, written by Bachrach, is unveiled at MacWorld. "[H]e built the first implementation as a set of macros for the Python Lisp compiler. In the following months, the elements of his macro set were transformed from macros into Lisp, and later into Dylan itself." [2] |
June 1994 | Robert Stockton announces an online browsable version of the new Dylan Interim Reference Manual. At Carnegie Mellon, the Dylan project is called the Gwydion Project. Headed by Fahlmann, it includes many of the same people responsible for CMU Common Lisp. |
May 1994 | MacTech reports on the SFA meeting Atlanta: "Ike Nassi used to run Apple's Advanced Technology Group in Cambridge, Massachusetts, where Dylan originated. Now vice president of Apple's Development Products group, Nassi has made one of his goals the establishment of OODLs (object oriented dynamic languages) as a mainstream programming paradigm. He also stated that Dylan was "in use at Apple today". Andrew Shalitt stated that Dylan has moved into product development. It was hinted that third parties were at work on development environments; nothing specific was said about what such an environment might look like. Dylan received a new infix syntax. Syntax surveys were distributed at the conference to help the language designers finalize their decisions. Andrew's presentation included a number of examples of Dylan code." Quoted from MacTech [3] |
August 1994 | After Apple distributes Dylan CDs at WWDC, folk singer Bob Dylan sues Apple for trademark infringement. [4] |
October 1995 | It is announced that the Cambridge Dylan project will be terminated and its staff laid off. |
December 1995 | Russ Daniels, the interim Apple engineering manager for Dylan in Cupertino, announces that Digitool, Inc. will port Apple's Dylan Technology Release to PowerPC Macintosh Common Lisp (MCL). |
January 1996 | Apple shuts down the Cambridge R&D Group permanently. The site cambridge.apple.com disappears. |
August 1996 | Apple ships PowerPC-native Dylan (ported by Digitool). [5] |
September 1998 | Fahlman announces that Dylan has been turned over to Harlequin: "In fact, if not in theory, Dylan is now completely in Harlequin's hands. Apple is no longer involved with Dylan, nor is the CMU Gwydion project. Some dedicated volunteers are working to improve the Gwydion version, and there may still be a couple of one-person implementation efforts, but whatever Harlequin does will define what Dylan is. Harlequin wants Dylan to succeed, and presumably they will do the things that they think are most important for Dylan's acceptance." ( Scott Fahlmann on comp.lang.dylan ). [6] |
October 1998 | Harlequin Dylan 1.1 was announced at OOPSLA 1998 in Vancouver. |
1998/1999 | A group of volunteers picks up CMU's Gwydion sources. The website GwydionDylan becomes a base for Dylan enthusiasts. |
March 1999 | Andrew Shalit announced the Service Pack 1 for Harlequin Dylan 1.2 in the dylan newsgroup. |
September 1999 | Global Graphics, the new owner of Harlequin, Inc., announces the divestiture of Harlequin Dylan and the transfer of the product to Functional Objects. |
July 2000 | Functional Objects announces the availability of Functional Developer 2.0.1 and 2.0 service pack 1. |
2003 | Functional Objects opensources its internal Dylan repository to the Open Dylan Community. |
Dylan was created by the same group at Apple that was responsible for Macintosh Common Lisp. The first implementation had a Lisp-like syntax.
The acknowledgments from the First Dylan Manual (1992) states:
The two non-Apple collaborators were CMU Gwydion and Harlequin.
CMU still provide an information page about Gwydion.
The developers at the Cambridge lab and CMU thought they'd get better reception from the C/C++ community out there if they changed the syntax to make it look more like these languages.
Rob MacLachlan, at Carnegie Mellon during the Dylan project, from comp.lang.dylan:
Bruce Hoult replied:
Oliver Steele in a ll1-discuss:
Raffael Cavallaro once provided some insights:
Gabor Greif:
Oliver Steele:
From Mike Lockwood, a former member of the Apple Cambridge Labs (originally published on apple.computerhistory.org): [9]
Gary M. Palter about Functional Objects and the history of the Dylan project at Harlequin:
CMU's Gwydion Project became open source in 1998. Eric Kidd in a message to the Gwydion Hackers about the process:
The Gwydion website is http://www.gwydiondylan.org.
Before Functional Objects, formerly Harlequin Dylan, ceased operating in January 2006, they open sourced their repository in 2004 to Gwydion Dylan Maintainers. The repository included white papers, design papers, documentation once written for the commercial product, and the code for:
The project is now known as Open Dylan and its website is https://opendylan.org.
1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2(abandoned) | |||||||||||||||
Maclisp | |||||||||||||||
Interlisp | |||||||||||||||
MDL | |||||||||||||||
Lisp Machine Lisp | |||||||||||||||
Scheme | R5RS | R6RS | R7RS small | ||||||||||||
NIL | |||||||||||||||
ZIL (Zork Implementation Language) | |||||||||||||||
Franz Lisp | |||||||||||||||
Common Lisp | ANSI standard | ||||||||||||||
Le Lisp | |||||||||||||||
MIT Scheme | |||||||||||||||
XLISP | |||||||||||||||
T | |||||||||||||||
Chez Scheme | |||||||||||||||
Emacs Lisp | |||||||||||||||
AutoLISP | |||||||||||||||
PicoLisp | |||||||||||||||
Gambit | |||||||||||||||
EuLisp | |||||||||||||||
ISLISP | |||||||||||||||
OpenLisp | |||||||||||||||
PLT Scheme | Racket | ||||||||||||||
newLISP | |||||||||||||||
GNU Guile | |||||||||||||||
Visual LISP | |||||||||||||||
Clojure | |||||||||||||||
Arc | |||||||||||||||
LFE | |||||||||||||||
Hy | |||||||||||||||
Chialisp |
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ANSI INCITS 226-1994 (S2018). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from the ANSI Common Lisp standard.
Dylan is a multi-paradigm programming language that includes support for functional and object-oriented programming (OOP), and is dynamic and 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.
HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web.
Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in the late 1950s, it is the second-oldest high-level programming language still in common use, after Fortran. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Common Lisp, Scheme, Racket, and Clojure.
Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named after French mathematician, philosopher and physicist Blaise Pascal.
Maclisp is a programming language, a dialect of the language Lisp. It originated at the Massachusetts Institute of Technology's (MIT) Project MAC in the late 1960s and was based on Lisp 1.5. Richard Greenblatt was the main developer of the original codebase for the PDP-6; Jon L. White was responsible for its later maintenance and development. The name Maclisp began being used in the early 1970s to distinguish it from other forks of PDP-6 Lisp, notably BBN Lisp.
Carl Sassenrath is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga Computer operating system kernel, and he is the designer of the REBOL computer language, REBOL/IOS collaboration environment, the Safeworlds AltME private messaging system, and other products. Carl was a Principal Engineer at Roku, Inc. until his retirement in November 2023.
In computer programming, M-expressions were an early proposed syntax for the Lisp programming language, inspired by contemporary languages such as Fortran and ALGOL. The notation was never implemented into the language and, as such, it was never finalized.
CodeWarrior is an integrated development environment (IDE) published by NXP Semiconductors for editing, compiling, and debugging software for several microcontrollers and microprocessors and digital signal controllers used in embedded systems.
Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.
Harlequin was a technology company based in Cambridge, UK and Cambridge, Massachusetts. It specialized in application software for printing, graphics, law enforcement, artificial intelligence, and in implementations of programming languages. Harlequin employees sometimes referred to themselves as "The 'Late Binding' company" and the firm eventually evolved into a think tank for advanced technologies.
CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University.
Kaleida Labs, Inc., formed in 1991 to produce the multimedia cross-platform Kaleida Media Player and the object oriented scripting language ScriptX that was used to program its behavior. The system was aimed at the production of interactive CD ROM titles, an area of major effort in the early 1990s. When the system was delivered in 1994, it had relatively high system requirements and memory footprint, and lacked a native PowerPC version on the Mac platform. Around the same time, rapid changes in the market, especially the expansion of the World Wide Web and the Java programming language, pushed the interactive CD market into a niche role. The Kaleida platform failed to gain significant traction and the company was closed in 1996.
SK8 was a multimedia authoring environment developed in Apple's Advanced Technology Group from 1988 until 1997. It was described as "HyperCard on steroids", combining a version of HyperCard's HyperTalk programming language with a modern object-oriented application platform. The project's goal was to allow creative designers to create complex, stand-alone applications. The main components of SK8 included the object system, the programming language, the graphics and components libraries, and the Project Builder, an integrated development environment.
Interface Builder is a software development application for Apple's macOS operating system. It is part of Xcode, the Apple Developer developer's toolset. Interface Builder allows Cocoa and Carbon developers to create interfaces for applications using a graphical user interface. The resulting interface is stored as a .nib file, short for NeXT Interface Builder, or more recently, as an XML-based .xib file.
Hemlock is a free Emacs text editor for most POSIX-compliant Unix systems. It follows the tradition of the Lisp Machine editor ZWEI and the ITS/TOPS-20 implementation of Emacs, but differs from XEmacs or GNU Emacs, the most popular Emacs variants, in that it is written in Common Lisp rather than Emacs Lisp and C—although it borrows features from the later editors. Hemlock was originally written by the CMU Spice project in Spice Lisp for the PERQ computer.
LispWorks is computer software, a proprietary implementation and integrated development environment (IDE) for the programming language Common Lisp. LispWorks was developed by the UK software company Harlequin Ltd., and first published in 1989. Harlequin ultimately spun off its Lisp division as Xanalys Ltd., which took over management and rights to LispWorks. In January 2005, the Xanalys Lisp team formed LispWorks Ltd. to market, develop, and support the software.
Apple Dylan is the original implementation of the programming language Dylan. It was developed by Apple Computer from 1992 to 1995.
FutureBasic is a free BASIC compiler for Apple Inc.'s Macintosh.
Macintosh Common Lisp (MCL) is an implementation and IDE for the Common Lisp programming language. Various versions of MCL run under the classic Mac OS and Mac OS X.