3 ms·
I daily drive nushell - combined with wezterm it's great for a completely cross-platform setup. There are definitely usability and stability issues though, to t
by gsuuon 3y ago
I daily drive nushell - combined with wezterm it's great for a completely cross-platform setup. There are definitely usability and stability issues though, to the point where I wouldn't yet recommend it to anyone who isn't ready for some pain. I've had lost data issues from buggy 'mv' for example, basic things like '&&' or '||' not working, etc. I avoid ever updating because I need to spend an hour or so fixing scripts. But the trade-off is that you get really nice error messages and working with structured data can be a breath of fresh air. Once it hits 1.0 I think it'll be an easy choice over existing traditional shells.
It does make me wonder though - at what point does it make more sense to just add some shell-like commands and functionality to a typed language's REPL? I played around with this idea using F# and FSI. The composition (|> instead of |) maps pretty directly and you get the benefit of types but in a more sane language (sorry nushell). You'd just need to add a 'cd' to mutate pwd state, pull in FAKE core and alias the most common shell operations.
- gsuuon 3y agoApparently this is a thing in haskell already, so F# isn't too much of a stretch: https://hackage.haskell.org/package/turtle https://hackage.haskell.org/package/turtle