What do you assume when you see fromListN in a library?

Andrew Lelechenko andrew.lelechenko at gmail.com
Fri Feb 28 10:10:36 UTC 2020

From the top of my head, I would expect that fromListN rejects both shorter and longer lists. If a user is under a wrong impression that some list has length N, it is better to fail early, before other, more dangerous implications of this impression are made (for example, using `unsafeIndex`).

However, my expectations disagree with the documentation, which states that the observable behaviour of fromListN should be equivalent to fromList: http://hackage.haskell.org/package/base- <http://hackage.haskell.org/package/base-> I am not sure what was the motivation behind such choice.

Best regards,

> On 28 Feb 2020, at 02:53, Carter Schonwald <carter.schonwald at gmail.com> wrote:
> Hey everyone: 
> When you see fromListN as a function in a library, do you assume / presume it’s expecting an exactly N element list ? Or do you expect/tolerate other behavior ? 
> Should it reject shorter lists?
> Should it truncate or reject longer lists? 
> A corner case of this came up in some bug discussion I was having regarding vector,  and I shall claim and or presume that most folks assume exact size with prompt rejection of too long or too short. 
> Thoughts please ?
> -Carter 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20200228/f70a259c/attachment.html>

More information about the Libraries mailing list