From: steck@rice.edu (Paul Steckler) Newsgroups: comp.lang.scheme Date: 1999/07/15 Subject: DrScheme v100alpha4 released DrScheme version 100alpha4 is now available from the Rice University Department of Computer Science Web site, http://www.cs.rice.edu/CS/PLT/packages/100alpha4/. DrScheme is a graphical development environment for Scheme. It runs under Windows 95/NT, MacOS, and X Windows. The underlying Scheme implementation is MzScheme. DrScheme version 100alpha4 is a test release for the successor of DrScheme version 53. In 100alpha4, DrScheme’s languages and libraries are simpler, online help is much improved, the memory footprint is smaller, and the MacOS implementation is stable. DrScheme 100 also provides a new evaluation stepper that works with the Beginner language. Here are the release notes for DrScheme 100alpha4: About 100alpha4 =============== Released July 15, 1999. DrScheme -------- DrScheme’s languages have changed. The new languages are: - Beginner - Intermediate - Advanced - MzScheme - MrEd The first three languages are essentially the same as in version 53, except that graphics primitives have been removed. (Instead, domain-specific graphics commands can be loaded as libraries.) The turtles remain in the advanced language. The latter two languages match exactly the languages provided by the MzScheme and MrEd executables. Besides the language changes, improved online help, and the new stepper, little has changed in DrScheme’s interface. Its memory footprint is smaller, and the MacOS implementation is finally stable. Other than bug-fixes, the only changes to DrScheme since 100alpha3 are: - improved turtles, and - added `true’ and `false’ as synonyms for #t and #f. Stepper ------- A simple algebraic stepper, dubbed The Foot, is now available. The Foot permits users to construct a source-level evaluation trace for programs written in the Beginner language. It will be expanded in future releases. Help Desk ---------- Help Desk is the new PLT program for browsing and searching the documentation. For example, typing "append" into Help Desk’s search field produces In r5rs: (append list ...) in "R5RS - Pairs and lists" (string-append string ...) in "R5RS - Strings" In mzscheme: (append! list ...1) in "Lists" ’append in "Opening File Ports" In mred: (send a-list-box append item data) in "append" ... where each search result is a hyperlink into the documentation. Help Desk runs by itself or within DrScheme (via the `Help’ menu). MysterX ------- MysterX turns MzScheme (or MrEd) into an ActiveX container. MysterX enables Scheme programs to communicate with ActiveX objects interactively---without IDL files or an external compiler---by using OLE Automation (i.e., the IDispatch interface). MysterX also offers a Scheme interface to Dynamic HTML. MysterX runs only under Windows and requires Internet Explorer 4. For documentation, search for "mysterx" in Help Desk. Errortrace ---------- Errortrace is a Poor Man’s debugger that displays a "stack trace" for unhandled exceptions. Errortrace is quite limited, but still useful; a full debugger within DrScheme is imminent. For documentation, search for "errortrace" in Help Desk. MzScheme Improvements --------------------- MzScheme version 100alpha4 is a maintenance release of MzScheme. As usual, a few things have changed (e.g., the `class’ form), but most things have not. The release notes are on the web page: http://www.cs.rice.edu/CS/PLT/packages/100alpha4/ MzScheme 100alpha4 compiles for BeOS R3/R4 and compiles to x86 kernel form using OSKit. MzScheme users who have eschewed previous versions of MrEd should check out MrEd 100alpha4, which is faster, lighter, cleaner, and better documented. MrEd Improvements ----------------- The release notes for the last few releases of MrEd have included the following warning: IMPORTANT: Expect major changes in the MrEd toolbox with version XXX. The major changes are here; MrEd 100 is a dramatic improvement over MrEd 53, but also thoroughly incompatible with previous releases (hence the jump in the version number). The extended description below was excerpted from the MrEd 100alpha4 release notes. For the complete notes, see the web page: http://www.cs.rice.edu/CS/PLT/packages/100alpha4/ ================================================================== MrEd 100 is the successor to MrEd 53. For MrEd 100, we preserved the underlying windowing model, but redesigned the GUI toolbox interface to make it simpler and more Scheme-like. Every MrEd 53 program requires substantial changes to run in MrEd 100. The revised interface makes MrEd more accessible to new users: class and method names are more consistent; useless and redundant methods have been eliminated; and methods check their arguments more precisely. Key portions of the documentation have been re-written, and a new help system called "Help Desk" makes locating information much easier than before. The implementation behind the revised interface is reliable. Whereas previous versions of MrEd were plagued by bugs and inconsistently implemented features, the new interface is consistently implemented across platforms and thoroughly tested. Of course, bugs will always slip through, but MrEd 100 is far more robust than its predecessors as a result of a cleaner implementation and a new testing process. New Application Architecture ---------------------------- MrEd 53 comprised two parts: * a core toolbox (containing names prefixed with `wx:’) that was too primitive for real programming (notably, no geometry management); and * an application framework (containing names prefixed with `mred:’) that provided crucial functionality (notably, windows with geometry management) but also much more, making it too heavyweight for simple GUI programs. For MrEd 100, we moved the boundary between the core toolbox and the application framework. The name "MrEd" now refers to only the core toolbox, but the core toolbox now includes the most useful `mred:’ classes from the old application framework. While merging the `wx:’ and `mred:’ classes, we eliminated the prefixes. All of the core toolbox classes are built into the MrEd executable. The old `mred:’ classes that are not part of the core toolbox have been moved into a separate framework library. The framework library is designed for use in large and polished applications (as opposed to small or prototype applications), and particularly in applications that require coordinated groups of frames, editor frames with searching, or user preference dialogs. Running MrEd and Developing MrEd Applications --------------------------------------------- MrEd 100 is more consistent with MzScheme than previous releases. The default language for MrEd 100 is the same as MzScheme’s default language. In contrast, MrEd 53’s language had different case-sensitivity and cond-fallthrough behavior. Command-line handling for MrEd 100 is nearly the same as for MzScheme; the only difference is that MrEd executes `(graphical-read-eval-print-loop)’ on startup instead of `(read-eval-print-loop)’. MrEd 100 programmers do not need to understand units and collections to implement a simple GUI application. MrEd’s `graphical-read-eval-print-loop’ implements a rather primitive REPL, unlike the relatively useful REPL provided by the old MrEd toolbox-framework combination. MrEd 100 provides no replacement for the old REPL. Instead, DrScheme provides a REPL that matches MrEd’s language exactly. ================================================================== Enjoy ... -- Paul ---------------------------------------------------------------- | Paul Steckler | Rice University PLT | | steck@cs.rice.edu | DrScheme Project | | Tel: 713/527-8101x3814 | http://www.cs.rice.edu/~steck | | FAX: 713/285-5930 | *** Ad astra per hackera *** | ----------------------------------------------------------------