<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<div><br></div>Ok, sequences are interesting, I have probably never heard of them because they are PLT-specific.<div><br></div><div>However, length was more an example than a specific case I need to dealt with.</div><div><br></div><div>Thanks anyway!<br><br>&gt; Date: Sat, 24 Apr 2010 23:18:46 -0700<br>&gt; Subject: Re: [plt-scheme] generic programming in plt scheme<br>&gt; From: mark.engelberg@gmail.com<br>&gt; To: skeptic2000@hotmail.com<br>&gt; CC: plt-scheme@list.cs.brown.edu<br>&gt; <br>&gt; In my experience, PLT Scheme is not generally written in a way that<br>&gt; makes it easy to define generic operations over multiple datatypes,<br>&gt; however, in this case you're in luck.  You can use the sequence<br>&gt; abstraction:<br>&gt; <br>&gt; (define (generic-length l)<br>&gt;   (for/fold ([len 0]) ([element l]) (add1 len)))<br>&gt; <br>&gt; Works on lists, vectors, strings, and user-defined streams (that<br>&gt; implement the sequence abstraction).<br>&gt; <br>&gt; See sequence in the help desk for more info.<br>&gt; <br>&gt; On Sat, Apr 24, 2010 at 11:05 PM, Skeptic . &lt;skeptic2000@hotmail.com&gt; wrote:<br>&gt; &gt;<br>&gt; &gt; Hi,<br>&gt; &gt; What would be the idiomatic way of defining a generic length procedure over,<br>&gt; &gt; let's say lists, vectors, strings and user-defined streams, in PLT Scheme ?<br>&gt; &gt; Thanks.<br>&gt; &gt;<br></div>                                               <br /><hr />Gardez le contact. <a href='http://go.microsoft.com/?linkid=9724468' target='_new'>Obtenez la version mobile de Messenger ici</a></body>
</html>