Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-26 Thread Daniel Fischer
Am Sonntag 26 April 2009 04:38:42 schrieb Jason Dusek:
  As always, opinions on aesthetics differ slightly, but
  overall, everyone seems to mostly agree...

   Eh? Since when did they mostly agree? The 200 column example
   we've seen brought out a lot of disagreement.

Well, to be picky, Bob (Thomas Davie) wrote:

  As always, opinions on aesthetics differ  
  slightly, but overall, everyone seems to mostly agree that we should  
  try to keep lines short where possible, but lengthen then when needed.

And the disagreement is about whether it's needed to lengthen such lines.

While I can easily imagine the need for 100-character lines to improve 
readability, 200 is 
way beyond my imagination :)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-26 Thread Jason Dusek
2009/04/26 Daniel Fischer daniel.is.fisc...@web.de:
 While I can easily imagine the need for 100-character lines to
 improve readability, 200 is way beyond my imagination :)

  It's not beyond someone's imagination, though. Would you like
  that line to land on your screen?

  If we do not preserve the old ways, it'll be anarchy all the
  way down.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-26 Thread Daniel Fischer
Am Sonntag 26 April 2009 23:08:41 schrieb Jason Dusek:
 2009/04/26 Daniel Fischer daniel.is.fisc...@web.de:
  While I can easily imagine the need for 100-character lines to
  improve readability, 200 is way beyond my imagination :)

   It's not beyond someone's imagination, though. Would you like
   that line to land on your screen?

Nope. I like my lines short.


   If we do not preserve the old ways, it'll be anarchy all the
   way down.

 --
 Jason Dusek

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-26 Thread Jason Dusek
2009/04/26 Miguel miguelim...@yandex.ru:
 2009/04/26 Jason Dusek jason.du...@gmail.com:
 If we do not preserve the old ways, it'll be anarchy all the
 way down.

 How exactly are you going to preserve old ways?

  Whenever are we are presented with the a question of correct
  conduct, we must re-affirm our commitment to the practices
  handed down to us.

  When we revisit this question -- Should we maintain the 80
  column limit? -- it as an opporunity to affirm this practice.
  Through this exercize, we perenially renew our faith in this
  convention, accepting the bonds of convention.

  This ritual -- the line-length reminding ritual -- is played
  out across all programming communities several times a year.
  Everyone says the same things. Then they all go away with the
  80 column limit re-established in their minds.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-26 Thread Richard O'Keefe


On 25 Apr 2009, at 8:59 pm, Miguel Mitrofanov wrote:


Something like

newtype MyCoolMonad = MyCoolMonad (FirstTransformer  
(SecondTransformer (ThirdTransformer Whatever))) deriving (Functor,  
Monad, FirstClass, SecondClass, ThirdClass, SomeOtherClass)


Nobody would be really interested in deriving clause, because it  
basically says derive everything possible. Therefore, it seems  
pointless to move it to another line.


For what it's worth, my personal Haskell style lines up

data T
   = C1 ...
   | ...
   | Cn ...
   deriving (...)

so I'd have this as

newtype MyCoolMonad
  = MyCoolMonad (FirstTransformer (SecondTransformer  
(ThirdTransformer Whatever)))
  deriving (Functor, Monad, FirstClass, SecondClass, ThirdClass,  
SomeOtherClass)


where the longest line is 86 columns.

I would regard putting the 'deriving' clause on the same line as
'newtype' as obfuscatory except perhaps in the most trivial case.

I wouldn't be at all happy with 86 columns, so I'd shrink it further.

But this is progress.

We've moved from is a 200-column line reasonable
to is attaching an already long deriving clause to the end of the
previous line on the grounds that nobody will be interested in
it
good layout style or not, and why/why not?

I'll note there that the costs and benefits are, as usual,
asymmetric.  Someone who already understands what this is
all about, in particular someone who knows what everything
possible is, will be helped by hiding irrelevant detail (if
this _is_ a way to hide it).  Someone other than the author
may very well not know this, and this deriving clause may
even be the way that they learn it.


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Daniel Fischer
Am Samstag 25 April 2009 08:48:16 schrieb Thomas Davie:
 On 24 Apr 2009, at 14:37, Loup Vaillant wrote:
  2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:
  On 23 Apr 2009, at 12:17, Thomas Davie wrote:
  Haskell is a very horizontal language, and to limit our horizontal
  space
  seems pretty weird.
 
  +1. I sometimes use lines up to 200 characters long, when I feel
  they would
  be more readable.
 
  200 sounds awfully long. Do you have any example?

 Sure...

 arrow :: forall (~) b c d e. ( Arrow (~), Show (d ~ e), Show (c ~
 d), Show (b ~ c), Show b, Show c, Show d, Show e, Arbitrary (d ~ e),
 Arbitrary (c ~ d), Arbitrary (b ~ c), Arbitrary b, Arbitrary c,
 Arbitrary d, Arbitrary e, EqProp (b ~ e), EqProp (b ~ d), EqProp
 ((b,d) ~ c), EqProp ((b,d) ~ (c,d)), EqProp ((b,e) ~ (d,e)), EqProp
 ((b,d) ~ (c,e)), EqProp b, EqProp c, EqProp d, EqProp e) = b ~
 (c,d,e) - TestBatch

  .

 In all seriousness though, that one got broken, but I do find that I
 occasionally have lines around 100 characters that just look silly if
 I break them, this is a good example:

  filterNonRoots (GCase e bs) = filter ((/= e) ^()^
 (not . (`elem` bs)))

Not that I'd deny that it can sometimes be more readable to have longer lines*, 
but in 
this example, would

  filterNonRoots (GCase e bs) 
  = filter ((/= e) ^()^ (not . (`elem` bs)))

be any less readable in your opinion?

[*] but I think 200 characters is beyond the limit

 Bob

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Miguel Mitrofanov

Something like

newtype MyCoolMonad = MyCoolMonad (FirstTransformer (SecondTransformer  
(ThirdTransformer Whatever))) deriving (Functor, Monad, FirstClass,  
SecondClass, ThirdClass, SomeOtherClass)


Nobody would be really interested in deriving clause, because it  
basically says derive everything possible. Therefore, it seems  
pointless to move it to another line.


On 24 Apr 2009, at 16:37, Loup Vaillant wrote:


2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:

On 23 Apr 2009, at 12:17, Thomas Davie wrote:

Haskell is a very horizontal language, and to limit our horizontal  
space

seems pretty weird.


+1. I sometimes use lines up to 200 characters long, when I feel  
they would

be more readable.


200 sounds awfully long. Do you have any example?

Loup
___
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: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Thomas Davie


On 25 Apr 2009, at 10:51, Daniel Fischer wrote:


Am Samstag 25 April 2009 08:48:16 schrieb Thomas Davie:

On 24 Apr 2009, at 14:37, Loup Vaillant wrote:

2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:

On 23 Apr 2009, at 12:17, Thomas Davie wrote:

Haskell is a very horizontal language, and to limit our horizontal
space
seems pretty weird.


+1. I sometimes use lines up to 200 characters long, when I feel
they would
be more readable.


200 sounds awfully long. Do you have any example?


Sure...

arrow :: forall (~) b c d e. ( Arrow (~), Show (d ~ e), Show (c ~
d), Show (b ~ c), Show b, Show c, Show d, Show e, Arbitrary (d ~  
e),

Arbitrary (c ~ d), Arbitrary (b ~ c), Arbitrary b, Arbitrary c,
Arbitrary d, Arbitrary e, EqProp (b ~ e), EqProp (b ~ d), EqProp
((b,d) ~ c), EqProp ((b,d) ~ (c,d)), EqProp ((b,e) ~ (d,e)),  
EqProp

((b,d) ~ (c,e)), EqProp b, EqProp c, EqProp d, EqProp e) = b ~
(c,d,e) - TestBatch


.


In all seriousness though, that one got broken, but I do find that I
occasionally have lines around 100 characters that just look silly if
I break them, this is a good example:

filterNonRoots (GCase e bs) = filter ((/= e) ^()^
(not . (`elem` bs)))


Not that I'd deny that it can sometimes be more readable to have  
longer lines*, but in

this example, would

 filterNonRoots (GCase e bs)
 = filter ((/= e) ^()^ (not . (`elem` bs)))

be any less readable in your opinion?


Yes – this particular line is mixed in with several other pattern  
matches, each of which has a similar form, laying it out on one line  
lets you see the similarities and differences, laying it out on two  
lines creates visual noise.


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Xiao-Yong Jin
Miguel Mitrofanov miguelim...@yandex.ru writes:

 On 24 Apr 2009, at 16:37, Loup Vaillant wrote:

 2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:
 On 23 Apr 2009, at 12:17, Thomas Davie wrote:

 Haskell is a very horizontal language, and to limit our horizontal
 space
 seems pretty weird.

 +1. I sometimes use lines up to 200 characters long, when I feel
 they would
 be more readable.

 200 sounds awfully long. Do you have any example?

 Something like

 newtype MyCoolMonad = MyCoolMonad (FirstTransformer (SecondTransformer
 (ThirdTransformer Whatever))) deriving (Functor, Monad, FirstClass,
 SecondClass, ThirdClass, SomeOtherClass)

 Nobody would be really interested in deriving clause, because it
 basically says derive everything possible. Therefore, it seems
 pointless to move it to another line.

You don't write lisp, do you?  Or probably it is just me.
But I would prefer to write the line as

newtype MyCoolMonad = MyCoolMonad (FirstTransformer
   (SecondTransformer
(ThirdTransformer Whatever)))
deriving (Functor, Monad,
  FirstClass, SecondClass, ThirdClass, SomeOtherClass)

It is just so much clearer than a one liner.  I'd like to
hear what people think about it, comparing to

newtype MyCoolMonad = MyCoolMonad (FirstTransformer (SecondTransformer 
(ThirdTransformer Whatever))) deriving (Functor, Monad, FirstClass, 
SecondClass, ThirdClass, SomeOtherClass)

(Yes, I rewrote it so it actually is in one line.  You email
editor clearly fooled you.)

P.S. I moved your reply down below the citation to make this
email easier to understand.
-- 
c/*__o/*
\ * (__
*/\  
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Miguel Mitrofanov


On 25 Apr 2009, at 18:34, Xiao-Yong Jin wrote:


Miguel Mitrofanov miguelim...@yandex.ru writes:


On 24 Apr 2009, at 16:37, Loup Vaillant wrote:


2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:

On 23 Apr 2009, at 12:17, Thomas Davie wrote:


Haskell is a very horizontal language, and to limit our horizontal
space
seems pretty weird.


+1. I sometimes use lines up to 200 characters long, when I feel
they would
be more readable.


200 sounds awfully long. Do you have any example?


Something like

newtype MyCoolMonad = MyCoolMonad (FirstTransformer  
(SecondTransformer

(ThirdTransformer Whatever))) deriving (Functor, Monad, FirstClass,
SecondClass, ThirdClass, SomeOtherClass)

Nobody would be really interested in deriving clause, because it
basically says derive everything possible. Therefore, it seems
pointless to move it to another line.


You don't write lisp, do you?  Or probably it is just me.
But I would prefer to write the line as

newtype MyCoolMonad = MyCoolMonad (FirstTransformer
  (SecondTransformer
   (ThirdTransformer Whatever)))


Well, first impression I've got from this was that FirstTransformer,  
SecondTransformer and the rest are on the same level:


newtype MyCool Monad = MyCoolMonad (FirstTransformer)  
(SecondTransformer) (ThirdTransformer Whatever)


which is very confusing.


   deriving (Functor, Monad,
 FirstClass, SecondClass, ThirdClass, SomeOtherClass)


A lot of unnecessary information distracting the reader. It's better  
kept somewhere else, where it doesn't attract too much attention -  
like in the end of the line.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Daniel Fischer
Am Samstag 25 April 2009 16:44:45 schrieb Miguel Mitrofanov:
 On 25 Apr 2009, at 18:34, Xiao-Yong Jin wrote:
  Miguel Mitrofanov miguelim...@yandex.ru writes:
  On 24 Apr 2009, at 16:37, Loup Vaillant wrote:
  2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:
  On 23 Apr 2009, at 12:17, Thomas Davie wrote:
  Haskell is a very horizontal language, and to limit our horizontal
  space
  seems pretty weird.
 
  +1. I sometimes use lines up to 200 characters long, when I feel
  they would
  be more readable.
 
  200 sounds awfully long. Do you have any example?
 
  Something like
 
  newtype MyCoolMonad = MyCoolMonad (FirstTransformer
  (SecondTransformer
  (ThirdTransformer Whatever))) deriving (Functor, Monad, FirstClass,
  SecondClass, ThirdClass, SomeOtherClass)
 
  Nobody would be really interested in deriving clause, because it
  basically says derive everything possible. Therefore, it seems
  pointless to move it to another line.
 
  You don't write lisp, do you?  Or probably it is just me.
  But I would prefer to write the line as
 
  newtype MyCoolMonad = MyCoolMonad (FirstTransformer
(SecondTransformer
 (ThirdTransformer Whatever)))

 Well, first impression I've got from this was that FirstTransformer,
 SecondTransformer and the rest are on the same level:

 newtype MyCool Monad = MyCoolMonad (FirstTransformer)
 (SecondTransformer) (ThirdTransformer Whatever)

 which is very confusing.

You have a point there. If split over several lines, I'd recommend each line 
indented 
further than the previous to indicate nesting:

newtype MyCoolMonad
= MyCoolMonad
  (FirstTransformer
  (SecondTransformer
  (ThirdTransformer Whatever)))

But I wouldn't really prefer that over having it on one line.


 deriving (Functor, Monad,
   FirstClass, SecondClass, ThirdClass, SomeOtherClass)

 A lot of unnecessary information distracting the reader. It's better
 kept somewhere else, where it doesn't attract too much attention -
 like in the end of the line.

There I have to disagree. IMO, having the deriving clause on the same line 
(unless it's a 
very short one) obscures the code and makes it *much* harder to read.


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Felipe Lessa
On Sat, Apr 25, 2009 at 10:34:05AM -0400, Xiao-Yong Jin wrote:
 You don't write lisp, do you?  Or probably it is just me.
 But I would prefer to write the line as

 newtype MyCoolMonad = MyCoolMonad (FirstTransformer
(SecondTransformer
 (ThirdTransformer Whatever)))
 deriving (Functor, Monad,
   FirstClass, SecondClass, ThirdClass, SomeOtherClass)

Doubtlessly, this is better than a one-liner, and I don't write
lisp :).  However I'd change the deriving clause and write it as

newtype MyCoolMonad = MyCoolMonad (FirstTransformer
   (SecondTransformer
(ThirdTransformer Whatever)))
  deriving (Functor, Monad, FirstClass, SecondClass,
ThirdClass, SomeOtherClass)

I don't think deriving clauses are unimportant and I like to see
them.  Also, I don't mistake the transformers as different
parameters because of the parenthesis and because they're
transformers, reading their names gives you a clue of how they
may be used.  Whoever knows transformers expect to see this kind
of nesting.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Miguel Mitrofanov


On 25 Apr 2009, at 19:08, Felipe Lessa wrote:


On Sat, Apr 25, 2009 at 10:34:05AM -0400, Xiao-Yong Jin wrote:

You don't write lisp, do you?  Or probably it is just me.
But I would prefer to write the line as

newtype MyCoolMonad = MyCoolMonad (FirstTransformer
  (SecondTransformer
   (ThirdTransformer Whatever)))
   deriving (Functor, Monad,
 FirstClass, SecondClass, ThirdClass, SomeOtherClass)


Doubtlessly, this is better than a one-liner, and I don't write
lisp :).


Doubtfully, after reading a message from Daniel Fischer.


Also, I don't mistake the transformers as different
parameters because of the parenthesis


You should really try Lisp. In my opinion, parenthesis are a kind of  
noise - too small, too many.



and because they're
transformers, reading their names gives you a clue of how they
may be used.


So... you really think transformers CAN'T be parameters? You're going  
to be surprised.



 Whoever knows transformers expect to see this kind
of nesting.


Whoever knows Haskell - no offense - expects to see both.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Felipe Lessa
On Sat, Apr 25, 2009 at 07:38:59PM +0400, Miguel Mitrofanov wrote:
 Also, I don't mistake the transformers as different
 parameters because of the parenthesis

 You should really try Lisp. In my opinion, parenthesis are a kind of
 noise - too small, too many.

I don't try lisp because I don't like a lot of parenthesis as
well.  However the problem isn't with parenthesis, it is with
their excessive usage.  In this case they're helpful, IMO.

 and because they're transformers, reading their names gives
 you a clue of how they may be used.

 So... you really think transformers CAN'T be parameters? You're going to
 be surprised.
[...]
 Whoever knows Haskell - no offense - expects to see both.

Haha :), so giving a clue of how they may be used means
meaning that they will always be fully applied now?  Sorry, but
don't go hostile on me putting words on my mouth.

How do you *usually* see transformers being used?  Questions of
how you read something in a glance have to touch the question of
how much you *expect* to see something. So, if I expect to see

data D = Constructor Something
 Other
 Here

or

data D = Constructor {field1 :: Something
 ,field2 :: Other
 ,field3 :: Here}

then I can misread

data D = Constructor (Something
  (Other
   Here))

This is Daniel's point: you misread it because you expected
something else.  So, was Daniel trying to say that you can't have
one field on multiple lines?  Not at all.  When I see two or more
transformers, I expect to see them nested, and probably most
other people have the same expectations.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Miguel Mitrofanov


On 25 Apr 2009, at 19:59, Felipe Lessa wrote:


On Sat, Apr 25, 2009 at 07:38:59PM +0400, Miguel Mitrofanov wrote:

Also, I don't mistake the transformers as different
parameters because of the parenthesis


You should really try Lisp. In my opinion, parenthesis are a kind of
noise - too small, too many.


I don't try lisp because I don't like a lot of parenthesis as
well.  However the problem isn't with parenthesis, it is with
their excessive usage.  In this case they're helpful, IMO.


Of course they are. My point was not that everything should be clear  
without parenthesis, but that the user shouldn't have false  
impressions - the notation should either give a true impression (like  
Daniel suggested, with every other line indented more than the  
previous one - though I don't like it), or not to give any impression  
at all, so that the reader would be forced to read the noise.



and because they're transformers, reading their names gives
you a clue of how they may be used.


So... you really think transformers CAN'T be parameters? You're  
going to

be surprised.

[...]

Whoever knows Haskell - no offense - expects to see both.


Haha :), so giving a clue of how they may be used means
meaning that they will always be fully applied now?


Well, then, is that ALWAYS so obvious that this particular name  
denotes a transformer? Of course, if it's not a standard transformer  
like StateT or WriterT, but something written by the same guy who  
invented this MyCoolMonad type?

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Jason Dusek
  There will always be some people who prefer longer lines. The
  real issue is, how do we deal with the fundamental
  disagreement here? It's not like we can have both. Also those
  people who like long lines -- will they all agree to a long
  line length?

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Thomas Davie


On 25 Apr 2009, at 21:09, Jason Dusek wrote:


 There will always be some people who prefer longer lines. The
 real issue is, how do we deal with the fundamental
 disagreement here? It's not like we can have both. Also those
 people who like long lines -- will they all agree to a long
 line length?


Is there a fundamental disagreement here?

There are those who are driven by an archaic standard from the width  
of the terminal screen, and there are those who are driven by the  
aesthetics of their code.  As always, opinions on aesthetics differ  
slightly, but overall, everyone seems to mostly agree that we should  
try to keep lines short where possible, but lengthen then when needed.


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread namekuseijin
It's surely more than enough to Haskell, Python, Perl, C++ and other
very concise and expressive languages.  But for Java and the likes it
may well be just barely enough for a single *identifier* alone!!  :P

2009/4/21 Dusan Kolar ko...@fit.vutbr.cz:
 Dear all,

  reading that

 according the several style guides, lines shouldn't be too long
 (longer than 78 characters).
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread namekuseijin
2009/4/21 Edward Kmett ekm...@gmail.com:
 I find a hard 80 character line length limit to be somewhat ridiculous in
 this day and age. I've long since revised my personal rule of thumb upwards
 towards 132, if only because I can still show two windows of that side by
 side with no worries, along with all the IDE browsing baggage, even on a
 fairly crippled laptop, and I've been able to have 132 columns since I
 picked up my first vt220 terminal in 1984 or so.

Good catch.  But here's another:  modern day IDEs like Eclipse or
Netbeans offer so friggin' many features all in-you-face at the same
time that the puny window reserved for code may be very well in the
80-chars limit anyway. ;)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread namekuseijin
On Tue, Apr 21, 2009 at 9:52 AM, Neil Mitchell ndmitch...@gmail.com wrote:
 P.S.  We really need such a well written style guide for
  haskell.  Python has this nice PEP (Python Enhancement
  Proposals).  Should we start making our own HEP?

 We have one: urchin.earth.li/~ian/style/haskell.html

It should be called the Haskell Enhacement Language Proposals to get
any attention. ;)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-25 Thread Jason Dusek
2009/04/25 Thomas Davie tom.da...@gmail.com:
 2009/04/25 Jason Dusek:
 There will always be some people who prefer longer lines. The
 real issue is, how do we deal with the fundamental
 disagreement here? It's not like we can have both. Also those
 people who like long lines -- will they all agree to a long
 line length?

 There are those who are driven by an archaic standard from the
 width of the terminal screen, and there are those who are
 driven by the aesthetics of their code.

  False dichotomy :) I am appalled on an aesthetic as well as
  practical level by lines that reach outside my terminal. It's
  not important, though -- that's something I've gotten used to;
  naturally if the standard had been 100 I would have gotten
  used to that. It's about following clear standards, not
  ignorance of the width of my screen.

 As always, opinions on aesthetics differ slightly, but
 overall, everyone seems to mostly agree...

  Eh? Since when did they mostly agree? The 200 column example
  we've seen brought out a lot of disagreement.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-24 Thread Loup Vaillant
2009/4/23 Miguel Mitrofanov miguelim...@yandex.ru:
 On 23 Apr 2009, at 12:17, Thomas Davie wrote:

 Haskell is a very horizontal language, and to limit our horizontal space
 seems pretty weird.

 +1. I sometimes use lines up to 200 characters long, when I feel they would
 be more readable.

200 sounds awfully long. Do you have any example?

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-23 Thread Matthijs Kooijman
   Some material I've read on typography -- can't find the
   reference now -- suggests ~65 is the best number of characters
   per line. The advice was, if your page is larger than that,
   you should make columns.
That fits my observations. In particular, I noticed that your emails were
particularly comfortable to read, which might also be partly be caused by the
extra indent at the start of your lines, which also seems comfortable. Not
sure how applicabable all this is to code, though :-)

Gr.

Matthijs


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-23 Thread Thomas Davie


On 23 Apr 2009, at 10:02, Matthijs Kooijman wrote:


 Some material I've read on typography -- can't find the
 reference now -- suggests ~65 is the best number of characters
 per line. The advice was, if your page is larger than that,
 you should make columns.
That fits my observations. In particular, I noticed that your emails  
were
particularly comfortable to read, which might also be partly be  
caused by the
extra indent at the start of your lines, which also seems  
comfortable. Not

sure how applicabable all this is to code, though :-)


I think the non-applicable to code observation is very likely true –  
we'd like to be able to write nice descriptive variable names.  In  
doing this, we probably want them to be more than the 1 or 2  
characters that Haskellers traditionally use, maybe of the order of  
5-10.


Given this, it would seem a shame to only be able to fit 6-13  
litterals on a line, that sounds like we'll quickly be having to wrap  
lines with deffinititions of any significance on them.


My personal preference with Haskell is to ignore the 78 character  
limit, but only when layout otherwise becomes horrible otherwise.


Haskell is a very horizontal language, and to limit our horizontal  
space seems pretty weird.


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-23 Thread Miguel Mitrofanov


On 23 Apr 2009, at 12:17, Thomas Davie wrote:



On 23 Apr 2009, at 10:02, Matthijs Kooijman wrote:


Some material I've read on typography -- can't find the
reference now -- suggests ~65 is the best number of characters
per line. The advice was, if your page is larger than that,
you should make columns.
That fits my observations. In particular, I noticed that your  
emails were
particularly comfortable to read, which might also be partly be  
caused by the
extra indent at the start of your lines, which also seems  
comfortable. Not

sure how applicabable all this is to code, though :-)


I think the non-applicable to code observation is very likely true –  
we'd like to be able to write nice descriptive variable names.  In  
doing this, we probably want them to be more than the 1 or 2  
characters that Haskellers traditionally use, maybe of the order of  
5-10.


Given this, it would seem a shame to only be able to fit 6-13  
litterals on a line, that sounds like we'll quickly be having to  
wrap lines with deffinititions of any significance on them.


My personal preference with Haskell is to ignore the 78 character  
limit, but only when layout otherwise becomes horrible otherwise.


Haskell is a very horizontal language, and to limit our horizontal  
space seems pretty weird.


+1. I sometimes use lines up to 200 characters long, when I feel they  
would be more readable.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-22 Thread Jason Dusek
  The question of which column width is right is not a
  revealing one -- there is little technical or scientific basis
  to prefer 117 to 80.

  The line length that we prefer is similarly unenlightening.
  The number of people who, when pushing for column widths
  greater than 80, choose 132 instead shows us how just how
  unexploratory and hidebound folks are on this issue. Like you
  didn't pick 132 because it's the other traditional terminal
  size.

  Column width is rather like driving on a certain side of the
  road. Is one side better than the other? No. Let's change it!
  Why? The year after you change the ordinance, people will
  still be crashing into one another when they get up in the
  morning and switch by mistake -- and people out in the country
  will drive on the old side for a decade afterward, to Hell
  with the law. All this and *not for any benefit*.

  The effect of liberalizing the line length will be anarchy.
  I'll be resizing my terminal several times a week because some
  goofball likes 91 characters while another likes 354. Whereas
  now, we expect code from most sources to fit in 80 columns
  *and it does*. I've not changed the width of my terminal for
  code, email or reading in, well, uhm -- well ever since I
  changed it to 80.

  80 columns is a wise limit because it's in wide use. It's not
  about whether I like it best -- it's about whether I expect
  most everyone else to be happy with code that I write in it
  (and I do). In matters where there is no clearcut best answer,
  social convention creates a clear expectation.

  Now in the presence of new knowledge, social convention must
  be changed. Unfortunately, there is no new science on line
  lengths. There is no reason to prefer any other column width
  to 80; the number was chosen a long time ago. Let's accept it
  and move on.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-22 Thread Jason Dusek
  Really, the whole thing makes me wish we had blasphemy laws.

If any person, in speaking or in writing, shall indicate
a preference for column widths other than 80 or indent
characters other than spaces (`0x20`) they shall be
compelled to present some science or be subject to
imprisonment.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-22 Thread Richard O'Keefe


On 22 Apr 2009, at 8:09 pm, Jason Dusek wrote:


 Really, the whole thing makes me wish we had blasphemy laws.

   If any person, in speaking or in writing, shall indicate
   a preference for column widths other than 80 or indent
   characters other than spaces (`0x20`) they shall be
   compelled to present some science or be subject to
   imprisonment.


I did find a paper that claimed that 95-character lines were
significantly faster to read than three shorter lengths.  On
closer study, it turned out that they were using the paging
model rather than the scrolling model:  once you came to
the end of a (short) page of text, you had to hit the Next
button to see the next page.  What they had in fact proved
was that hitting the Next Page button takes time...

Now that I have access to a recent Mac laptop, I've found that
in reading plain text, I like to make the lines narrower and
to approximate continuous scrolling: read one paragraph, stroke
the pad to move the next one up, keep on doing it.

There are several important differences between program text
and ordinary running natural language text.  In particular,
program text is two-dimensional in a way that ordinary text
is not.

By the way, in the era of punched cards, while the *cards*
were 80 columns, one's *text area* was not.  Typically the
last 8 columns were used for a sequence number, so that if
you dropped your cards -- yes, this happened -- you could
sort them back into order, and to provide editing facilities.
So people were really programming with 72-column lines.
That seemed to work pretty well, and printers seemed to have
no trouble reproducing it in books.

I do know a psychologist who has done reading studies; I
must see if I can talk him into looking into this.

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-22 Thread Jason Dusek
  Some material I've read on typography -- can't find the
  reference now -- suggests ~65 is the best number of characters
  per line. The advice was, if your page is larger than that,
  you should make columns.

  If someone has done some studies with specifically program
  text, I'd of course be really interested to know what they
  discovered; but I really do suspect the issue of line length
  is more about having a convention than having the best one.
  Would people who prefer, for example, 132 character lines
  switch to 66 if that were empirically the best? Probably not.

  The 80 column convention sets a clear expectation for all of
  us; it's not a matter of what anyone likes.

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


Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Dusan Kolar

Dear all,

 reading that


according the several style guides, lines shouldn't be too long
(longer than 78 characters).

http://www.cs.caltech.edu/courses/cs11/material/haskell/misc/haskell_style_guide.html
http://www.haskell.org/haskellwiki/Programming_guidelines
  
I would like to know, whether 78 characters bound still makes a sense... 
Even if I connect to my linux box with text terminal, it is not a 80x24 
characters HW text terminal, but a window emulating this in whatever 
else OS, thus, I can usually extend this to see longer lines easily.


Or is the reason much deeper? Or, is the bound set to 78 characters just 
because it is as good number as any other?


Regards,

 Dušan

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Xiao-Yong Jin
Dusan Kolar ko...@fit.vutbr.cz writes:

 Dear all,

  reading that

 according the several style guides, lines shouldn't be too long
 (longer than 78 characters).

 http://www.cs.caltech.edu/courses/cs11/material/haskell/misc/haskell_style_guide.html
 http://www.haskell.org/haskellwiki/Programming_guidelines
   
 I would like to know, whether 78 characters bound still makes a
 sense... Even if I connect to my linux box with text terminal, it is
 not a 80x24 characters HW text terminal, but a window emulating this
 in whatever else OS, thus, I can usually extend this to see longer
 lines easily.

 Or is the reason much deeper? Or, is the bound set to 78 characters
 just because it is as good number as any other?

I believe it is a good practice too keep each line short and
easy to read.  The following is taken from python style
guide.

 Maximum Line Length

Limit all lines to a maximum of 79 characters.

There are still many devices around that are limited to 80 character
lines; plus, limiting windows to 80 characters makes it possible to have
several windows side-by-side.  The default wrapping on such devices
disrupts the visual structure of the code, making it more difficult to
understand.  Therefore, please limit all lines to a maximum of 79
characters.  For flowing long blocks of text (docstrings or comments),
limiting the length to 72 characters is recommended.

http://www.python.org/dev/peps/pep-0008/

P.S.  We really need such a well written style guide for
  haskell.  Python has this nice PEP (Python Enhancement
  Proposals).  Should we start making our own HEP?
-- 
c/*__o/*
\ * (__
*/\  
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Neil Mitchell
Hi

 I believe it is a good practice too keep each line short and
 easy to read.  The following is taken from python style
 guide.

  Maximum Line Length

    Limit all lines to a maximum of 79 characters.

    There are still many devices around that are limited to 80 character
    lines; plus, limiting windows to 80 characters makes it possible to have
    several windows side-by-side.  The default wrapping on such devices
    disrupts the visual structure of the code, making it more difficult to
    understand.  Therefore, please limit all lines to a maximum of 79
    characters.  For flowing long blocks of text (docstrings or comments),
    limiting the length to 72 characters is recommended.

 http://www.python.org/dev/peps/pep-0008/

 P.S.  We really need such a well written style guide for
      haskell.  Python has this nice PEP (Python Enhancement
      Proposals).  Should we start making our own HEP?

We have one: urchin.earth.li/~ian/style/haskell.html
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Richard Kelsall

Dusan Kolar wrote:
...
Or is the reason much deeper? Or, is the bound set to 78 characters just 
because it is as good number as any other?

...
As a little historical detour I think the 80 character limit goes back
to 1928 when IBM designed their punched card format

http://en.wikipedia.org/wiki/Punched_card#IBM_80_column_punch_card_format

I guess it subsequently got embedded into printing and screen widths
and related software. The slightly less than 80 characters allows for
CR LF characters.


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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Edward Kmett
I find a hard 80 character line length limit to be somewhat ridiculous in
this day and age. I've long since revised my personal rule of thumb upwards
towards 132, if only because I can still show two windows of that side by
side with no worries, along with all the IDE browsing baggage, even on a
fairly crippled laptop, and I've been able to have 132 columns since I
picked up my first vt220 terminal in 1984 or so.

It seems silly _25 years later_ to still not be able to have even that much
breathing room.

Shorter lengths work very poorly in languages like C# with long LINQ
queries, you tend to have verbose enough member and method names that you
obtain some pretty ridiculous splits. You wind up with some similar
scenarios with list compehensions in Haskell.
I'm not saying that every line should be 130+ characters long, I'm just
saying that 132 characters seems like a more natural hard cut off point.

-Edward Kmett


On Tue, Apr 21, 2009 at 10:53 AM, Richard Kelsall
r.kels...@millstream.comwrote:

 Dusan Kolar wrote:
 ...

 Or is the reason much deeper? Or, is the bound set to 78 characters just
 because it is as good number as any other?

 ...
 As a little historical detour I think the 80 character limit goes back
 to 1928 when IBM designed their punched card format

 http://en.wikipedia.org/wiki/Punched_card#IBM_80_column_punch_card_format

 I guess it subsequently got embedded into printing and screen widths
 and related software. The slightly less than 80 characters allows for
 CR LF characters.


 Richard.

 ___
 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: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Xiao-Yong Jin
Edward Kmett ekm...@gmail.com writes:

 I find a hard 80 character line length limit to be somewhat ridiculous in this
 day and age. I've long since revised my personal rule of thumb upwards towards
 132, if only because I can still show two windows of that side by side with no
 worries, along with all the IDE browsing baggage, even on a fairly crippled
 laptop, and I've been able to have 132 columns since I picked up my first
 vt220 terminal in 1984 or so.
  

I prefer 3 coding windows side by side.  And being able to
read one line at a glance is a huge advantage.  The size of
my urxvt is 80x77 FYI.

 It seems silly _25 years later_ to still not be able to have even that much
 breathing room.

It is not silly.  With larger monitor, I can fit more
windows side by side.

  
 Shorter lengths work very poorly in languages like C# with long LINQ queries,
 you tend to have verbose enough member and method names that you obtain some
 pretty ridiculous splits. You wind up with some similar scenarios with list
 compehensions in Haskell.

I know nothing about C#, and I don't care about that.  In
Haskell, your list comprehension would be much more
readable, if you break your lines.  The same as complex RE
in perl code.

 I'm not saying that every line should be 130+ characters long, I'm just saying
 that 132 characters seems like a more natural hard cut off point.
  
 -Edward Kmett
-- 
c/*__o/*
\ * (__
*/\  
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Robert Greayer

Xiao-Yong Jin xj2...@columbia.edu wrote:
 Edward Kmett ekm...@gmail.com writes:
 
  I find a hard 80 character line length limit to be
  somewhat ridiculous in this
  day and age. I've long since revised my personal
  rule of thumb upwards towards
  132, if only because I can still show two windows of
  that side by side with no
  worries, along with all the IDE browsing baggage, even
  on a fairly crippled
  laptop, and I've been able to have 132 columns
  since I picked up my first
  vt220 terminal in 1984 or so.
   
 
 I prefer 3 coding windows side by side.  And being able to
 read one line at a glance is a huge advantage.  The size of
 my urxvt is 80x77 FYI.


But the discussion is about a coding standard -- surely if I claimed to like to 
have 4 windows side by side, that wouldn't be a good reason to reduce the 
standard to 40 columns?  Being able to read one line 'at a glance' seems to me 
to be improved if that line contains the complete equation, rather than just a 
fragment.  Comprehension of a group of related equations can be improved if 
they all fit on one screen (vertically).  Some code that I've written is 
intended to look like (and function as) rewrite rules  and looks vastly better 
with pattern and replacement all on the same line.  All the arguments can cut 
both ways -- for those who like coding with windows side by side, what about 
those who like coding with one window above another? Coding style is very 
situational, but the 80 character standard came about due to a once-ubiquitous 
device limitation (which no longer exists).

The *real* purpose of a coding standard, of course, is to give people something 
to argue over when they could be actually doing something more productive.  So 
in the end, it's all good, I suppose.






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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Xiao-Yong Jin
Robert Greayer robgrea...@yahoo.com writes:

 Xiao-Yong Jin xj2...@columbia.edu wrote:
 Edward Kmett ekm...@gmail.com writes:
 
  I find a hard 80 character line length limit to be
  somewhat ridiculous in this
  day and age. I've long since revised my personal
  rule of thumb upwards towards
  132, if only because I can still show two windows of
  that side by side with no
  worries, along with all the IDE browsing baggage, even
  on a fairly crippled
  laptop, and I've been able to have 132 columns
  since I picked up my first
  vt220 terminal in 1984 or so.
   
 
 I prefer 3 coding windows side by side.  And being able to
 read one line at a glance is a huge advantage.  The size of
 my urxvt is 80x77 FYI.


 But the discussion is about a coding standard -- surely if I claimed to like 
 to have 4 windows side by side, that wouldn't be a good reason to reduce the 
 standard to 40 columns?  Being able to read one line 'at a glance' seems to 
 me to be improved if that line contains the complete equation, rather than 
 just a fragment.  Comprehension of a group of related equations can be 
 improved if they all fit on one screen (vertically).  Some code that I've 
 written is intended to look like (and function as) rewrite rules  and looks 
 vastly better with pattern and replacement all on the same line.  All the 
 arguments can cut both ways -- for those who like coding with windows side by 
 side, what about those who like coding with one window above another? Coding 
 style is very situational, but the 80 character standard came about due to a 
 once-ubiquitous device limitation (which no longer exists).

It's probably just a personal taste.  My argument is just
that I prefer moving my eyes vertically to horizontally.
And I like that most news papers do that for me.  And I'm
grateful that most people on the mailing list write emails
with proper line wrap as well.


 The *real* purpose of a coding standard, of course, is to give people 
 something to argue over when they could be actually doing something more 
 productive.  So in the end, it's all good, I suppose.

Right.  We should do something more productive than debating
over such a useless concept related to personal taste.
-- 
c/*__o/*
\ * (__
*/\  
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Michael Mossey



Robert Greayer wrote:


But the discussion is about a coding standard -- surely if I claimed to like to
have 4 windows side by side, that wouldn't be a good reason to reduce the 
standard
to 40 columns?  Being able to read one line 'at a glance' seems to me to be
improved if that line contains the complete equation, rather than just a 
fragment.
Comprehension of a group of related equations can be improved if they all fit on
one screen (vertically).  Some code that I've written is intended to look like
(and function as) rewrite rules  and looks vastly better with pattern and
replacement all on the same line.  All the arguments can cut both ways -- for
those who like coding with windows side by side, what about those who like 
coding
with one window above another? Coding style is very situational, but the 80
character standard came about due to a once-ubiquitous device limitation (which 
no
longer exists).

The *real* purpose of a coding standard, of course, is to give people something 
to
argue over when they could be actually doing something more productive.  So in 
the
end, it's all good, I suppose.


80 characters may be the device limitation from long ago, but there are other reasons 
to keep lines from getting too long, as have been mentioned... the ease of reading 
vertically, the common use of 80-char windows that can be fit side-by-side. As far as 
arguments cutting both ways, I think it's really a Goldilocks question. Some code 
has lines that are clearly too long to be practical (because they will look ugly as 
they wrap on most people's editors), and 40 characters is clearly too short. 
Somewhere in the middle is just right. Now, we may disagree on what just right 
is, but I just want to establish that the various arguments for longer or shorter 
lines can be regarded as forces that tug the coding standard in one direction or the 
other, and I think it's valuable to look for the equilibrium.


I think 80 characters is a decent compromise. 80-character windows seem to be very 
common. At work everyone uses them, and as monitors got wider, they put windows 
side-by-side. Seems like a common practice.


Mike

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Henning Thielemann
Xiao-Yong Jin schrieb:

 P.S.  We really need such a well written style guide for
   haskell.  Python has this nice PEP (Python Enhancement
   Proposals).  Should we start making our own HEP?

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Duncan Coutts
On Tue, 2009-04-21 at 13:52 +0100, Neil Mitchell wrote:

  P.S.  We really need such a well written style guide for
   haskell.  Python has this nice PEP (Python Enhancement
   Proposals).  Should we start making our own HEP?
 
 We have one: urchin.earth.li/~ian/style/haskell.html

Yes, it's good. We should publicise it more.


Duncan

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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Haroldo Stenger
Hi, i hate those html forms that show you [haskell,python] code in a narrow
box that is suposed to make the code clear, but it darkens the code by
cutting it.
Maybe having all lines shorter helps, but the narrow window effect is
chasing us nonsensely.-

haroldo

2009/4/21 Richard Kelsall r.kels...@millstream.com

 Dusan Kolar wrote:
 ...

 Or is the reason much deeper? Or, is the bound set to 78 characters just
 because it is as good number as any other?

 ...
 As a little historical detour I think the 80 character limit goes back
 to 1928 when IBM designed their punched card format

 http://en.wikipedia.org/wiki/Punched_card#IBM_80_column_punch_card_format

 I guess it subsequently got embedded into printing and screen widths
 and related software. The slightly less than 80 characters allows for
 CR LF characters.


 Richard.

 ___
 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: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread wren ng thornton

Dusan Kolar wrote:

Dear all,

 reading that

 according the several style guides, lines shouldn't be too long
 (longer than 78 characters).

 http://www.cs.caltech.edu/courses/cs11/material/haskell/misc/haskell_style_guide.html 


 http://www.haskell.org/haskellwiki/Programming_guidelines

I would like to know, whether 78 characters bound still makes a sense... 
Even if I connect to my linux box with text terminal, it is not a 80x24 
characters HW text terminal, but a window emulating this in whatever 
else OS, thus, I can usually extend this to see longer lines easily.


Or is the reason much deeper? Or, is the bound set to 78 characters just 
because it is as good number as any other?



There is a deeper reason. Much work in typography has shown that humans 
read text best when it's around 76 characters wide; if things get 
narrower than that then cohesion is lost, if things get wider then it 
takes a long time to acquire the beginning of the next line. This is the 
reason why newspapers and magazines are designed with columns at the 
width they are, why the unix fmt tool has the default settings it does, 
why mail readers (e.g. Thunderbird) autowrap around there, etc...


The historical 80x24 terminal is often cited as the reason for the ~80 
character limit, and is as often disparaged as it is praised in light of 
modern displays (does huge display = many windows, or huge display = 
one huge window?). But regardless of technical capabilities, there is a 
cognitive issue at stake. Naturally, code /= text, but there are many 
similarities; I'm not aware of any HCI studies contrasting them in terms 
of cognitive load at different widths however.


--
Live well,
~wren
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Robert Greayer

wren ng thornton w...@freegeek.org wrote:

 There is a deeper reason. Much work in typography has shown
 that humans read text best when it's around 76
 characters wide; if things get narrower than that then
 cohesion is lost, if things get wider then it takes a long
 time to acquire the beginning of the next line.

My impression of the research is that it isn't nearly so conclusive. See [1] 
for a brief survey of findings for online reading speed/comprehension and a 
relatively recent study.  The results are all over the place.  Nevertheless, 
your later point - code /= text, is key.  I'd expect there's a study that 
focuses on code, though I don't have one at my fingertips.  I imagine reading 
speed for code is overall much lower than for natural language, which I expect 
is an important factor affecting eye movement.  I'd also guess that reading 
patterns are quite different -- scanning backward or forward to find a 
definition, etc.  It's different enough that I'd discount research focusing on 
natural language text as being relevant.  



[1] http://psychology.wichita.edu/surl/usabilitynews/72/LineLength.asp



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


Re: Is 78 characters still a good option? Was: [Haskell-cafe] breaking too long lines

2009-04-21 Thread Richard O'Keefe


On 22 Apr 2009, at 2:53 am, Richard Kelsall wrote:


Dusan Kolar wrote:
...
Or is the reason much deeper? Or, is the bound set to 78 characters  
just because it is as good number as any other?

...
As a little historical detour I think the 80 character limit goes back
to 1928 when IBM designed their punched card format


Interestingly enough, IBM also made 96-column cards.
But the one time I had to use them, I found that the
keypunch didn't actually print all 96 columns.

It may be worth noting that the era of 80-column keypunches
was also the era of 132-column printers.  DEC terminals used
to have a 132-column mode, and some terminal emulators still
offer you an 80/132 choice.

Poking around on the web, I found
http://www.svendtofte.com/code/max_width_in_ie/
from which the rest of this message is a quote.
(The original has links.)
-

There has been several studies, on the topic of on line line-lengths,  
one of the better was done by the department of psychology at Wichita  
State University, entitled The Effects of Line Length on Children and  
Adults' Online Reading Performance, and it clearly shows, in many  
different situations, and under different speed requirements, how  
people read on-line. More on the subject can be found in the company  
Human Factors Internationals' newsletter,  Reading Text Online.


While from reading these articles, you get the clear image, that there  
are no firm rules, but only vague ideas, and maybe this is best. But  
still, some conclusions are drawn by the researchers:


From this study, as well as the studies mentioned above, it is  
suggested that full-screen line length should be avoided for on-line  
documents, especially if a large amount of text is presented. For  
adults, it is suggested that medium line lengths should be presented  
(approximately 65 to 75 CPL). Children, on the other hand, indicated  
their preference for the narrowest line length (45 CPL) and, thus, it  
may be beneficial to use narrow line lengths when possible.


The emphasis added are mine. Further, we can also discern, that a good  
reading width, should be around 60 CPL (characters per line).



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