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 CAA25945; Mon, 8 Jul 2002 02:34: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 CAA20154 for ; Mon, 8 Jul 2002 02:34:04 +0200 (MET DST) Received: from sunny.pacific.net.au (sunny.pacific.net.au [203.25.148.40]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g680Y1902586 for ; Mon, 8 Jul 2002 02:34:03 +0200 (MET DST) Received: from wisma.pacific.net.au (wisma.pacific.net.au [210.23.129.72]) by sunny.pacific.net.au with ESMTP id g680XtSs008132; Mon, 8 Jul 2002 10:33:56 +1000 (EST) Received: from ozemail.com.au (ppp60.dyn18.pacific.net.au [61.8.18.60]) by wisma.pacific.net.au with ESMTP id KAA18780; Mon, 8 Jul 2002 10:33:53 +1000 (EST) Message-ID: <3D28DDF1.2070002@ozemail.com.au> Date: Mon, 08 Jul 2002 10:33:53 +1000 From: John Max Skaller User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901 X-Accept-Language: en-us MIME-Version: 1.0 To: Michael Vanier CC: wlovas@stwing.upenn.edu, caml-list@inria.fr Subject: Re: [Caml-list] yet another question on lazy lists References: <200207060148.g661mZp06460@orchestra.cs.caltech.edu> <200207061526.RAA06532@pauillac.inria.fr> <20020706182252.GA23247@force.stwing.upenn.edu> <200207070026.g670Qdq14166@orchestra.cs.caltech.edu> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > > > >Right again. This is SICP terminology. I'll change it if I post any more >questions on this subject to this list. > My understanding is that a list is a finite inductuive type, characterised by constructors. Whereas a stream is like an infinite list, but it is a coinductive type, characterised by destructors: 'a list = Empty | Cons of 'a * 'a list split ('a stream) -> 'a * 'a stream As I understand it, the two types are formally dual. See Charity (if you can find it) for a language which provides coinductive types with a natural syntax which makes the duality syntactically evident. -- John Max Skaller, mailto:skaller@ozemail.com.au snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia. voice:61-2-9660-0850 ------------------- 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