Re: Semigroup repeat (base package)

2017-09-12 Thread Wolfgang Jeltsch
No. Functions like foldl1 are named such because they start building a value with the first (“1”) value of a list and consequently do not work with empty lists. They have counterparts without the “1” in their names, which receive the initial value as an extra argument. Things are completely

Re: Semigroup repeat (base package)

2017-09-12 Thread Sebastian Graf
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

Re: Semigroup repeat (base package)

2017-09-11 Thread Wolfgang Jeltsch
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] ->

Re: Semigroup repeat (base package)

2017-09-10 Thread 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 >

Re: Semigroup repeat (base package)

2017-09-10 Thread Wolfgang Jeltsch
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

Re: Semigroup repeat (base package)

2017-09-10 Thread Harendra Kumar
Indeed it is cycle1, sorry to have missed it. It will be easier to spot it if it close to the stimes* functions in the beginning of the docs. It is placed too far down below even after Monoid re-exports. -harendra On 10 September 2017 at 14:09, Herbert Valerio Riedel wrote:

Re: Semigroup repeat (base package)

2017-09-10 Thread Herbert Valerio Riedel
Hi, On Sun, Sep 10, 2017 at 9:24 AM, Harendra Kumar wrote: > I could not find a function that repeats a value using a semigroup append. I > am looking for something like this: > > srepeat :: Semigroup a => a -> a > srepeat x = xs where xs = x <> xs > > Is it already

Semigroup repeat (base package)

2017-09-10 Thread Harendra Kumar
Hi, I am sending this question here since base ships with ghc, let me know if this is not the right forum for this. I could not find a function that repeats a value using a semigroup append. I am looking for something like this: srepeat :: Semigroup a => a -> a srepeat x = xs where xs = x <> xs