Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should murex: Deprecate <stdin> named pipe, in favour of <in> OR <out> & <err> in favour of <stdout>, <stderr>? #477

Open
lmorg opened this issue Nov 2, 2022 · 2 comments
Labels
design question This is where the murex devs can raise a feature idea or discuss a problem with the community

Comments

@lmorg
Copy link
Owner

lmorg commented Nov 2, 2022

The purpose of this is purely to make STDIN (<sdtin>) named pipes consistent with STDOUT and STDERR (<out> and <err> respectively).

Reasons in favour of renaming <stdout> -> <in>:

  • it's fewer keystrokes in the terminal
  • it's more technically correct because named pipes are an abstraction around the standard streams

Reasons in favour of renaming <out>, <err> -> <stdout>, <stderr>:

  • it requires much less dramatic changes in code: eg <stdout> and <stderr> are not functions
  • documentation already uses <stdout> in command usage, that would all need to change if we stuck with <out>
  • it's more explicit for people already familiar with Bash

Third option: document <in>, <out>, <err>, but silently support their <stdin>, <stdout> and <stderr> counterparts

My take

I'm currently leaning towards option three.

@lmorg lmorg added the design question This is where the murex devs can raise a feature idea or discuss a problem with the community label Nov 2, 2022
@lmorg lmorg changed the title Deprecate <stdin> named pipe, in favour of <in> OR <out> & <err> in favour of <stdout>, <stderr>? Should murex: Deprecate <stdin> named pipe, in favour of <in> OR <out> & <err> in favour of <stdout>, <stderr>? Nov 2, 2022
@orefalo
Copy link
Contributor

orefalo commented Sep 11, 2023

I vote For
named piped should be renamed <in> <out> <err>

and while you are at it,
I would also rename this weird err operator ? something else
maybe ?> or ?->

  • documentation is not an issue
  • it's the concept, bash user will easily relate

@notjames
Copy link

I vote For named piped should be renamed <in> <out> <err>

and while you are at it, I would also rename this weird err operator ? something else maybe ?> or ?->

* documentation is not an issue

* it's the concept, bash user will easily relate

Just my humble $.02, I'm not necessarily one to just blindly follow tradition, however tradition based in solid principles is something I don't think is wise to supersede unless the new alternative is exceedingly and quantifiably better than the long-standing standard.

So, I don't think renaming this is a good idea. The reason "STD" is in front of , , and is to disambiguate the use of arbitrarily opened descriptors from the standard ones at runtime and keeping a sane standard for applications systemwide. In other words, these are the STANDARD descriptors and are always available and used by default and they are the standard.

Now I'm new to murex and am still learning it, and in fact am having problems even using it (two blocking bugs found so far). With that, I admit that I'm assuming murex is compatible with traditional shells with respect to std(in|out|err), and if that's the case then if you ambiguate this paradigm, you could cause a bit of confusion I think. In other words, there's a reason why "STD" is used. Throwing that away is likely premature and not very well thought out and it's definitely not POSIX or Unix standard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design question This is where the murex devs can raise a feature idea or discuss a problem with the community
Projects
None yet
Development

No branches or pull requests

3 participants