From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA03714 for caml-red; Thu, 27 Jul 2000 19:39:21 +0200 (MET DST) 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 SAA31311 for ; Wed, 26 Jul 2000 18:07:51 +0200 (MET DST) Received: from localhost.localdomain (ike73.zip.com.au [210.23.146.73]) by concorde.inria.fr (8.10.0/8.10.0) with ESMTP id e6QG7lD16545 for ; Wed, 26 Jul 2000 18:07:48 +0200 (MET DST) Received: from maxtal.com.au (IDENT:root@localhost [127.0.0.1]) by localhost.localdomain (8.9.3/8.8.7) with ESMTP id CAA15381; Thu, 27 Jul 2000 02:09:29 +1000 Message-ID: <397F0D39.2032820E@maxtal.com.au> Date: Thu, 27 Jul 2000 02:09:29 +1000 From: John Max Skaller X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.12-20 i686) X-Accept-Language: en MIME-Version: 1.0 To: Jean-Christophe Filliatre CC: Julian Assange , caml-list@inria.fr Subject: Re: automatic construction of mli files References: <14716.48400.141405.743737@cylinder.csl.sri.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: weis@pauillac.inria.fr Jean-Christophe Filliatre wrote: [discussion of programming techniques] > But writing an interface is always a good idea, since it encourages > you to abstract data types and to provide only small and orthogonal > sets of functions, which cannot be done automatically in most cases. On the other hand, writing the interface _first_ is not always appropriate when you want to rapidly prototype experimental code where you don't actually know what the interface is going to turn out to be until you experiment. I often do this, _then_ write an interface, then reimplement the code cleanly according to this interface. Using this methodology, I often write the implementation first -- an 'abstraction' of the interface being in my head: an easier medium to 'edit' rapidly than a text file :-) -- John (Max) Skaller, mailto:skaller@maxtal.com.au 10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850 checkout Vyper http://Vyper.sourceforge.net download Interscript http://Interscript.sourceforge.net