It's the same convention as with other Semigroup-like functions, such as `foldl1`, `scanl1`, etc. Doesn't really makes sense to distinguish between `cycle` and `cycle1` in this case, but that's just bike shedding. Also, at some point in the future, `cycle` can go in `Data.OldList` and be replaced by `cycle1`, renamed accordingly. On Mon, Sep 11, 2017 at 10:12 PM, Wolfgang Jeltsch <wolfgang-it@jeltsch.info
wrote:
Am Montag, den 11.09.2017, 06:55 +0530 schrieb Harendra Kumar:
On 11 September 2017 at 02:46, Wolfgang Jeltsch wrote:
Am Sonntag, den 10.09.2017, 10:39 +0200 schrieb Herbert Valerio Riedel:
What you seem to be searching for looks more like what we know as `cycle :: [a] -> [a]`, and in fact there is its generalisation at
http://hackage.haskell.org/package/base-4.10.0.0/docs/ Data-Semigroup.html#v:cycle1
Why is this function called cycle1, not cycle? What does the “1” stand for?
I guess this is not named "cycle" to avoid conflict with "Data.List.cycle".
Why? We have qualified imports. It seems very wrong to add single characters to identifiers to denote name spaces.
I was also wondering why it is "cycle1" instead of, say "scycle". It can be thought of as cycling just one value instead of cycling a list in case of "Data.List.cycle".
Also Data.List.cycle cycles only one value. It is just that this single value happens to be a list. If you specialize cycle1 to the list monoid, you get exactly Data.List.cycle.
All the best, Wolfgang _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs