From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA17598; Fri, 28 Sep 2001 17:27:06 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA17579 for ; Fri, 28 Sep 2001 17:27:05 +0200 (MET DST) Received: from mail.cs.uu.nl (sunset.cs.uu.nl [131.211.80.32]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f8SFR4r21324 for ; Fri, 28 Sep 2001 17:27:04 +0200 (MET DST) Received: from silvester.cs.uu.nl (silvester.cs.uu.nl [131.211.80.119]) by mail.cs.uu.nl (Postfix) with SMTP id 2BA224535; Fri, 28 Sep 2001 17:24:29 +0200 (MET DST) Received: by silvester.cs.uu.nl (sSMTP sendmail emulation); Fri, 28 Sep 2001 17:24:28 +0200 Date: Fri, 28 Sep 2001 17:24:28 +0200 From: Frank Atanassow To: David McClain Cc: caml-list@inria.fr Subject: Re: [Caml-list] Error Reporting Message-ID: <20010928172428.A28073@cs.uu.nl> References: <001c01c14794$230b4e80$210148bf@dylan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <001c01c14794$230b4e80$210148bf@dylan>; from barabh@qwest.net on Thu, Sep 27, 2001 at 01:36:49PM -0700 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk David McClain wrote (on 27-09-01 13:36 -0700): > In a tail call, and all continuations are tail calls, there is no record of > past history -- hence no trail of continuation frames. I can easily report > the location of the present error, but there is no history to report. There must be a past history, or otherwise you would not be able to implement function application. Let's make a distinction between continuations and tail calls. Really, it sounds like you are only _representing_ continuations in the source language as tail calls in the target language. So in the target language, the two are identified, but when you are compiling the source, you know which continuations are tail-recursive calls in the source language, and which are only functional returns. In the code you emit, i.e., in the target language, you can thus distinguish these two types of continuations, and when an error occurs, traverse the continuations which represent functional returns, which should eventually lead to the prime mover, the entire program's continuation. -- Frank Atanassow, Information & Computing Sciences, Utrecht University Padualaan 14, PO Box 80.089, 3508 TB Utrecht, Netherlands Tel +31 (030) 253-3261 Fax +31 (030) 251-379 ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr