5 ms·
Dylan (originally called Ralph) was basically Scheme plus a subset of CLOS. It also had some features meant to make it easier to generate small, fast artifacts-
by mikelevins 7y ago
Dylan (originally called Ralph) was basically Scheme plus a subset of CLOS. It also had some features meant to make it easier to generate small, fast artifacts--for example, it had a module system, and separately-compiled libraries, and a concept of "sealing" by which you could promise the compiler that certain things in the library would not change at runtime, so that certain kinds of optimizations could safely be performed.
Lisp and Smalltalk were indeed used by a bunch of people at Apple at that time, mostly in the Advanced Technology Group. In fact, the reason Dylan existed was that ATG was looking for a Lisp-like or Smalltalk-like language they could use for prototyping. There was a perception that anything produced by ATG would probably have to be rewritten from scratch in C, and that created a barrier to adoption. ATG wanted to be able to produce artifacts that the rest of the company would be comfortable shipping in products, without giving up the advantages of Lisp and Smalltalk. Dylan was designed to those requirements.
It was designed by Apple Cambridge, which was populated by programmers from Coral Software. Coral had created Coral Common Lisp, which later became Macintosh Common Lisp, and, still later, evolved into Clozure Common Lisp. Coral Lisp was very small for a Common Lisp implementation and fast. It had great support for the Mac Toolbox, all of which undoubtedly influenced Apple's decision to buy Coral.
Newton used the new language to write the initial OS for its novel mobile computer platform, but John Scully told them to knock it off and rewrite it in C++. There's all sorts of gossipy stuff about that sequence of events, but I don't know enough facts to tell those stories. The switch to C++ wasn't because Dylan software couldn't run in 640K, though; it ran fine. I had it running on Newton hardware every day for a couple of years.
Alan Kay was around Apple then, and seemed to be interested in pretty much everything.
Larry Tesler was in charge of the Newton group when I joined. After Scully told Larry to make the Newton team rewrite their OS in C++, Larry asked me and a couple of other Lisp hackers to "see what we could do" with Dylan on the Newton. We wrote an OS. It worked pretty well, but Apple was always going to ship the C++ OS that Scully ordered.
Larry joined our team as a programmer for the first six weeks. I found him great to work with. He had a six-week sabbatical coming when Scully ordered the rewrite, so Larry took his sabbatical with us, writing code for our experimental Lisp OS.
Apple built a bunch of other interesting stuff in Lisp, including SK8. SK8 was a radical application builder that has been described as "HyperCard on Steroids". It was much more flexible and powerful than either HyperCard or Interface Builder, but Apple never figured out what to do with it. Heck, Apple couldn't figure out what to do with HyperCard, either.
- lispm 7y agoThat was definitely very cool: Larry Tesler joining the Dylan hackers in his sabbatical.
- mikelevins 7y agoAs I said, he was really great to work with. He wrote the initial draft of the simple frame language that bauhaus used for "intelligent assistance". He was a capable Lisp hacker, and a big fan of Lisp and Smalltalk. He's also just one of the nicest people I've ever met. He left Apple some time around when Steve Jobs returned. I don't know why why he left, but I wouldn't be surprised if Steve had something to do with it. I worked for Steve at NeXT for a little while, and he came and sat in my office one day and went on at length about everything that was wrong with Apple in his view. Prominent on his list were the Advanced Technology Group and the Human Interface Group. Larry was involved one way or another with both of those institutions, and Steve wasted no time getting rid of them when he took over again.
- lispm 7y agoFrom me being far away: ATG was one of the things which made Apple cool.
- mikelevins 7y agoI agree; it was. I think firing the Human Interface Group was a mistake, too. I think the usability of Apple's products has suffered, and so has the usability of technology products in general.
- lispm 7y agoHow do you feel about it? I had a bunch of Newton MessagePad and the 2100 model was especially great. The MessagePad UI was not in color and was less animated than something like the early released iPhone or iPad. Okay, probably hardware limitations of the time: screen price, lower power draw, less powerful graphics processing, ... I always found the UI model of the iPhone (and iPad) limited to what the Newton MessagePad did. It is still boring in the main OS screens. Was it to reach mass market? was it a conscious choice? or was it the non-dynamic programming system introduced with the iPhone, which limits the experience?