From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <56a297000907151342x334e7793ubfedb791a62f2bd8@mail.gmail.com> References: <7d3530220907151000s60671d2gfdb18cdf12c55097@mail.gmail.com> <0009e18319f5c60dc890463505286c1c@quintile.net> <3e1162e60907151159g5b031e99k2ad8171c9c268392@mail.gmail.com> <9ab217670907151314n4e5c5855oda60cc527bb83422@mail.gmail.com> <56a297000907151342x334e7793ubfedb791a62f2bd8@mail.gmail.com> Date: Wed, 15 Jul 2009 13:51:02 -0700 Message-ID: <3e1162e60907151351n1e88a15ue70da5cdd83317b4@mail.gmail.com> From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=000e0cd6aefa967da7046ec4b6f3 Subject: Re: [9fans] Why does Acme only show text? Topicbox-Message-UUID: 21d4f3b0-ead5-11e9-9d60-3106f5b1d025 --000e0cd6aefa967da7046ec4b6f3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On Wed, Jul 15, 2009 at 1:42 PM, Noah Evans wrote: > http://9fans.net/archive/2008/05/6 Haskell *will* tell you errors that don't make any sense (at least GHC errors) when you don't have things like this done properly do x <- foo y <- bar the y <- bar must be directly under the x on the previous line or it's a syntax error, and the error you get from GHC is "the last statement of a do construct must be an expression" not "dude, you suck at indenting code, and should have used Emacs to keep track of it, because nothing else does the job right". Luckilly Haskell will let you ignore "layout" and do the following: do { x <- foo ; y <- bar } However, I don't see enough of this style code to feel comfortable writing anything I'd plan to share with anyone and expect them to feel ok reading it. Dave > > > On Wed, Jul 15, 2009 at 10:29 PM, Jason Catena > wrote: > > Devon's anecdote is along the lines of my position. I'm sure there's > > a paper somewhere that counts parenthesis versus whitespace errors, > > but I haven't yet read it. I have programmed Lisp and Haskell (at two > > extremes), and from this experience at least much prefer whitespace to > > parentheses. In addition, I rely on design theory (esp. Tufte et al > > on his web site) that reducing clutter aids comprehension, and > > delimiters very much seem clutter to me. > > > > Jason Catena > > > > > > --000e0cd6aefa967da7046ec4b6f3 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Wed, Jul 15, 2009 at 1:42 PM, Noah Ev= ans <noah.evan= s@gmail.com> wrote:
http://9fa= ns.net/archive/2008/05/6

Haskell *will*= tell you errors that don't make any sense (at least GHC errors) when y= ou don't have things like this done properly

do x <- foo
y <- bar

the y <- bar must be directly under the x on the previous line or= it's a syntax error, and the error you get from GHC is "the last = statement of a do construct must be an expression"

not

"dude, you suck at in= denting code, and should have used Emacs to keep track of it, because nothi= ng else does the job right".

Luckilly Haskell= will let you ignore "layout" and do the following:

do=A0{ x <- foo
; y <- bar }
=
However, I don't see enough of this style code to feel c= omfortable writing anything I'd plan to share with anyone and expect th= em to feel ok reading it.

Dave
=A0


On Wed, Jul 15, 2009 at 10:29 PM, Jason Catena<jason.catena@gmail.com> wrote:
> Devon's anecdote is along the lines of my position. =A0I'm sur= e there's
> a paper somewhere that counts parenthesis versus whitespace errors, > but I haven't yet read it. =A0I have programmed Lisp and Haskell (= at two
> extremes), and from this experience at least much prefer whitespace to=
> parentheses. =A0In addition, I rely on design theory (esp. Tufte et al=
> on his web site) that reducing clutter aids comprehension, and
> delimiters very much seem clutter to me.
>
> Jason Catena
>
>


--000e0cd6aefa967da7046ec4b6f3--