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 XAA26231; Wed, 8 Oct 2003 23:23:00 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id XAA01175 for ; Wed, 8 Oct 2003 23:22:59 +0200 (MET DST) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from web40606.mail.yahoo.com (web40606.mail.yahoo.com [66.218.78.143]) by concorde.inria.fr (8.11.1/8.11.1) with SMTP id h98LMv123335 for ; Wed, 8 Oct 2003 23:22:58 +0200 (MET DST) Message-ID: <20031008212257.19628.qmail@web40606.mail.yahoo.com> Received: from [216.33.229.163] by web40606.mail.yahoo.com via HTTP; Wed, 08 Oct 2003 14:22:57 PDT Date: Wed, 8 Oct 2003 14:22:57 -0700 (PDT) From: Ker Lutyn Subject: [Caml-list] extending a type with Marshal To: caml-list@inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Loop: caml-list@inria.fr X-Spam: no; 0.00; deployed:01 foo:01 foo:01 interprets:01 interprets:01 marshal:01 marshal:01 backward:02 upgrading:03 conversely:03 types:03 requires:06 product:92 type:07 type:07 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Marshal provides a convenient way to pass information between components. It requires that types be the same at either end. But for multi-machine production systems that must serve traffic continuously, you cannot count on upgrading all your systems simultaneously. It is reasonable to want to add capabilities to, say, a web server, in a backward compatible way so that, say, a legacy content server can still be used. Later a new content server can be deployed that responds to the new capabilities. Conversely, we might want to augment the content server with additional information that will later be used by an upgraded web server. Foo -- A --> Bar In other words, Foo sends message A to Bar. We'd like to be able to handle two possibilities: (1) Foo sends message A' to Bar, who interprets it as A. (2) Foo sends message A to Bar, who interprets it as A'. ...where A' is an extension of A. To do this it would be necessary to 'extend' a type at one end of a Marshal connection without extending it at the other end. Is this possible? Do people have any suggestions? __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners