News for hackers. Stuff that matters.
Re:Closh – Bash-like shell based on Clojure by kloud on Wednesday November 01, 2017 @10:10AM (#15601242)
Author here, thanks for posting. The project is still very early in the development and there is a lot of work to be done to make it ready for daily use.

I would appreciate any feedback. What are the less known features of existing shells you really like? What things would you change about existing shells if you could?

Re:Closh – Bash-like shell based on Clojure by wolfgang42 on Wednesday November 01, 2017 @10:20AM (#15601325)
You may also be interested in looking at https://www.oilshell.org/ . Like yours, it's an effort to make a 'better bash', and he has a lot of posts discussing various aspects of Bash syntax and shells in general, and how to improve them.
Re:Closh – Bash-like shell based on Clojure by kloud on Wednesday November 01, 2017 @10:30AM (#15601423)
Yeah, Oil shell is great. I got a lot of inspiration and learn how things work by reading those posts. I try to tackle it by a different approch by leveraging Clojure syntax for the programming bits but keeping things compatible for the command execution uses.
Re:Closh – Bash-like shell based on Clojure by contingencies on Wednesday November 01, 2017 @10:49AM (#15601606)
The roadmap seems well thought out. Perhaps linking each unfinished item to a summary Github issue explaining how you see it being approached would assist with gaining contributors. You could then keep a list of "where to jump in" by assigning that sort of issue a tag ("start-hacking-here" or some such).
Re:Closh – Bash-like shell based on Clojure by dahart on Wednesday November 01, 2017 @10:27AM (#15601398)
Awesome project, and absolutely well motivated. I would love a shell that improves on bash with sane syntax.

I'd suggest swapping stage 3 and stage 2 -- environment vars and signal and job control are more important (IMO) than everything in stage 2, and may affect the syntax more as well.

Re:Closh – Bash-like shell based on Clojure by sandover on Wednesday November 01, 2017 @05:46PM (#15605779)
I think this kind of shell has the best features of something like PowerShell -- the ability to work with real data structures -- but combined with Clojure's opinionated minimalism about those data structures, the result seems more useful.

One other thing that Clojure has, however, which may be a problem here, is a strong emphasis on precise namespacing. That seems a like a serious problem for day to day use of this kind of shell. Pedantically namespacing all the interesting library functions I want to use would get old fast.

Re:Closh – Bash-like shell based on Clojure by encloser on Wednesday November 01, 2017 @10:29AM (#15601418)
I really like this idea and I really like Clojure. Though I'm curious about performance. And do you know if anyone is doing something similar with Racket? (Looks like there is a Common Lisp shell http://www.cliki.net/CLISP-Shell)
Re:Closh – Bash-like shell based on Clojure by fiddlerwoaroof on Wednesday November 01, 2017 @10:42AM (#15601537)
There is also the scheme shell: https://scsh.net
Re:Closh – Bash-like shell based on Clojure by patrickmay on Wednesday November 01, 2017 @02:00PM (#15603812)
The shell with the best acknowledgements section in any technical manual: https://scsh.net/docu/html/man.html
Re:Closh – Bash-like shell based on Clojure by lvh on Wednesday November 01, 2017 @10:57AM (#15601689)
eshell is another lispy shell that's been in Emacs for a very long time. Elisp is probably my least favorite lisp that's commonly available, but eshell probably has the largest user base and is certainly the most mature out of all of these contenders. You can reasonably use eshell as your primary shell.
Re:Closh – Bash-like shell based on Clojure by anonacct37 on Wednesday November 01, 2017 @02:55PM (#15604408)
I use eshell daily. It's nice to have a shell that also integrates with with list, but there's also a ton of value-add with integration with the emacs ecosystem.

For example in eshell you can do:

    cd /ssh:some-server:/
    top
    cd /docker:container:/
    find-file etc/hosts
Re:Closh – Bash-like shell based on Clojure by rrix2 on Wednesday November 01, 2017 @08:46PM (#15606894)
Until you type '|', since eshell will buffer each process's output in an emacs buffer. It doesn't actually stream between pipes, which basically makes it useless for a complicated pipeline.
Re:Closh – Bash-like shell based on Clojure by peatmoss on Wednesday November 01, 2017 @10:54AM (#15601661)
At RacketCon this year, there was a presentation on something called “Rash”:

http://docs.racket-lang.org/rash/index.html

Re:Closh – Bash-like shell based on Clojure by hssay on Thursday November 02, 2017 @02:18AM (#15608234)
Thanks for the amazing work! This is a project that many would look forward too. Shell is a place where Clojure's program to abstractions and data oriented programming philosophy can do wonders.

Ability to browse documentation of Clojure functions at the shell might help. Currently, man pages can be accessed for utilities. But quickly browsing doc of, say, Clojure re-find will add value, although features from stage 2 and 3 of roadmap are more important/show-stoppers.

Re:Closh – Bash-like shell based on Clojure by setzer22 on Wednesday November 01, 2017 @10:28AM (#15601407)
Is there a way I can automatically import libraries?

Also, what's the current status on autocompletion features?

By the way, very nice work!

Re:Closh – Bash-like shell based on Clojure by kloud on Wednesday November 01, 2017 @10:36AM (#15601486)
You can use node libraries by requiring them with (js/require). ClojureScript libraries are in theory possible too, but I need to figure out how to specify classpath options for them.

Check out the example: https://github.com/dundalek/closh/blob/master/doc/guide.md#c...

Re:Closh – Bash-like shell based on Clojure by robto on Wednesday November 01, 2017 @10:36AM (#15601484)
One thing that would be killer in a cljs shell is some sort of paredit capability. I've been writing clojure long enough with good tools that when I have to use it in an environment without paredit it slows me down a ton.

This looks great, though, and I can't wait to try it out.

Re:Closh – Bash-like shell based on Clojure by doxos on Wednesday November 01, 2017 @10:57AM (#15601682)
A reader macro for embedding shell commands within clojure forms would be interesting. Something like:

(let [x #sh ls] (pprint x))

Or some kind of way to embed shell execution directly in the form...

Re:Closh – Bash-like shell based on Clojure by doxos on Wednesday November 01, 2017 @10:58AM (#15601697)
Or sh/ls, like we would do with js/alert, where sh is some handle to a global shell object we can call from within a form.
Re:Closh – Bash-like shell based on Clojure by doxos on Wednesday November 01, 2017 @11:08AM (#15601835)
Ah, never mind, I just saw sh-ok.