Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://www.haskell.org/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. literate programming (Francisco Gutierrez) ---------------------------------------------------------------------- Message: 1 Date: Mon, 16 Apr 2012 13:45:46 -0700 (PDT) From: Francisco Gutierrez <fgutiers2...@yahoo.com> Subject: [Haskell-beginners] literate programming To: "beginners@haskell.org" <beginners@haskell.org> Message-ID: <1334609146.73872.yahoomail...@web110516.mail.gq1.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" Dear friends: I am an ULTRA-ULTRA Haskell?beginner, just started literally yesterday. ? I am just toying around with Cordelia Hall and John O'Donnell excellent book on dicrete mathematics with Haskell. Well, they have a program, stdm, to accompany the book. It happens that it is in literate style. In theory, this should be very easy to work with, but after saving it with lhs extension, I try to load it, without success. Could somebody out there help me with this? Best regards, Francisco Guti?rrez From: "beginners-requ...@haskell.org" <beginners-requ...@haskell.org> To: beginners@haskell.org Sent: Monday, April 16, 2012 2:45 PM Subject: Beginners Digest, Vol 46, Issue 23 Send Beginners mailing list submissions to ??? beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit ??? http://www.haskell.org/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to ??? beginners-requ...@haskell.org You can reach the person managing the list at ??? beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: ? 1. Re:? splitAt implementation (using foldr) and infinite lists ? ? ? (Lorenzo Bolla) ? 2. Re:? splitAt implementation (using foldr) and infinite lists ? ? ? (Ozgur Akgun) ? 3. Re:? Design of Webmachine in Haskell (Petar Radosevic) ? 4. Re:? Design of Webmachine in Haskell (Michael Snoyman) ? 5. Re:? splitAt implementation (using foldr) and infinite lists ? ? ? (Dmitriy Matrosov) ? 6.? Training tasks (Nikita Beloglazov) ? 7.? Cross-platform .hs files on Linux and Windows (Vinay Sajip) ? 8. Re:? Cross-platform .hs files on Linux and??? Windows (Lorenzo Bolla) ---------------------------------------------------------------------- Message: 1 Date: Mon, 16 Apr 2012 15:21:55 +0100 From: Lorenzo Bolla <lbo...@gmail.com> Subject: Re: [Haskell-beginners] splitAt implementation (using foldr) ??? and infinite lists Cc: beginners@haskell.org Message-ID: <20120416142155.GC30186@dell> Content-Type: text/plain; charset=us-ascii On Mon, Apr 16, 2012 at 12:52:02PM +0400, Dmitriy Matrosov wrote: > Hi all. > > If i implement take using foldr > > take'? ? ? :: Int -> [a] -> [a] > take' n? ? =? foldr (\x z -> if fst x <= n then snd x : z else []) [] >? ? ? ? ? ? ? ? . zip [1..] > > it'll work fine with infinite lists. But if i implement splitAt similarly > > splitAt'? ? :: Int -> [a] -> ([a], [a]) > splitAt' n? = foldr (\x (z1, z2) -> if fst x <= n then? (snd x : z1, z2) >? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else? ? ? ? ? ? ? ([], snd x : z2)) >? ? ? ? ? ? ? ? ? ? ([], []) >? ? ? ? ? ? ? ? ? ? . zip [1..] > > and call it like this > > *Main> fst $ splitAt' 4 [1..] > ^CInterrupted. Try something like this: splitAt' n? = foldr (\x zs? -> if fst x <= n then? (snd x : fst zs, snd zs) else? ? ? ? ? ? ? ([], snd x : snd zs)) ([], []) . zip [1..] I'm no Haskell expert, but I suspect that when pattern-matching z2, it tries to evaluate it and it hangs... My version does not hang... hth, L. -- Lorenzo Bolla http://lbolla.info ------------------------------ Message: 2 Date: Mon, 16 Apr 2012 15:55:20 +0100 From: Ozgur Akgun <ozgurak...@gmail.com> Subject: Re: [Haskell-beginners] splitAt implementation (using foldr) ??? and infinite lists To: Lorenzo Bolla <lbo...@gmail.com> Cc: beginners@haskell.org Message-ID: ??? <calzazpas7x+jxd5nu4+e+hiyceqhbmwj7qj+bec0uczips6...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" You can also use lazy pattern matching. http://en.wikibooks.org/wiki/Haskell/Laziness#Lazy_pattern_matching On 16 April 2012 15:21, Lorenzo Bolla <lbo...@gmail.com> wrote: > > splitAt'? ? :: Int -> [a] -> ([a], [a]) > > splitAt' n? = foldr (\x ~(z1, z2) -> if fst x <= n then? (snd x : z1, > z2) > >? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else? ? ? ? ? ? ? ([], snd x : z2)) > >? ? ? ? ? ? ? ? ? ? ([], []) > >? ? ? ? ? ? ? ? ? ? . zip [1..] > Ozgur -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120416/528b7ede/attachment-0001.htm> ------------------------------ Message: 3 Date: Mon, 16 Apr 2012 17:05:23 +0200 From: Petar Radosevic <pe...@wunki.org> Subject: Re: [Haskell-beginners] Design of Webmachine in Haskell To: Michael Snoyman <mich...@snoyman.com> Cc: beginners@haskell.org Message-ID: <87aa2blnt8....@mbp.wunki.org> Content-Type: text/plain Hi Michael, Michael Snoyman <mich...@snoyman.com> writes: > When I was at QCon, I heard a talk from Steve Vinoski on Webmachine, > and I was surprised to hear how close webmachine was to Haskell > already, The concept is basically sticking a state monad on top of > WAI. My guess is you would want to use a record type for a Resource, > not a typeclass, to make it easier to swap out behaviors. But > honestly, I haven't given this any thought since I saw the > presentation 6 months ago. Thanks for your insight, I didn't even consider using record types for a resource. Will also read up upon state monads. I believe that Webmachine passes a dictionary to every function in the HTTP graph[1]. Do you see the state monad having this purpose? [1]: https://bitbucket.org/justin/webmachine/wiki/BigHTTPGraph -- Petar Radosevic | @wunki ------------------------------ Message: 4 Date: Mon, 16 Apr 2012 18:36:11 +0300 From: Michael Snoyman <mich...@snoyman.com> Subject: Re: [Haskell-beginners] Design of Webmachine in Haskell To: Petar Radosevic <pe...@wunki.org> Cc: beginners@haskell.org Message-ID: ??? <caka2jgluq1+zmsuwk-fmypafhg1rvpauxlud_2fsq8yzonq...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 On Mon, Apr 16, 2012 at 6:05 PM, Petar Radosevic <pe...@wunki.org> wrote: > Hi Michael, > > Michael Snoyman <mich...@snoyman.com> writes: > >> When I was at QCon, I heard a talk from Steve Vinoski on Webmachine, >> and I was surprised to hear how close webmachine was to Haskell >> already, The concept is basically sticking a state monad on top of >> WAI. My guess is you would want to use a record type for a Resource, >> not a typeclass, to make it easier to swap out behaviors. But >> honestly, I haven't given this any thought since I saw the >> presentation 6 months ago. > > Thanks for your insight, I didn't even consider using record types for a > resource. Will also read up upon state monads. I believe that Webmachine > passes a dictionary to every function in the HTTP graph[1]. Do you see > the state monad having this purpose? > > [1]: https://bitbucket.org/justin/webmachine/wiki/BigHTTPGraph > -- > Petar Radosevic | @wunki IIRC, each function is passed a dictionary and returns a new dictionary. That's the very essence of a state monad, which is why it could be such a perfect fit here. Of course, I may *not* be remembering correctly. Michael ------------------------------ Message: 5 Date: Mon, 16 Apr 2012 20:12:54 +0400 From: Dmitriy Matrosov <sgf....@gmail.com> Subject: Re: [Haskell-beginners] splitAt implementation (using foldr) ??? and infinite lists To: beginners@haskell.org Message-ID: <4f8c4506.9000...@gmail.com> Content-Type: text/plain; charset="utf-8"; Format="flowed" On 04/16/12 18:21, Lorenzo Bolla wrote: > Try something like this: > splitAt' n? = foldr (\x zs? ->? if fst x<= n then? (snd x : fst zs, snd zs) > else? ? ? ? ? ? ? ([], snd x : snd zs)) ([], []) . zip [1..] > > I'm no Haskell expert, but I suspect that when pattern-matching z2, it > tries to evaluate it and it hangs... > > My version does not hang... > > hth, > L. > Thanks, Lorenzo! It works now. On 04/16/12 18:55, Ozgur Akgun wrote: > You can also use lazy pattern matching. > > http://en.wikibooks.org/wiki/Haskell/Laziness#Lazy_pattern_matching > > On 16 April 2012 15:21, Lorenzo Bolla <lbo...@gmail.com > <mailto:lbo...@gmail.com>> wrote: > >? ? > splitAt'? ? :: Int -> [a] -> ([a], [a]) >? ? > splitAt' n? = foldr (\x ~(z1, z2) -> if fst x <= n then? (snd x >? ? : z1, z2) >? ? >? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else? ? ? ? ? ? ? ([], snd >? ? x : z2)) >? ? >? ? ? ? ? ? ? ? ? ? ([], []) >? ? >? ? ? ? ? ? ? ? ? ? . zip [1..] > > > Ozgur Thanks, Ozgur! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120416/ac7270c5/attachment-0001.htm> ------------------------------ Message: 6 Date: Mon, 16 Apr 2012 19:46:04 +0300 From: Nikita Beloglazov <nik...@taste-o-code.com> Subject: [Haskell-beginners] Training tasks To: beginners@haskell.org Message-ID: ??? <cajdg_ptsc07n5vuwrjacknnhvf34j5gqj9vka6xxuhh0rm5...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Hi. I'm building website where people can try and "taste" new languages by solving small or mediums size tasks. Tasks are language specific and should show best features of the language. Website is not meant to teach new language but to give idea what is this language good for. Now I want to add Haskell. I need about 7-10 tasks for now. First three of four tasks are introductory, they should show/check basics of haskell. E.g. given n, return sum of squares of first n even numbers. Other tasks are more complicated and show advantages of functional programming in general or some specific haskell features. I don't have any experience with haskell and I need you help. Could you help me with ideas for tasks? Thank you, Nikita Beloglazov -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120416/17509069/attachment-0001.htm> ------------------------------ Message: 7 Date: Mon, 16 Apr 2012 18:23:57 +0000 (UTC) From: Vinay Sajip <vinay_sa...@yahoo.co.uk> Subject: [Haskell-beginners] Cross-platform .hs files on Linux and ??? Windows To: beginners@haskell.org Message-ID: <loom.20120416t202250...@post.gmane.org> Content-Type: text/plain; charset=us-ascii I've been given a set of .hs files which contain the shebang line #!/usr/bin/env runhaskell and I would like them to work on Windows, but none of the Windows binaries seem to be able to process them without a <script.hs>:1:1: parse error on input `#!' These files came from a Linux machine, where they run without trouble. Is there any way I can get the Windows executables to run these files? I asked on IRC and it was suggested that I change the files to literate Haskell, but I'd rather have some way of having cross-platform operation which does not involve making changes to the scripts themselves. Is there something that can be done e.g. by using particular command line options or configuration settings? Thanks & regards, Vinay Sajip ------------------------------ Message: 8 Date: Mon, 16 Apr 2012 20:49:02 +0100 From: Lorenzo Bolla <lbo...@gmail.com> Subject: Re: [Haskell-beginners] Cross-platform .hs files on Linux and ??? Windows Cc: beginners@haskell.org Message-ID: <20120416194902.ga3...@dell.home> Content-Type: text/plain; charset="us-ascii" Check this out: http://stackoverflow.com/questions/6818031/use-shebang-hashbang-in-windows-command-prompt hth, L. On Mon, Apr 16, 2012 at 06:23:57PM +0000, Vinay Sajip wrote: > I've been given a set of .hs files which contain the shebang line > > #!/usr/bin/env runhaskell > > and I would like them to work on Windows, but none of the Windows binaries > seem > to be able to process them without a > > <script.hs>:1:1: parse error on input `#!' > > These files came from a Linux machine, where they run without trouble. Is > there > any way I can get the Windows executables to run these files? I asked on IRC > and > it was suggested that I change the files to literate Haskell, but I'd rather > have some way of having cross-platform operation which does not involve making > changes to the scripts themselves. Is there something that can be done e.g. by > using particular command line options or configuration settings? > > Thanks & regards, > > Vinay Sajip > > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners -- Lorenzo Bolla http://lbolla.info -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 490 bytes Desc: not available URL: <http://www.haskell.org/pipermail/beginners/attachments/20120416/ec2325bf/attachment.pgp> ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 46, Issue 23 ***************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120416/17a667cb/attachment.htm> ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 46, Issue 24 *****************************************