Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-14 Thread Peter Simons
Hi Evan,

  The reason it's not in Data.List is because there are a bazillion
  different splits one might want (when I was pondering the issue
  before Brent released it, I had collected something like 8
  different proposed splits), so no agreement could ever be reached.
 
  It is curious though that the Python community managed to agree on a
  single implementation and include that in the standard library… So
  it is possible :)
 
  This is sometimes cited as the advantage of a benevolent
  dictator-for-life. I remember there was lots of argument when 'join'
  was added as a string method (vs. should it be a list method). In the
  end, Guido decided on one and that's what went in.

having a dictator is not a necessary prerequisite for the ability to
make decisions. It's quite possible to decide controversial matters
without a dictator -- say, by letting people vote.

Take care,
Peter


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Iustin Pop
On Sat, Feb 12, 2011 at 11:21:37AM -0500, Gwern Branwen wrote:
 On Sat, Feb 12, 2011 at 11:00 AM, Robert Clausecker fuz...@gmail.com wrote:
  Is there any reason, that one can't find a function that splits a list
  at a seperator in the standard library? I imagined something like this:
 
 
     splitSeperator :: Eq a = a - [a] - [[a]]
 
     splitSeperator ',' foo,bar,baz
       -- [foo,bar,baz]
 
  Or something similar? This is needed so often, even if I can implement
  it in one line, is there any reason why it's not in the libs?
 
 See http://hackage.haskell.org/package/split
 
 The reason it's not in Data.List is because there are a bazillion
 different splits one might want (when I was pondering the issue before
 Brent released it, I had collected something like 8 different proposed
 splits), so no agreement could ever be reached.

It is curious though that the Python community managed to agree on a
single implementation and include that in the standard library… So it is
possible :)

I also needed a split function and ended up with coding one that behaves
like the Python one for my project.

regards,
iustin

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Lyndon Maydwell
Does the Python implementation operate on Strings, or all lists?

I think this could be quite important as many split implementations
take regular expressions as arguments. This could be quite challenging
for general lists.

That said, I would like to see some of these features in the split package.

On Sun, Feb 13, 2011 at 5:50 PM, Iustin Pop iu...@k1024.org wrote:
 On Sat, Feb 12, 2011 at 11:21:37AM -0500, Gwern Branwen wrote:
 On Sat, Feb 12, 2011 at 11:00 AM, Robert Clausecker fuz...@gmail.com wrote:
  Is there any reason, that one can't find a function that splits a list
  at a seperator in the standard library? I imagined something like this:
 
 
     splitSeperator :: Eq a = a - [a] - [[a]]
 
     splitSeperator ',' foo,bar,baz
       -- [foo,bar,baz]
 
  Or something similar? This is needed so often, even if I can implement
  it in one line, is there any reason why it's not in the libs?

 See http://hackage.haskell.org/package/split

 The reason it's not in Data.List is because there are a bazillion
 different splits one might want (when I was pondering the issue before
 Brent released it, I had collected something like 8 different proposed
 splits), so no agreement could ever be reached.

 It is curious though that the Python community managed to agree on a
 single implementation and include that in the standard library… So it is
 possible :)

 I also needed a split function and ended up with coding one that behaves
 like the Python one for my project.

 regards,
 iustin

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Henning Thielemann


On Sun, 13 Feb 2011, Iustin Pop wrote:


On Sat, Feb 12, 2011 at 11:21:37AM -0500, Gwern Branwen wrote:


See http://hackage.haskell.org/package/split

The reason it's not in Data.List is because there are a bazillion
different splits one might want (when I was pondering the issue before
Brent released it, I had collected something like 8 different proposed
splits), so no agreement could ever be reached.


It is curious though that the Python community managed to agree on a
single implementation and include that in the standard library… So it is
possible :)


It was not the implementation, that was discussed in length, but it was 
the question, what 'split' shall actually do.


If you are satisfied with a simple Haskell 98 implementation of a 'split' 
operation you might like 'chop' in

  
http://hackage.haskell.org/packages/archive/utility-ht/0.0.5.1/doc/html/Data-List-HT.html

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Iustin Pop
On Sun, Feb 13, 2011 at 06:01:01PM +0800, Lyndon Maydwell wrote:
 Does the Python implementation operate on Strings, or all lists?

Of course, just on strings.

 I think this could be quite important as many split implementations
 take regular expressions as arguments. This could be quite challenging
 for general lists.

Agreed. But (in Python at least), split via re and split via (static)
element are two separate functions, and split via element can be nicely
replicated in Haskell.

regards,
iustin

 That said, I would like to see some of these features in the split package.
 
 On Sun, Feb 13, 2011 at 5:50 PM, Iustin Pop iu...@k1024.org wrote:
  On Sat, Feb 12, 2011 at 11:21:37AM -0500, Gwern Branwen wrote:
  On Sat, Feb 12, 2011 at 11:00 AM, Robert Clausecker fuz...@gmail.com 
  wrote:
   Is there any reason, that one can't find a function that splits a list
   at a seperator in the standard library? I imagined something like this:
  
  
      splitSeperator :: Eq a = a - [a] - [[a]]
  
      splitSeperator ',' foo,bar,baz
        -- [foo,bar,baz]
  
   Or something similar? This is needed so often, even if I can implement
   it in one line, is there any reason why it's not in the libs?
 
  See http://hackage.haskell.org/package/split
 
  The reason it's not in Data.List is because there are a bazillion
  different splits one might want (when I was pondering the issue before
  Brent released it, I had collected something like 8 different proposed
  splits), so no agreement could ever be reached.
 
  It is curious though that the Python community managed to agree on a
  single implementation and include that in the standard library… So it is
  possible :)
 
  I also needed a split function and ended up with coding one that behaves
  like the Python one for my project.
 
  regards,
  iustin
 
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Iustin Pop
On Sun, Feb 13, 2011 at 11:21:42AM +0100, Henning Thielemann wrote:
 
 On Sun, 13 Feb 2011, Iustin Pop wrote:
 
 On Sat, Feb 12, 2011 at 11:21:37AM -0500, Gwern Branwen wrote:
 
 See http://hackage.haskell.org/package/split
 
 The reason it's not in Data.List is because there are a bazillion
 different splits one might want (when I was pondering the issue before
 Brent released it, I had collected something like 8 different proposed
 splits), so no agreement could ever be reached.
 
 It is curious though that the Python community managed to agree on a
 single implementation and include that in the standard library… So it is
 possible :)
 
 It was not the implementation, that was discussed in length, but it
 was the question, what 'split' shall actually do.

Doh, of course I meant they managed to agree on a single definition of
what split means. Sorry for bad wording.

 If you are satisfied with a simple Haskell 98 implementation of a
 'split' operation you might like 'chop' in
   
 http://hackage.haskell.org/packages/archive/utility-ht/0.0.5.1/doc/html/Data-List-HT.html

Probably, but when I can have my own version in ~4 lines of Haskell, I'd
rather not have another dependency (that might or might not be packaged
in my distro).

regards,
iustin

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Evan Laforge
 The reason it's not in Data.List is because there are a bazillion
 different splits one might want (when I was pondering the issue before
 Brent released it, I had collected something like 8 different proposed
 splits), so no agreement could ever be reached.

 It is curious though that the Python community managed to agree on a
 single implementation and include that in the standard library… So it is
 possible :)

This is sometimes cited as the advantage of a benevolent
dictator-for-life.  I remember there was lots of argument when 'join'
was added as a string method (vs. should it be a list method).  In the
end, Guido decided on one and that's what went in.  Fortunately that
particular dilemma is one forced by single-dispatch OO and doesn't
apply to haskell :)

I also wrote simple 'split' and 'join' functions that behave like the
python ones.  I use them all the time.  It doesn't bother me that
there are lots of other possible implementations, the simple 'join ::
String - [String] - String' and 'split :: String - String -
[String]' versions work in enough cases.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-13 Thread Max Rabkin
On Mon, Feb 14, 2011 at 07:52, Evan Laforge qdun...@gmail.com wrote:
 the simple 'join ::
 String - [String] - String' and 'split :: String - String -
 [String]' versions work in enough cases.

BTW, this join is Data.List.intercalate.

--Max

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why is there no splitSeperator function in Data.List

2011-02-12 Thread Gwern Branwen
On Sat, Feb 12, 2011 at 11:00 AM, Robert Clausecker fuz...@gmail.com wrote:
 Is there any reason, that one can't find a function that splits a list
 at a seperator in the standard library? I imagined something like this:


    splitSeperator :: Eq a = a - [a] - [[a]]

    splitSeperator ',' foo,bar,baz
      -- [foo,bar,baz]

 Or something similar? This is needed so often, even if I can implement
 it in one line, is there any reason why it's not in the libs?

See http://hackage.haskell.org/package/split

The reason it's not in Data.List is because there are a bazillion
different splits one might want (when I was pondering the issue before
Brent released it, I had collected something like 8 different proposed
splits), so no agreement could ever be reached.

-- 
gwern
http://www.gwern.net

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe