9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Ethan Grammatikidis <eekee57@fastmail.fm>
To: 9fans@9fans.net
Subject: Re: [9fans] Using proportional fonts in Acme for Programming
Date: Thu, 13 Aug 2009 12:12:04 +0100	[thread overview]
Message-ID: <20090813121204.0182835f.eekee57@fastmail.fm> (raw)
In-Reply-To: <op.uyka0s1y0p3ku8@localhost>

On Thu, 13 Aug 2009 09:14:19 GMT
"Aaron W. Hsu" <arcfide@sacrideo.us> wrote:

> So, I was browsing around the other day looking at Acme resources, and I
> discovered an old post from 1995 wherein someone advocated the use of
> proportional fonts for programming in Acme. This surprised me, to say the
> least. He even went as far as to mention that SML was the language they
> were using, and had managed to get a decent indenting pattern for it that
> was just as readable, without messing things up for proportional font
> users.
>
> I have to admit that I'm a bit skeptical about whether such a technique
> actually works, and so, I thought I would pose some questions to you.
>
> Firstly, how many of you using Acme for programming on a daily basis remap
> your fonts so that the fixed width font is the main one that you use?
>
> Secondly, if you do use proportional width fonts, why, and what troubles
> did you encounter; what benefits did you encounter?

I don't program on a daily basis, but using a proportional font in rio
I'm finding it so much easier on the eyes that I hold back from opening
xterms and from switching acme windows into the fixed-width font.

>
> Thirdly, would you continue using proportional width fonts in cases like
> Lisp code, where you very often see something like the following
> indentation scheme, and how would you resolve these indentation problems
> with proportional width fonts if you did continue to use them?
>
> 	(let ([foo bar]
> 	      [something else])
> 	  (some-func (called again)
>                       (with fun indentation)
>              (and yet)
>              (another)))

This particular form of indentation is the only thing I'd be worried
about, and where a great deal of nesting is not required it's never
strictly necessary. In a certain scripting environment with a C-like
syntax and a very weak editor I got into the habit of treating parentheses
as block structure when the parameter list is long:

    llSetPrimitiveParams([
            PRIM_TYPE, PRIM_TYPE_CYLINDER, 0,
            <open_cut_start, open_cut_end, 0>, hollow,
            <0, 0, 0>, <1, 1, 0>, <0, 0, 0>
    ]);

That's not a practical style in Lisp, of course. I've thought about
this in the past as I was never entirely comfortable with some very
common indenting styles. Gnu style has 2-character indents, that's not
an indent, it's natural roughness! The Linux kernel style on the other
hand has full tabs. 8-character tabs break things up a little too much
for my eyes so I set my editor to have narrower tabs when loading code
from the kernel tree. This worked great so long as no code had a special
indent (as Aaron's Lisp code above) nor was aligned after the indent
(e.g. comments on the same line as code). This eventually led me to
consider an editor which dynamically managed indents, displaying the
code quite differently to the fixed indents in the source file. Such an
editor could work well with proportional fonts and s-expressions together,
but I can't work out whether it would be 'too clever' - i.e. irritating.


--
Ethan Grammatikidis

Those who are slower at parsing information must
necessarily be faster at problem-solving.



  parent reply	other threads:[~2009-08-13 11:12 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-13  9:14 Aaron W. Hsu
2009-08-13 10:09 ` matt
2009-08-13 10:18 ` Paul Donnelly
2009-08-13 10:22 ` roger peppe
2009-08-13 10:27 ` Robert Raschke
2009-08-13 11:12 ` Ethan Grammatikidis [this message]
2009-08-13 17:55 ` Daniel Lyons
2009-08-13 22:27   ` David Leimbach
2009-08-13 22:35     ` ron minnich
2009-08-13 22:40       ` erik quanstrom
2009-08-14  2:58   ` Roman V. Shaposhnik
2009-08-14  8:27     ` Robert Raschke
2009-08-14 18:27       ` [9fans] Lua on Plan9 Roman V. Shaposhnik
2009-08-14 21:47         ` John Floren
2009-08-14 21:52           ` Josh Wood
2009-08-14 21:54             ` John Floren
2009-08-17 10:34         ` Robert Raschke
2009-08-14 21:32     ` [9fans] Using proportional fonts in Acme for Programming Skip Tavakkolian
2009-08-14  9:16   ` Pavel Klinkovsky
2009-08-14 18:25     ` [9fans] Lua on Plan9 Roman V. Shaposhnik
2009-08-14 21:48       ` Skip Tavakkolian
2009-08-14 23:26   ` [9fans] Using proportional fonts in Acme for Programming Noah Evans
2009-08-15  2:28     ` Akshat Kumar
2009-08-15 10:29       ` Akshat Kumar
2009-08-17  9:09       ` Aaron W. Hsu
2009-08-17  9:09   ` Aaron W. Hsu
2009-08-14  9:15 ` Aaron W. Hsu
2009-08-14 16:49   ` Daniel Lyons
2009-08-14 18:28     ` Roman V. Shaposhnik
2009-08-16  7:30       ` Daniel Lyons
2009-08-17  9:09   ` Aaron W. Hsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090813121204.0182835f.eekee57@fastmail.fm \
    --to=eekee57@fastmail.fm \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).