Send Beginners mailing list submissions to
[email protected]
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
[email protected]
You can reach the person managing the list at
[email protected]
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 <[email protected]>
To: [email protected]
Subject: [Haskell-beginners] Need some understanding on this behavior.
Message-ID: <[email protected]>
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 <[email protected]>
To: Alexander Chen <[email protected]>, The Haskell-Beginners
Mailing List - Discussion of primarily beginner-level topics related
to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] Need some understanding on this
behavior.
Message-ID: <[email protected]>
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
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 140, Issue 1
*****************************************