<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1253">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Can anyone suggest a good Haskell IDE for windows?<br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> Beginners <beginners-bounces@haskell.org> on behalf of David McBride <toad3k@gmail.com><br>
<b>Sent:</b> Tuesday, April 18, 2017 4:22 PM<br>
<b>To:</b> The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell<br>
<b>Subject:</b> Re: [Haskell-beginners] Beginners Digest, Vol 106, Issue 7</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">That depends on what package you are using to parse. If you are using<br>
parsec, you can use the string function from Text.Parsec.Char. If you<br>
are using some other package, it probably has a different name for it.<br>
<br>
On Tue, Apr 18, 2017 at 8:39 AM, Andrey Klaus <deepmindster@gmail.com> wrote:<br>
> Hello everybody,<br>
><br>
> A small question.<br>
> -----<br>
> packageP = do<br>
> literal “package"<br>
> -----<br>
><br>
> what is the "literal" in this code? My problem is<br>
><br>
> $ ghc ParserTest.hs<br>
> [1 of 1] Compiling ParserTest ( ParserTest.hs, ParserTest.o )<br>
><br>
> ParserTest.hs:11:5: Not in scope: ‘literal’<br>
><br>
> $ ghc --version<br>
> The Glorious Glasgow Haskell Compilation System, version 7.10.3<br>
><br>
> Is this because I use old version of software?<br>
><br>
> Thanks,<br>
> Andrey<br>
><br>
><br>
><br>
> 2017-04-14 21:58 GMT+03:00 <beginners-request@haskell.org>:<br>
>><br>
>> Send Beginners mailing list submissions to<br>
>> beginners@haskell.org<br>
>><br>
>> To subscribe or unsubscribe via the World Wide Web, visit<br>
>> <a id="LPlnk372993" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" previewremoved="true">
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a>
<div id="LPBorder_GT_14925606426890.2267751574316368" style="width: 100%; text-indent: 0px; overflow: auto; margin-bottom: 20px;">
<table id="LPContainer_14925606426820.17116402305260347" role="presentation" style="width: 90%; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); border-top-width: 1px; border-bottom-width: 1px; border-top-style: dotted; border-bottom-style: dotted; position: relative; background-color: rgb(255, 255, 255);" cellspacing="0">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="TextCell_14925606426830.7914124929705071" style="padding: 0px; vertical-align: top; display: table-cell; position: relative;" colspan="2">
<div id="LPRemovePreviewContainer_14925606426830.3451852653843921"></div>
<div id="LPTitle_14925606426840.4681112878299083" style="top: 0px; color: rgb(0, 120, 215); line-height: 21px; font-family: "wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 21px; font-weight: 400;">
<a id="LPUrlAnchor_14925606426850.5002817517398079" style="text-decoration: none;" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">Haskell-Beginners Info Page</a></div>
<div id="LPMetadata_14925606426850.9417476406950229" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); line-height: 14px; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; font-weight: 400;">
mail.haskell.org</div>
<div id="LPDescription_14925606426870.9307040685960939" style="color: rgb(102, 102, 102); line-height: 20px; overflow: hidden; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; font-weight: 400; display: block; max-height: 100px;">
Haskell-Beginners -- The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell About Haskell-Beginners</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
>> or, via email, send a message with subject or body 'help' to<br>
>> beginners-request@haskell.org<br>
>><br>
>> You can reach the person managing the list at<br>
>> beginners-owner@haskell.org<br>
>><br>
>> When replying, please edit your Subject line so it is more specific<br>
>> than "Re: Contents of Beginners digest..."<br>
>><br>
>><br>
>> Today's Topics:<br>
>><br>
>> 1. Parsing (mike h)<br>
>> 2. Re: Parsing (David McBride)<br>
>> 3. Re: Parsing (Francesco Ariis)<br>
>> 4. Re: Parsing (mike h)<br>
>> 5. Re: Parsing (mike h)<br>
>><br>
>><br>
>> ----------------------------------------------------------------------<br>
>><br>
>> Message: 1<br>
>> Date: Fri, 14 Apr 2017 19:02:37 +0100<br>
>> From: mike h <mike_k_houghton@yahoo.co.uk><br>
>> To: The Haskell-Beginners Mailing List - Discussion of primarily<br>
>> beginner-level topics related to Haskell <beginners@haskell.org><br>
>> Subject: [Haskell-beginners] Parsing<br>
>> Message-ID: <2C66C9DC-30AF-41C5-B9AF-0D1DA19E0A2C@yahoo.co.uk><br>
>> Content-Type: text/plain; charset=utf-8<br>
>><br>
>> I have<br>
>> data PackageDec = Pkg String deriving Show<br>
>><br>
>> and a parser for it<br>
>><br>
>> packageP :: Parser PackageDec<br>
>> packageP = do<br>
>> literal “package"<br>
>> x <- identifier<br>
>> xs <- many ((:) <$> char '.' <*> identifier)<br>
>> return $ Pkg . concat $ (x:xs)<br>
>><br>
>> so I’m parsing for this sort of string<br>
>> “package some.sort.of.name”<br>
>><br>
>> and I’m trying to rewrite the packageP parser in applicative style. As a<br>
>> not quite correct start I have<br>
>><br>
>> packageP' :: Parser PackageDec<br>
>> packageP' = literal "package" >> Pkg . concat <$> many ((:) <$> char '.'<br>
>> <*> identifier)<br>
>><br>
>> but I can’t see how to get the ‘first’ identifier into this sequence -<br>
>> i.e. the bit that corresponds to x <- identifier in the<br>
>> monadic version.<br>
>><br>
>> in ghci<br>
>> ë-> :t many ((:) <$> char '.' <*> identifier)<br>
>> many ((:) <$> char '.' <*> identifier) :: Parser [[Char]]<br>
>><br>
>> so I think that somehow I need to get the ‘first’ identifier into a list<br>
>> just after Pkg . concat so that the whole list gets flattened and<br>
>> everybody is happy!<br>
>><br>
>> Any help appreciated.<br>
>><br>
>> Thanks<br>
>> Mike<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> ------------------------------<br>
>><br>
>> Message: 2<br>
>> Date: Fri, 14 Apr 2017 14:17:42 -0400<br>
>> From: David McBride <toad3k@gmail.com><br>
>> To: The Haskell-Beginners Mailing List - Discussion of primarily<br>
>> beginner-level topics related to Haskell <beginners@haskell.org><br>
>> Subject: Re: [Haskell-beginners] Parsing<br>
>> Message-ID:<br>
>><br>
>> <CAN+Tr42ifDF62sXo6WDq32rBAPHQ+eqTkJeuk-dNr8pDfRSZXg@mail.gmail.com><br>
>> Content-Type: text/plain; charset=UTF-8<br>
>><br>
>> Try breaking it up into pieces. There a literal "package" which is<br>
>> dropped. There is a first identifier, then there are the rest of the<br>
>> identifiers (a list), then those two things are combined somehow (with<br>
>> :).<br>
>><br>
>> literal "package" *> (:) <$> identifier <*> restOfIdentifiers<br>
>> where<br>
>> restOfIdentifiers :: Applicative f => f [String]<br>
>> restOfIdentifiers = many ((:) <$> char '.' <*> identifier<br>
>><br>
>> I have not tested this code, but it should be close to what you are<br>
>> looking for.<br>
>><br>
>> On Fri, Apr 14, 2017 at 2:02 PM, mike h <mike_k_houghton@yahoo.co.uk><br>
>> wrote:<br>
>> > I have<br>
>> > data PackageDec = Pkg String deriving Show<br>
>> ><br>
>> > and a parser for it<br>
>> ><br>
>> > packageP :: Parser PackageDec<br>
>> > packageP = do<br>
>> > literal “package"<br>
>> > x <- identifier<br>
>> > xs <- many ((:) <$> char '.' <*> identifier)<br>
>> > return $ Pkg . concat $ (x:xs)<br>
>> ><br>
>> > so I’m parsing for this sort of string<br>
>> > “package some.sort.of.name”<br>
>> ><br>
>> > and I’m trying to rewrite the packageP parser in applicative style. As a<br>
>> > not quite correct start I have<br>
>> ><br>
>> > packageP' :: Parser PackageDec<br>
>> > packageP' = literal "package" >> Pkg . concat <$> many ((:) <$> char<br>
>> > '.' <*> identifier)<br>
>> ><br>
>> > but I can’t see how to get the ‘first’ identifier into this sequence -<br>
>> > i.e. the bit that corresponds to x <- identifier in the<br>
>> > monadic version.<br>
>> ><br>
>> > in ghci<br>
>> > ë-> :t many ((:) <$> char '.' <*> identifier)<br>
>> > many ((:) <$> char '.' <*> identifier) :: Parser [[Char]]<br>
>> ><br>
>> > so I think that somehow I need to get the ‘first’ identifier into a list<br>
>> > just after Pkg . concat so that the whole list gets flattened and<br>
>> > everybody is happy!<br>
>> ><br>
>> > Any help appreciated.<br>
>> ><br>
>> > Thanks<br>
>> > Mike<br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > Beginners mailing list<br>
>> > Beginners@haskell.org<br>
>> > <a id="LPlnk215229" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" previewremoved="true">
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a>
<div id="LPBorder_GT_14925606427020.7047631838200863" style="width: 100%; text-indent: 0px; overflow: auto; margin-bottom: 20px;">
<table id="LPContainer_14925606426970.7489140058598118" role="presentation" style="width: 90%; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); border-top-width: 1px; border-bottom-width: 1px; border-top-style: dotted; border-bottom-style: dotted; position: relative; background-color: rgb(255, 255, 255);" cellspacing="0">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td id="TextCell_14925606426980.6054681084088598" style="padding: 0px; vertical-align: top; display: table-cell; position: relative;" colspan="2">
<div id="LPRemovePreviewContainer_14925606426980.8172111722476187"></div>
<div id="LPTitle_14925606426980.8295803737914904" style="top: 0px; color: rgb(0, 120, 215); line-height: 21px; font-family: "wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 21px; font-weight: 400;">
<a id="LPUrlAnchor_14925606426990.30872293353112656" style="text-decoration: none;" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">Haskell-Beginners Info Page</a></div>
<div id="LPMetadata_14925606426990.26745119892908864" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); line-height: 14px; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; font-weight: 400;">
mail.haskell.org</div>
<div id="LPDescription_14925606427000.7315734147187907" style="color: rgb(102, 102, 102); line-height: 20px; overflow: hidden; font-family: "wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size: 14px; font-weight: 400; display: block; max-height: 100px;">
Haskell-Beginners -- The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell About Haskell-Beginners</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
>><br>
>><br>
>> ------------------------------<br>
>><br>
>> Message: 3<br>
>> Date: Fri, 14 Apr 2017 20:35:32 +0200<br>
>> From: Francesco Ariis <fa-ml@ariis.it><br>
>> To: beginners@haskell.org<br>
>> Subject: Re: [Haskell-beginners] Parsing<br>
>> Message-ID: <20170414183532.GA4376@casa.casa><br>
>> Content-Type: text/plain; charset=utf-8<br>
>><br>
>> On Fri, Apr 14, 2017 at 07:02:37PM +0100, mike h wrote:<br>
>> > I have<br>
>> > data PackageDec = Pkg String deriving Show<br>
>> ><br>
>> > and a parser for it<br>
>> ><br>
>> > packageP :: Parser PackageDec<br>
>> > packageP = do<br>
>> > literal “package"<br>
>> > x <- identifier<br>
>> > xs <- many ((:) <$> char '.' <*> identifier)<br>
>> > return $ Pkg . concat $ (x:xs)<br>
>> ><br>
>> > so I’m parsing for this sort of string<br>
>> > “package some.sort.of.name”<br>
>> ><br>
>> > and I’m trying to rewrite the packageP parser in applicative style. As a<br>
>> > not quite correct start I have<br>
>><br>
>> Hello Mike,<br>
>><br>
>> I am not really sure what you are doing here? You are parsing a dot<br>
>> separated list (like.this.one) but at the end you are concatenating all<br>
>> together, why?<br>
>> Are you sure you are not wanting [String] instead of String?<br>
>><br>
>> If so, Parsec comes with some handy parser combinators [1], maybe one of<br>
>> them could fit your bill:<br>
>><br>
>> -- should work<br>
>> packageP = literal "package" *> Pkg <$> sepEndBy1 identifier (char<br>
>> '.')<br>
>><br>
>> [1]<br>
>> <a id="LPlnk417146" href="https://hackage.haskell.org/package/parsec-3.1.11/docs/Text-Parsec-Combinator.html">
https://hackage.haskell.org/package/parsec-3.1.11/docs/Text-Parsec-Combinator.html</a><br>
>><br>
>><br>
>> ------------------------------<br>
>><br>
>> Message: 4<br>
>> Date: Fri, 14 Apr 2017 20:12:14 +0100<br>
>> From: mike h <mike_k_houghton@yahoo.co.uk><br>
>> To: The Haskell-Beginners Mailing List - Discussion of primarily<br>
>> beginner-level topics related to Haskell <beginners@haskell.org><br>
>> Subject: Re: [Haskell-beginners] Parsing<br>
>> Message-ID: <FF162CDE-E7E8-421B-A92E-057A643EE1A8@yahoo.co.uk><br>
>> Content-Type: text/plain; charset=utf-8<br>
>><br>
>> Hi David,<br>
>><br>
>> Thanks but I tried something like that before I posted. I’ll try again<br>
>> maybe I mistyped.<br>
>><br>
>> Mike<br>
>> > On 14 Apr 2017, at 19:17, David McBride <toad3k@gmail.com> wrote:<br>
>> ><br>
>> > Try breaking it up into pieces. There a literal "package" which is<br>
>> > dropped. There is a first identifier, then there are the rest of the<br>
>> > identifiers (a list), then those two things are combined somehow (with<br>
>> > :).<br>
>> ><br>
>> > literal "package" *> (:) <$> identifier <*> restOfIdentifiers<br>
>> > where<br>
>> > restOfIdentifiers :: Applicative f => f [String]<br>
>> > restOfIdentifiers = many ((:) <$> char '.' <*> identifier<br>
>> ><br>
>> > I have not tested this code, but it should be close to what you are<br>
>> > looking for.<br>
>> ><br>
>> > On Fri, Apr 14, 2017 at 2:02 PM, mike h <mike_k_houghton@yahoo.co.uk><br>
>> > wrote:<br>
>> >> I have<br>
>> >> data PackageDec = Pkg String deriving Show<br>
>> >><br>
>> >> and a parser for it<br>
>> >><br>
>> >> packageP :: Parser PackageDec<br>
>> >> packageP = do<br>
>> >> literal “package"<br>
>> >> x <- identifier<br>
>> >> xs <- many ((:) <$> char '.' <*> identifier)<br>
>> >> return $ Pkg . concat $ (x:xs)<br>
>> >><br>
>> >> so I’m parsing for this sort of string<br>
>> >> “package some.sort.of.name”<br>
>> >><br>
>> >> and I’m trying to rewrite the packageP parser in applicative style. As<br>
>> >> a not quite correct start I have<br>
>> >><br>
>> >> packageP' :: Parser PackageDec<br>
>> >> packageP' = literal "package" >> Pkg . concat <$> many ((:) <$> char<br>
>> >> '.' <*> identifier)<br>
>> >><br>
>> >> but I can’t see how to get the ‘first’ identifier into this sequence -<br>
>> >> i.e. the bit that corresponds to x <- identifier in the<br>
>> >> monadic version.<br>
>> >><br>
>> >> in ghci<br>
>> >> ë-> :t many ((:) <$> char '.' <*> identifier)<br>
>> >> many ((:) <$> char '.' <*> identifier) :: Parser [[Char]]<br>
>> >><br>
>> >> so I think that somehow I need to get the ‘first’ identifier into a<br>
>> >> list just after Pkg . concat so that the whole list gets flattened and<br>
>> >> everybody is happy!<br>
>> >><br>
>> >> Any help appreciated.<br>
>> >><br>
>> >> Thanks<br>
>> >> Mike<br>
>> >><br>
>> >><br>
>> >><br>
>> >><br>
>> >><br>
>> >> _______________________________________________<br>
>> >> Beginners mailing list<br>
>> >> Beginners@haskell.org<br>
>> >> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
>> > _______________________________________________<br>
>> > Beginners mailing list<br>
>> > Beginners@haskell.org<br>
>> > <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
>><br>
>><br>
>><br>
>> ------------------------------<br>
>><br>
>> Message: 5<br>
>> Date: Fri, 14 Apr 2017 20:19:40 +0100<br>
>> From: mike h <mike_k_houghton@yahoo.co.uk><br>
>> To: The Haskell-Beginners Mailing List - Discussion of primarily<br>
>> beginner-level topics related to Haskell <beginners@haskell.org><br>
>> Subject: Re: [Haskell-beginners] Parsing<br>
>> Message-ID: <D208C2B2-6E38-427D-9EAF-B9EA8532D873@yahoo.co.uk><br>
>> Content-Type: text/plain; charset="utf-8"<br>
>><br>
>> Hi Francesco,<br>
>> Yes, I think you are right with "Are you sure you are not wanting [String]<br>
>> instead of String?”<br>
>><br>
>> I could use Parsec but I’m building up a parser library from first<br>
>> principles i.e.<br>
>><br>
>> newtype Parser a = P (String -> [(a,String)])<br>
>><br>
>> parse :: Parser a -> String -> [(a,String)]<br>
>> parse (P p) = p<br>
>><br>
>> and so on….<br>
>><br>
>> It’s just an exercise to see how far I can get. And its good fun. So maybe<br>
>> I need add another combinator or to what I already have.<br>
>><br>
>> Thanks<br>
>><br>
>> Mike<br>
>><br>
>><br>
>> > On 14 Apr 2017, at 19:35, Francesco Ariis <fa-ml@ariis.it> wrote:<br>
>> ><br>
>> > On Fri, Apr 14, 2017 at 07:02:37PM +0100, mike h wrote:<br>
>> >> I have<br>
>> >> data PackageDec = Pkg String deriving Show<br>
>> >><br>
>> >> and a parser for it<br>
>> >><br>
>> >> packageP :: Parser PackageDec<br>
>> >> packageP = do<br>
>> >> literal “package"<br>
>> >> x <- identifier<br>
>> >> xs <- many ((:) <$> char '.' <*> identifier)<br>
>> >> return $ Pkg . concat $ (x:xs)<br>
>> >><br>
>> >> so I’m parsing for this sort of string<br>
>> >> “package some.sort.of.name”<br>
>> >><br>
>> >> and I’m trying to rewrite the packageP parser in applicative style. As<br>
>> >> a not quite correct start I have<br>
>> ><br>
>> > Hello Mike,<br>
>> ><br>
>> > I am not really sure what you are doing here? You are parsing a dot<br>
>> > separated list (like.this.one) but at the end you are concatenating all<br>
>> > together, why?<br>
>> > Are you sure you are not wanting [String] instead of String?<br>
>> ><br>
>> > If so, Parsec comes with some handy parser combinators [1], maybe one of<br>
>> > them could fit your bill:<br>
>> ><br>
>> > -- should work<br>
>> > packageP = literal "package" *> Pkg <$> sepEndBy1 identifier (char<br>
>> > '.')<br>
>> ><br>
>> > [1]<br>
>> > <a href="https://hackage.haskell.org/package/parsec-3.1.11/docs/Text-Parsec-Combinator.html">
https://hackage.haskell.org/package/parsec-3.1.11/docs/Text-Parsec-Combinator.html</a><br>
>> > <<a href="https://hackage.haskell.org/package/parsec-3.1.11/docs/Text-Parsec-Combinator.html">https://hackage.haskell.org/package/parsec-3.1.11/docs/Text-Parsec-Combinator.html</a>><br>
>> > _______________________________________________<br>
>> > Beginners mailing list<br>
>> > Beginners@haskell.org <<a href="mailto:Beginners@haskell.org">mailto:Beginners@haskell.org</a>><br>
>> > <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
>> > <<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a>><br>
>> -------------- next part --------------<br>
>> An HTML attachment was scrubbed...<br>
>> URL:<br>
>> <<a href="http://mail.haskell.org/pipermail/beginners/attachments/20170414/66a17133/attachment.html">http://mail.haskell.org/pipermail/beginners/attachments/20170414/66a17133/attachment.html</a>><br>
>><br>
>> ------------------------------<br>
>><br>
>> Subject: Digest Footer<br>
>><br>
>> _______________________________________________<br>
>> Beginners mailing list<br>
>> Beginners@haskell.org<br>
>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
>><br>
>><br>
>> ------------------------------<br>
>><br>
>> End of Beginners Digest, Vol 106, Issue 7<br>
>> *****************************************<br>
><br>
><br>
><br>
> _______________________________________________<br>
> Beginners mailing list<br>
> Beginners@haskell.org<br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
><br>
_______________________________________________<br>
Beginners mailing list<br>
Beginners@haskell.org<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</div>
</span></font></div>
</div>
</body>
</html>