diff --git a/notes/mred/HISTORY b/notes/mred/HISTORY index 4778de87..b843092e 100644 --- a/notes/mred/HISTORY +++ b/notes/mred/HISTORY @@ -1,8 +1,91 @@ Version 100: August 9, 1999 -MAJOR revision: see MrEd_100.txt in the current directory. -The Engine-System distinction is gone. MrEd Engine is now MrEd. MrEd -System turned into the Framework libraries. +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 100 provides a REPL that matches +MrEd's language exactly. + +Porting to MrEd 100 +------------------- + +The remainder of this document provides an overview of MrEd 100 with +notes for porting MrEd 53 applications. Section 0 describes a few +highlights of the MrEd 100 revision. Section 1 shows the new +interface/class hierarchy for windows and a few other parts of the +toolbox. Section 2 lists the methods of the new interfaces and +classes. Section 3 lists the complete, new set of MrEd procedures, +showing the arguments for selected new procedures. Section 4 provides +a mapping from the old `wx:const-XXX' constants to the new +symbols. Finally, Section 5 lists some of the small, relatively +subtle, and potentially confusing changes in MrEd 100 (similar to +changes normally listed in the HISTORY notes). + +Further Details +--------------- + +See plt/notes/mred/MrEd_100.txt in the PLT distribution for further +details. ---------------------------------------------------------------------- diff --git a/notes/mred/MrEd_100.txt b/notes/mred/MrEd_100.txt index 6d907145..411a860c 100644 --- a/notes/mred/MrEd_100.txt +++ b/notes/mred/MrEd_100.txt @@ -1,89 +1,4 @@ - ****************** - * MrEd 100 * - ****************** - -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 100 provides a REPL that matches -MrEd's language exactly. - -Porting to MrEd 100 -------------------- - -The remainder of this document provides an overview of MrEd 100 with -notes for porting MrEd 53 applications. Section 0 describes a few -highlights of the MrEd 100 revision. Section 1 shows the new -interface/class hierarchy for windows and a few other parts of the -toolbox. Section 2 lists the methods of the new interfaces and -classes. Section 3 lists the complete, new set of MrEd procedures, -showing the arguments for selected new procedures. Section 4 provides -a mapping from the old `wx:const-XXX' constants to the new -symbols. Finally, Section 5 lists some of the small, relatively -subtle, and potentially confusing changes in MrEd 100 (similar to -changes normally listed in the HISTORY notes). - ====================================================================== 0. Highlights of the New MrEd Toolbox ======================================================================