Announcement

Collapse
No announcement yet.

Linux Foundation To Host PaSh For Automatic Parallelizing Of Shell Scripts

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • uid313
    replied
    Originally posted by alcalde View Post

    What if your shell IS Python?

    https://xon.sh/
    That is pretty cool! 🐍👍

    Leave a comment:


  • Paradigm Shifter
    replied
    Originally posted by alcalde View Post

    What if your shell IS Python?

    https://xon.sh/
    Didn't know this existed. Interesting, thanks.

    Leave a comment:


  • alcalde
    replied
    Originally posted by uid313 View Post
    I don't know if this is so useful, shell scrips are good when they're a few lines long, once you outgrow that maybe it is time to go over to Python instead.
    What if your shell IS Python?

    The xonsh shell is a Python-powered, cross-platform, Unix-gazing shell language and command prompt.

    Leave a comment:


  • alcalde
    replied
    This doesn't parallelize "POSIX shell scripts". It parallelizes Bash scripts and doesn't do anything people couldn't do manually if they were better at writing bash scripts.

    Leave a comment:


  • Paradigm Shifter
    replied
    Seems like race conditions waiting to happen? Also... you'll take my zsh environment away when you pry it from my cold, dead hands.

    Leave a comment:


  • sdack
    replied
    Originally posted by uid313 View Post
    I don't know if this is so useful ...
    It probably won't be useful to many, because it will likely not be 100% compatible and will likely only serve itself - and crazy people who refuse to use anything but shell scripts to implement their software.

    Most shell scripts, which require parallelisation already use xargs. Then there is GNU Make, which has been used for decades to implement parallelisation around shell commands, not to mention GNU Parallel itself, and distcc, which serve similar purposes. So it is not like one could not already have parallelisation.

    Leave a comment:


  • ssokolow
    replied
    Originally posted by discordian View Post
    Wow, now I seen everything. How does the optimizer know side effects of instantiated tools, what are the kinds of use cases?
    I did just generate and run makefiles if I had multiple task, but given how most shell logic is dynamic string expansion, I find this really hard to break up in a good way without specific input.
    Judging by a quick glance, it uses definition files like TypeScript uses to add type declarations to third-party Javascript.

    Leave a comment:


  • discordian
    replied
    Wow, now I seen everything. How does the optimizer know side effects of instantiated tools, what are the kinds of use cases?
    I did just generate and run makefiles if I had multiple task, but given how most shell logic is dynamic string expansion, I find this really hard to break up in a good way without specific input.

    Leave a comment:


  • Developer12
    replied
    It'd be really interesting I bet to look into how they're doing it. My first expectation was that this would be a racey bug-ridden mess. Raw POSIX shell can already be a PITA.

    Leave a comment:


  • ssokolow
    replied
    I'll have to look into this. At first glance, it seems like something that would require each subprocess invocation to be annotated with information on whether it has side-effects that need to be observable by later steps.

    Leave a comment:

Working...
X