zsh-workers
 help / color / mirror / code / Atom feed
* Proposal to standardize the shell
@ 2001-07-09 19:42 David Korn
  2001-07-09 22:35 ` Peter Stephenson
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David Korn @ 2001-07-09 19:42 UTC (permalink / raw)
  To: zsh-workers


Hi, I am the author of ksh.  One of my primary goals in writing ksh was
to provide a portable and universal scripting language for UNIX.

I worked with the POSIX group in the development of a shell standard
over ten years ago.  Since then there have been numerous developments
and various shells have emerged with many new and useful features.

I would like to see if it is possible to come up with an enhanced
shell standard that could be met by at least ksh, bash, and zsh.
I have already contacted the bash author Chet Ramey, and he is
interested.  I am especially concerned with programming issues,
but there might be some interactive features that could also
be standardized.

If the zsh workers are also interested in this effort let me know.
Also, if you know who else should be included, please let me know.
As a starting point we should develop the following lists:

1.	Extensions to POSIX that are in all three shells.
2.	Incompatibilities between shells.
3.	Extensions or features in each shell that should be in
	the standard.
4.	Things that should be obsoleted.
5.	How do handle compatibilty issues between shells and POSIX.

Once we have achieved some type of consensus, we should see if
we can get some standards organization, such as POSIX or X/Open
to work on standardization.

David Korn
research!dgk
dgk@research.att.com


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

* Re: Proposal to standardize the shell
  2001-07-09 19:42 Proposal to standardize the shell David Korn
@ 2001-07-09 22:35 ` Peter Stephenson
  2001-07-10 11:40   ` Oliver Kiddle
  2001-07-10 17:34 ` Bart Schaefer
  2001-07-15 12:00 ` Zefram
  2 siblings, 1 reply; 6+ messages in thread
From: Peter Stephenson @ 2001-07-09 22:35 UTC (permalink / raw)
  To: David Korn, Zsh hackers list

David Korn wrote:
> I would like to see if it is possible to come up with an enhanced
> shell standard that could be met by at least ksh, bash, and zsh.

We're definitely interested in tracking standards.

A big question in our case is how to start up the shell in a way which
enforces compliance; zsh has been a bit wayward right from the start and
it's too late to change that now.  So I'd be interested in some common
command such as a version of our `emulate' command, e.g. with the argument
`emulate posix' or `emulate enhanced' if we can come up with an enhanced
version of it to ensure whatever shell you're in is likely to be as
receptive as possible.  No doubt this is less important for ksh and bash
which have been designed from the ground up with this sort of thing in
mind, but it would go a long way towards making scripts shareable in a
simple way.

Quite what degree of compatibility is possible between the more advanced
features I really don't know, but it's worth thinking about.  We've been
treating ksh93 as a sort of de facto standard for some of the advanced
features, though there's still quite a lot of that missing and (according
to my reading of Oliver Kiddle's post to zsh-workers just now) some of it
appears to be incompatible.

In interactive features, there might be something we do with simple things
like key binding syntax, for example.  I doubt if it'll go much deeper than
that; it depends too much on the implementation of the line editor, which
I'm sure is very different in each case.

So this could well be a big can of worms, but I'm sure there's plenty to
talk about.

-- 
Peter Stephenson <pws@pwstephenson.fsnet.co.uk>
Work: pws@csr.com
Web: http://www.pwstephenson.fsnet.co.uk


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

* Re: Proposal to standardize the shell
  2001-07-09 22:35 ` Peter Stephenson
@ 2001-07-10 11:40   ` Oliver Kiddle
  0 siblings, 0 replies; 6+ messages in thread
From: Oliver Kiddle @ 2001-07-10 11:40 UTC (permalink / raw)
  To: David Korn; +Cc: Zsh hackers list

David Korn wrote:

> I would like to see if it is possible to come up with an enhanced
> shell standard that could be met by at least ksh, bash, and zsh.
> 
> If the zsh workers are also interested in this effort let me know.

The effort does sound interesting to me. Your suggested starting points
seem sensible and I'd be keen for there to be input from us so that
current zsh features and incompatibilities can be accounted for in the
process.

> Also, if you know who else should be included, please let me know.

Maybe the pdksh developers but I'm not sure how alive that project is.

Peter Stephenson wrote:

> Quite what degree of compatibility is possible between the more advanced
> features I really don't know, but it's worth thinking about.  We've been
> treating ksh93 as a sort of de facto standard for some of the advanced
> features, though there's still quite a lot of that missing and (according
> to my reading of Oliver Kiddle's post to zsh-workers just now) some of it
> appears to be incompatible.

Certainly, there may be problems with some of the more advanced
features but I think there is a fair amount of scope for extensions to
POSIX which wouldn't cause many problems. If I'm not mistaken, there
were quite a few extensions to POSIX that were in ksh88 and these are
fairly well followed by bash and zsh. I think there are also a number of
newer features where we don't have incompatibilities. Process
substitution would be one example.

Can anyone please point me in the direction of the canonical web
location for the POSIX shell definition because my search wasn't very
successful?

> In interactive features, there might be something we do with simple things
> like key binding syntax, for example.  I doubt if it'll go much deeper than

I didn't mention ksh93 key binding in my recent post but it is very
different. In short, there is a KEYBD trap which you override to change
keypresses. I expect the zsh/bash bindkey builtin was inspired by tcsh.

There might be other areas of interactive features which can be
standardised on though. Parts of the history mechanism, fc options
maybe.

Oliver

_____________________________________________________________________
This message has been checked for all known viruses by the 
MessageLabs Virus Scanning Service. For further information visit
http://www.messagelabs.com/stats.asp


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

* Re: Proposal to standardize the shell
  2001-07-09 19:42 Proposal to standardize the shell David Korn
  2001-07-09 22:35 ` Peter Stephenson
@ 2001-07-10 17:34 ` Bart Schaefer
  2001-07-15 12:00 ` Zefram
  2 siblings, 0 replies; 6+ messages in thread
From: Bart Schaefer @ 2001-07-10 17:34 UTC (permalink / raw)
  To: David Korn, zsh-workers

On Jul 9,  3:42pm, David Korn wrote:
} 
} Hi, I am the author of ksh.

(Did anyone here not know that?)

} I would like to see if it is possible to come up with an enhanced
} shell standard that could be met by at least ksh, bash, and zsh.
} 
} If the zsh workers are also interested in this effort let me know.

I'm certainly interested in participating.  I don't have anything to
add to what Oliver and PWS have said, at this point.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   


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

* Re: Proposal to standardize the shell
  2001-07-09 19:42 Proposal to standardize the shell David Korn
  2001-07-09 22:35 ` Peter Stephenson
  2001-07-10 17:34 ` Bart Schaefer
@ 2001-07-15 12:00 ` Zefram
  2 siblings, 0 replies; 6+ messages in thread
From: Zefram @ 2001-07-15 12:00 UTC (permalink / raw)
  To: David Korn; +Cc: zsh-workers

David Korn wrote:
>If the zsh workers are also interested in this effort let me know.

I'm very interested in developing a new shell standard.

I have some thoughts about things that could go on your lists, but not
yet sufficiently organised to be particularly useful.  Are we going to
have a new forum to discuss these things?

-zefram


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

* Re: Proposal to standardize the shell
@ 2001-07-18  6:12 Felix Rosencrantz
  0 siblings, 0 replies; 6+ messages in thread
From: Felix Rosencrantz @ 2001-07-18  6:12 UTC (permalink / raw)
  To: dgk, zsh-workers

I'm more interested in zsh for it's interactive features than it's      
scripting capabilities.  I think it would be very useful if the         
interactive features became standard.                                   

Some of the things I think that would be useful to standardize would    
include CSH-style history, and zsh-style completion.                    

Though it would also be useful if there were some additional work       
generalizing and developing some additional interactive features        
that are already in some shells.  Some of these topics to me would      
be command line correction, command line validation, command line       
prediction, and command line building.                                  

Command line correction: There are already several shells that will     
suggest alternatives to a command that is not found.  It would be great 
if that could be made more general to also correct arguments and flags 
of the command line.  This seems related to completion, though even    
with zsh's completion it's not easy to do.                              

Command line validation:  There are already several shells that         
provide some sort of "rm *" protection.  It would be great if this      
functionality could somehow be made more general to allow the shell to  
verify other dangerous/questionable commands.                           

Command line prediction: It would be great if the shell could           
effectively use command history and user hints to predict what the 
user wants to do next.  There has been some academic research in this   
area that might help.  Prediction is already effectively used in the    
text fields of GUI tools (e.g. web browsers).  And zsh has a prediction-like
widget based on completion.

Command line building:  The VMS OS could check command arguments before 
running the command, and ask the user for missing arguments.  It might  
be useful if the shells could also do this.                             

Some of these features might be done by providing some hooks into the   
shell and providing some good mechanisms for parsing command lines.     
Parsing is not easy to do from a script, it's a little more involved     
than just a getopt function. First one has to deal with the shell syntax,    
and then with the command line syntax of individual commands.  Shells    
make it easy to work with files and the filesystems.  It would be great 
if it was just as easy to work with command lines.                      


Another thing that might be useful to standardize is the API for        
loadable modules.  Not sure if that can be done in a generic way across 
shells, but providing a mechanism for extensions that could be written  
in other languages would be very useful.  I would expect that it would  
be possible to use C/C++ and Java to write such modules/extensions.     

I would be interested in hearing discussions (e.g. mailing              
list/archive) of the enhanced shell standard.                          

-FR.


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/


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

end of thread, other threads:[~2001-07-18  6:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-09 19:42 Proposal to standardize the shell David Korn
2001-07-09 22:35 ` Peter Stephenson
2001-07-10 11:40   ` Oliver Kiddle
2001-07-10 17:34 ` Bart Schaefer
2001-07-15 12:00 ` Zefram
2001-07-18  6:12 Felix Rosencrantz

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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