Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://mail.haskell.org/cgi-bin/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. Need some understanding on this behavior. (Alexander Chen) 2. Re: Need some understanding on this behavior. (Alexander Klink) ---------------------------------------------------------------------- Message: 1 Date: Mon, 3 Feb 2020 09:14:24 +0100 (CET) From: Alexander Chen <alexan...@chenjia.nl> To: beginners@haskell.org Subject: [Haskell-beginners] Need some understanding on this behavior. Message-ID: <1418257784.758267.1580717664...@ichabod.co-bxl> Content-Type: text/plain; charset="utf-8" hi, I need some understanding on the following behavior: a = [1..] [x | x <-a, x <= 100] [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 (note the missing ']' which results in the command not finishing) b = take 1000 a [x | x <-b, x <= 100] [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100] Note, I took more for b just for ease sake. But now the command finishes correctly. Question: why can i not use a lazy list directly in a list comprehension? best, -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.haskell.org/pipermail/beginners/attachments/20200203/44a29b59/attachment-0001.html> ------------------------------ Message: 2 Date: Mon, 3 Feb 2020 09:59:47 +0100 From: Alexander Klink <alexan...@klink.name> To: Alexander Chen <alexan...@chenjia.nl>, The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell <beginners@haskell.org> Subject: Re: [Haskell-beginners] Need some understanding on this behavior. Message-ID: <20200203085947.gb11...@putna.0x90.eu> Content-Type: text/plain; charset=us-ascii Hi Alexander, On Mon, Feb 03, 2020 at 09:14:24AM +0100, Alexander Chen wrote: > I need some understanding on the following behavior: > > a = [1..] > [x | x <-a, x <= 100] > [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 > > (note the missing ']' which results in the command not finishing) It does not finish because the list comprehension does not know that a is ordered, so it has to go through *every* element and take those that are less than or equal to 100. HTH, Alex ------------------------------ Subject: Digest Footer _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners ------------------------------ End of Beginners Digest, Vol 140, Issue 1 *****************************************