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-4.12.0.0/docs/GHC-Exts.html#v:fromListN <http://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-Exts.html#v:fromListN> I am not sure what was the motivation behind such choice.

Best regards,
Andrew

> 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