9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Corey <corey@comfortstore.net>
To: 9fans@9fans.net
Subject: [9fans] a bit OT, programming style question
Date: Tue,  7 Apr 2009 01:32:00 -0400	[thread overview]
Message-ID: <1239082320.2778.20.camel@katy-laptop> (raw)

Not exactly related to Plan 9, but I don't know any other place full of
people much smarter than myself who put value in the "Unix philosophy",
and this idea is partially inspired by something I read about rio/rc.

Would there be any merit to breaking the shell apart into a number of
smaller programs? Looking at GNU bash as an example (though I know GNU
is probably one of the worst places to look for "Unix style"), It is my
understanding that one program handles many things, such as keyboard
bindings (which I believe in turn requires bash to read in cbreak or raw
or whatever and do it's own line editing), glob expansion, aliases,
history, syntax parsing, command execution, job control, etc. etc.

IMO this results in a more complex program than necessary. Keyboard
bindings for example; why couldn't they be handled by a program that
just does keyboard bindings + line editing, and writes finalized lines
to the shell. This in turn could also allow bindings to be more easily
customized (such as binding autocomplete to Ctrl+F instead of tab)
depending on its implementation.

Does this make sense? Is it more work than it's worth? Has it already
been done (I know filename completion is handled by rio rather than rc
for example)? Sorry if this is too off-topic for 9fans.




             reply	other threads:[~2009-04-07  5:32 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-07  5:32 Corey [this message]
2009-04-07  5:39 ` erik quanstrom
2009-04-07  7:53 ` sqweek
2009-04-07  7:28   ` Eris Discordia
     [not found]   ` <3AB58E51F3A5C561C4B065E3@192.168.1.2>
2009-04-07 14:31     ` sqweek
2009-04-07 15:09     ` ron minnich
2009-04-07 18:21       ` Eris Discordia
     [not found]       ` <A297371273CD8D67A21A921E@192.168.1.2>
2009-04-07 19:57         ` J.R. Mauro
2009-04-08  1:48           ` Eris Discordia
2009-04-08  2:53             ` erik quanstrom
     [not found]           ` <A411EFAE2566F856F3034B12@192.168.1.2>
2009-04-08  3:04             ` J.R. Mauro
2009-04-09 13:44               ` Eris Discordia
2009-04-09 15:06                 ` erik quanstrom
2009-04-09 22:34                   ` Eris Discordia
2009-04-10 16:15                     ` john
2009-04-17 13:07                     ` Balwinder S Dheeman
2009-04-17 13:28                       ` erik quanstrom
2009-04-17 13:42                         ` Devon H. O'Dell
     [not found]                   ` <3F6B6589F529BEAECE105A71@192.168.1.2>
2009-04-10 19:35                     ` J.R. Mauro
     [not found]               ` <5EF90081E9B1D745047218E6@192.168.1.2>
2009-04-09 17:32                 ` J.R. Mauro
2009-04-09 18:10                   ` Charles Forsyth
2009-04-09 18:28                     ` Richard Miller
2009-04-09 19:28                       ` Devon H. O'Dell
2009-04-09 19:31                         ` erik quanstrom
2009-04-09 19:34                         ` J.R. Mauro
2009-04-09 22:09                           ` Eris Discordia
     [not found]                           ` <58ADE353D7158CD35973F13B@192.168.1.2>
2009-04-10 19:33                             ` J.R. Mauro
2009-04-11 11:13                               ` Eris Discordia
2009-04-09 21:01                         ` Richard Miller
2009-04-09 21:28                         ` Bakul Shah
2009-04-09 21:34                           ` J.R. Mauro
2009-04-09 22:16                           ` erik quanstrom
2009-04-09 22:37                           ` Devon H. O'Dell
2009-04-09 22:05                         ` Eris Discordia
2009-04-07 15:08 ` ron minnich
2009-04-07 16:05   ` Corey
2009-04-07 16:44     ` ron minnich
2009-04-07 18:34       ` erik quanstrom
2009-04-07 22:50         ` dave.l
2009-04-07 22:56           ` erik quanstrom

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=1239082320.2778.20.camel@katy-laptop \
    --to=corey@comfortstore.net \
    --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).