Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.unix.shell > #21465 > unrolled thread

ksh93u+m, modernish, Smoosh, and POSIX

Started byAxel Reichert <mail@axel-reichert.de>
First post2021-05-13 11:46 +0200
Last post2021-05-15 12:43 +0200
Articles 6 — 3 participants

Back to article view | Back to comp.unix.shell


Contents

  ksh93u+m, modernish, Smoosh, and POSIX Axel Reichert <mail@axel-reichert.de> - 2021-05-13 11:46 +0200
    Re: ksh93u+m, modernish, Smoosh, and POSIX Martijn Dekker <martijn@inlv.demon.nl> - 2021-05-14 00:40 +0200
      Re: ksh93u+m, modernish, Smoosh, and POSIX joerg@schily.net - 2021-05-14 12:02 +0000
        Re: ksh93u+m, modernish, Smoosh, and POSIX Axel Reichert <mail@axel-reichert.de> - 2021-05-15 12:40 +0200
          Re: ksh93u+m, modernish, Smoosh, and POSIX joerg@schily.net - 2021-05-15 19:06 +0000
      Re: ksh93u+m, modernish, Smoosh, and POSIX Axel Reichert <mail@axel-reichert.de> - 2021-05-15 12:43 +0200

#21465 — ksh93u+m, modernish, Smoosh, and POSIX

FromAxel Reichert <mail@axel-reichert.de>
Date2021-05-13 11:46 +0200
Subjectksh93u+m, modernish, Smoosh, and POSIX
Message-ID<m2o8dfdkzy.fsf@axel-reichert.de>
Hello,

Martijn's announcement rekindled my interest for different shell
choices, both from a user's point of view, i.e., which shell to use, and
from a designer's point of view, i.e., what to do with "undefined" and
"unspecified" cases.

While reading "Executable formal semantics for the POSIX shell",

  https://arxiv.org/pdf/1907.05308.pdf

I found table 1 in this article, which lists the results of a three-fold
(POSIX, modernish, and the authors' own) stress test of various shells
(bash, dash, zsh, mksh, ksh, yash, plus, as a reference, the authors'
own Smoosh).

The ksh used is 93u+, and it fails on many more tests than the
competition. Smoosh fares best by far, with only one issue related to
its use of dash's parser. Two questions arise:

1. How does ksh93u+m compare on the three test suites?

2. How does Smoosh work out as an interactive shell for daily use?

And, on a side note, modernish's documentation mentions a couple of
shells under the heading:

  Currently known not to run modernish due to excessive bugs

My understanding is that this refers to bugs in the listed shells, not
to bugs in modernish trying to address these shells. Correct?

Best regards

Axel

[toc] | [next] | [standalone]


#21479

FromMartijn Dekker <martijn@inlv.demon.nl>
Date2021-05-14 00:40 +0200
Message-ID<ig5o61Fk2e4U1@mid.individual.net>
In reply to#21465
Op 13-05-21 om 10:46 schreef Axel Reichert:
> Martijn's announcement rekindled my interest for different shell
> choices, both from a user's point of view, i.e., which shell to use, and
> from a designer's point of view, i.e., what to do with "undefined" and
> "unspecified" cases.
> 
> While reading "Executable formal semantics for the POSIX shell",
> 
>    https://arxiv.org/pdf/1907.05308.pdf
> 
> I found table 1 in this article, which lists the results of a three-fold
> (POSIX, modernish, and the authors' own) stress test of various shells
> (bash, dash, zsh, mksh, ksh, yash, plus, as a reference, the authors'
> own Smoosh).

Wow. I had no idea that this existed. How odd that someone would use 
modernish in their research, but not bother to tell me about it. I 
thought interest in modernish was close to zero (although FreeBSD did 
add it to their ports collection recently).

I'm going to have to find the time to study this properly at some point.

> The ksh used is 93u+, and it fails on many more tests than the
> competition. Smoosh fares best by far, with only one issue related to
> its use of dash's parser. Two questions arise:
> 
> 1. How does ksh93u+m compare on the three test suites?
> 
> 2. How does Smoosh work out as an interactive shell for daily use?

Looks like getting Smoosh working is a bit of a project:
https://github.com/mgree/smoosh

This will have to wait until I have some spare time/brainspace that is 
not occupied by trying to lift ksh 93u+m up to release quality. If 
anyone else would like to try running these test on ksh 93u+m before 
that, I'd be interested in the results.

There are a couple of bugs left in ksh 93u+m that modernish 
recognises/supports (BUG_BRACQUOT and BUG_IFSGLOBS). I haven't figured 
out yet how to fix those. The ksh code is baroque, to say the least, and 
largely uncommented/undocumented.

> And, on a side note, modernish's documentation mentions a couple of
> shells under the heading:
> 
>    Currently known not to run modernish due to excessive bugs
> 
> My understanding is that this refers to bugs in the listed shells, not
> to bugs in modernish trying to address these shells. Correct?

Yes, correct. I've found that the bugs in those shells are not worth 
supporting because they're too hard to work around. For instance, on 
most pdksh versions, "$@" breaks when setting IFS to the empty value; 
this kills the safe mode on modernish.

- Martijn

-- 
||    modernish -- harness the shell
||    https://github.com/modernish/modernish
||
||    KornShell lives!
||    https://github.com/ksh93/ksh

[toc] | [prev] | [next] | [standalone]


#21480

Fromjoerg@schily.net
Date2021-05-14 12:02 +0000
Message-ID<s7losn$u9e$1@news.dns-netz.com>
In reply to#21479
In article <ig5o61Fk2e4U1@mid.individual.net>,
Martijn Dekker  <martijn@inlv.demon.nl> wrote:

>Looks like getting Smoosh working is a bit of a project:
>https://github.com/mgree/smoosh

Mmm, smoosh is part of the SCCS version control and patented by 
Glenn Skinner (Sun Microsystems) in 1996 under US Pat 5481722.

It combines two SCCS history files with a common initial history
part into one SCCS history with a branch.

It is also implemented by Larry McVoy for BitKeeper...

-- 
EMail:joerg@schily.net			Jörg Schilling D-13353 Berlin
					Blog: http://schily.blogspot.com/
URL:  http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/

[toc] | [prev] | [next] | [standalone]


#21482

FromAxel Reichert <mail@axel-reichert.de>
Date2021-05-15 12:40 +0200
Message-ID<m2zgwwth39.fsf@axel-reichert.de>
In reply to#21480
joerg@schily.net writes:

> In article <ig5o61Fk2e4U1@mid.individual.net>,
> Martijn Dekker  <martijn@inlv.demon.nl> wrote:
>
>>Looks like getting Smoosh working is a bit of a project:
>>https://github.com/mgree/smoosh
>
> Mmm, smoosh is part of the SCCS version control and patented by 
> Glenn Skinner (Sun Microsystems) in 1996 under US Pat 5481722.

That must be a different "smoosh", see the URL above, which expands to
"The Symbolic, Mechanized, Observable, Operational SHell: an executable
formalization of the POSIX shell standard".

Axel

[toc] | [prev] | [next] | [standalone]


#21487

Fromjoerg@schily.net
Date2021-05-15 19:06 +0000
Message-ID<s7p62v$861$1@news.dns-netz.com>
In reply to#21482
In article <m2zgwwth39.fsf@axel-reichert.de>,
Axel Reichert  <mail@axel-reichert.de> wrote:
>joerg@schily.net writes:
>
>> In article <ig5o61Fk2e4U1@mid.individual.net>,
>> Martijn Dekker  <martijn@inlv.demon.nl> wrote:
>>
>>>Looks like getting Smoosh working is a bit of a project:
>>>https://github.com/mgree/smoosh
>>
>> Mmm, smoosh is part of the SCCS version control and patented by 
>> Glenn Skinner (Sun Microsystems) in 1996 under US Pat 5481722.
>
>That must be a different "smoosh", see the URL above, which expands to
>"The Symbolic, Mechanized, Observable, Operational SHell: an executable
>formalization of the POSIX shell standard".

Well if you start a new project, it is usually a good idea to first 
check, whether the planned name is already in use.

That obviously does not have been done with the Symbolic, Mechanized, 
Observable, Operational SHell


-- 
EMail:joerg@schily.net			Jörg Schilling D-13353 Berlin
					Blog: http://schily.blogspot.com/
URL:  http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/

[toc] | [prev] | [next] | [standalone]


#21483

FromAxel Reichert <mail@axel-reichert.de>
Date2021-05-15 12:43 +0200
Message-ID<m2v97ktgy9.fsf@axel-reichert.de>
In reply to#21479
Martijn Dekker <martijn@inlv.demon.nl> writes:

> Looks like getting Smoosh working is a bit of a project:
> https://github.com/mgree/smoosh

Yes, I thought so, too, hence my question.   (-;

> If anyone else would like to try running these test on ksh 93u+m
> before that, I'd be interested in the results.

If I manage the install, I will definitely let you know.

> Yes, correct. I've found that the bugs in those shells are not worth
> supporting because they're too hard to work around.

Thanks for confirming!

Axel

[toc] | [prev] | [standalone]


Back to top | Article view | comp.unix.shell


csiph-web