From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,aa54332c298ad7a7 X-Google-Attributes: gid103376,public From: ncohen@watson.ibm.com (Norman H. Cohen) Subject: Re: Garbage collection and controlled types (was Re: Java knocks the heck outa ...) Date: 1996/03/20 Message-ID: <4ip5qj$1fv2@watnews1.watson.ibm.com>#1/1 X-Deja-AN: 143209012 distribution: world references: organization: IBM T.J. Watson Research Center reply-to: ncohen@watson.ibm.com newsgroups: comp.lang.ada Date: 1996-03-20T00:00:00+00:00 List-Id: In article , eachus@spectre.mitre.org (Robert I. Eachus) writes: |> Yes, it is more work, but you probably have no idea how USEFUL it |> is to be able to back up the state of the computation. This is |> especially true if what you are trying to debug is a rare exception or |> the like. It is especially true if your program has just mistakenly launched an ICBM! But seriously, folks: This approach is in principle possible with certain well-contained applications such as compilers. It cannot apply to programs that alter the state of the world outside the program (especially in ways that are not easily reversible, e.g. by launching a missile or deleting a file); or that query aspects of that state that are changing independently of the program (e.g. the time of day or the contents of a shared data base). And in a multitask program it would be necessary to replay not only the actions of a particular task, but all the task scheduling events that determined how tasks were interleaved. -- Norman H. Cohen ncohen@watson.ibm.com