Digitool, Inc. MCL
Section
Home
Purchase
Download
Support
Contact
Site Map

Google
  Web digitool.com

MCL Specifications

MCL is an object-oriented dynamic programming language fully integrated with the Macintosh. It implements the current industry standard Common Lisp programming language and CLOS (as defined in Common Lisp: The Language, Second Edition). It includes: an incremental compiler which generates efficient native PowerPC code; a fully integrated emacs-like Lisp program editor; a window-based debugger; a source code stepper; a dynamic object inspector; smart Lisp programming tools; and an extensive library of CLOS objects including Macintosh user interface objects. Macintosh Common Lisp provides users with a rich set of "object-oriented dynamic language" attributes making it especially well-suited for rapid prototyping, custom development for business and education, scientific and engineering applications and academic research.

MCL 4.3.1 is the latest PowerPC-native release of MCL. MCL 3.4 is the latest (and final) 68K-native release. MCL 4.x includes a number of important features. Comparative benchmarks between MCL 4.0, MCL-PPC 3.9, MCL-68K 3.0, and MCL-68K 2.0.1 can be found here.

MCL works with Macintosh OS versions 7.5 through 9.0.4; a version for MacOS X is currently in development.

With MCL, you get full access to the Mac toolbox, an object-oriented framework and interactive interface builder for rapid design, and a CD-ROM with over 120Mb of free contributed code and documentation. You can build a stand-alone double-clickable Macintosh application using less than 1.5MB of disk space which can be run with 3MB or more of RAM on any Macintosh (System 7.5 or better).


Features

Interactive dynamic environment

Incrementally compile new code and try it out in seconds, no long wait for compiling and linking

CLOS, the standard Common Lisp object system

Provides the full power of object-oriented programming: polymorphism, multiple inheritance, introspective functions, the ability to inspect and redefine classes on the fly

Multiple processes

Allows for the development of true multi-tasking applications

Automatic memory management and self-typing data

Increases safety and robustness, helps avoid many common programming bugs such as dangling references and memory leaks, space is automatically reclaimed

Sophisticated error handling

Provides graceful recovery from errors using a condition-based error handling system

Compiler generates fast PowerPC code

Allows projects to be taken from prototyping to delivery without recoding

Ephemeral garbage collector

Hides most memory management overhead from users of applications created with MCL; unneeded data is collected incrementally

Smaller application footprint

Distributable applications can be 500-800K smaller than their Lisp Development System counterparts (Currently only with 68K version).

Complies with Common Lisp industry standard

Allows source code to be moved to and from Common Lisp environments on all major platforms

Smart programmable tools

Tools such as an EMACS-like editor, a code stepper, stack backtrace, and data inspectors assist in creating, modifying, and debugging code in an integrated environment

Full Macintosh support

  • MCL Macintosh Toolbox class library: provides high-level objects implementing Macintosh user interface features and offers low-level access to all System 7 facilities
  • Interactive interface toolkit: allows creation and editing of Macintosh user interface components simply by clicking and dragging
  • Foreign function interface: supports use of functions created with MPW languages including C, Pascal, and Assembler
  • Support for Apple Computer's WorldScript with bi-directional text and double-byte character sets


System requirements

  • MCL 4.3.1: Any Power Macintosh computer with at least 8 MB of available RAM and 20 MB of disk storage available. Macintosh System 7.5 or later. A CD-ROM drive is required.
  • MCL 3.4: Any Macintosh computer with at least 5 MB of RAM and 15 MB of disk storage available. Macintosh System 7.5 or later. A CD-ROM drive is required.

MCL 4.0 is a fast, feature-complete, and stable PowerPC-native implementation.


MCL 4.0 Features

MCL 4.0 is the first full, performance-tuned release of the native PPC version of MCL.

Features of MCL 4.0 include:

  • PowerPC native code generation.
  • MCL 3.1 compatibility
  • Use of the shared library manager:
    • MCL 4.0 uses the shared library manager to talk to the Macintosh toolbox, just like a "regular" C program. Hence, it is very easy to use code not written in Lisp: just package it as a shared library and write DEFTRAP forms to describe the parameters.
  • Stacks implemented using MacOS thread manager:
    • MCL 4.0 stack groups are implemented using the MacOS thread manager. This eliminates the need to run traps and foreign function calls on a separate trap stack and allows callbacks to run with interrupts enabled.

Changes from 68K MCL 3.1:

  • Bigger array sizes:
    • MCL 3.1 has a maximum array size of 4 megabytes. MCL-PPC's maximum array size is 16 million elements. This is 64 megabytes for general arrays, or 8 million hash table entries.
  • Foreign Function Interface:
    • The foreign-function interface to native code is via shared libraries. FF-LOAD will be used only to load old 68K code for use via the mixed-mode manager (automatically done by defccallable and friends).
  • 68k LAP:
    • 68K LAP is no longer available. There is a newPowerPC lap. MCL's source code has much less lap than before; much of it has been converted to Lisp.


Made with MCL MCL and Macintosh Common Lisp are trademarks of Digitool, Inc.
Apple, the Apple logo, and Macintosh are trademarks of Apple Computer.
All other trademarks mentioned herein belong to their respective owners.
Last update: July 18, 2001
Copyright © 2000-2001
Digitool, Inc.
Web design by
David & Nick
Lamkins