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


Groups > comp.unix.shell > #21479

Re: ksh93u+m, modernish, Smoosh, and POSIX

From Martijn Dekker <martijn@inlv.demon.nl>
Newsgroups comp.unix.shell
Subject Re: ksh93u+m, modernish, Smoosh, and POSIX
Date 2021-05-14 00:40 +0200
Message-ID <ig5o61Fk2e4U1@mid.individual.net> (permalink)
References <m2o8dfdkzy.fsf@axel-reichert.de>

Show all headers | View raw


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

Back to comp.unix.shell | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

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

csiph-web