
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:fromLi... http://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-Exts.html#v:fromLi... I am not sure what was the motivation behind such choice. Best regards, Andrew
On 28 Feb 2020, at 02:53, Carter Schonwald
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