9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] a bit OT, programming style question
@ 2009-04-07  5:32 Corey
  2009-04-07  5:39 ` erik quanstrom
                   ` (2 more replies)
  0 siblings, 3 replies; 40+ messages in thread
From: Corey @ 2009-04-07  5:32 UTC (permalink / raw)
  To: 9fans

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.




^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2009-04-17 13:42 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-07  5:32 [9fans] a bit OT, programming style question Corey
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

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).