Hacker News new | past | comments | ask | show | jobs | submit login
Rash – The Reckless Racket Shell (rash-lang.org)
132 points by nrabulinski on June 16, 2023 | hide | past | favorite | 29 comments



Apropos Scheme and shells, this is how you write acknowledgments:

https://scsh.net/docu/html/man.html


What is the history here and how on Earth is this considered appropriate for a manual? Even if this is tongue in cheek it's still way too unhinged to be taken as a joke, or a "Mondays right?" type of comical rant.

This is dark, and I'm surprised this person hasn't actually gone off the deep end....


There are numerous old threads about this page (and in fact many other writings/rants by the same author) - for example: https://news.ycombinator.com/item?id=21668685


I can't imagine someone writing this as a joke... hope whoever wrote that got the help they needed (it's from 1994, but I'm too afraid to look up who wrote it and what happened).


It's a joke. Olin Shivers is currently a professor in CS at Northeastern University.


Jesus Christ what happened to people I'm tech that posts like this are considered normal?


holy smokes


If you like this and use emacs, have a look at eshell: https://www.gnu.org/software/emacs/manual/html_mono/eshell.h...

Those rash seems even better :)


The biggest advantage Rash seems to have over Eshell is the pipe extensions that is has, and maybe the performance (Racket is really fast).

The biggest advantage Eshell has to me is TRAMP, which is more important to my personal workflow than I think the better piping would be.

Of course maybe something like TRAMP could be added to Rash though :)


> The biggest advantage Rash seems to have over Eshell is the pipe extensions

Maybe we can get this added to eshell, it'd be a perfect fit.


Hah, every time I see something cool done with Racket it makes me want to learn it and go through How To Design Programs.

I start from the beginning and get a little further every time.. one day I'll finish it.


Why is there video at the front page instead of a text? So annoying. I won't spend n minutes in boredom, staring out of my mind, only to get to know what they offer to me?


I agree, it's not about it being "easy" to find the documentation or "easy" to watch the video. This is the landing page for the project, and I'd much rather see the commands in the video listed out on the page rather than having to watch someone else's terminal session.

I was recently looking at nushell, and that website has exactly what I would expect to find: example input with screenshots of the output instead of a video.


You mean like clicking that big DOCUMENTATION button at the very top?



Does anyone know where I can find more examples of Rash code? Scripts large and small that do something cool... I get more inspired by those than by reading documentation :)



i like how well the integration between shell commands and the racket language seems to work. in my impression this feels better than what i remember seeing from other programming language commandline shells like xonsh. this is probably due to racket syntax more naturally mapping to shell commands with the function/command name being in first place. xonsh has to parse a command both ways to figure out whether `ls -l` is a shell command or python code, whereas rash doesn't because plain racket code is always in ()


Reminds me a bit of Closh: https://github.com/dundalek/closh which is now on hiatus. babashka: https://babashka.org however, is in full bloom for scripting thanks to a relentless Borkdude and the GraalVM project.



Looks interesting!

Almost feels like reinvented Perl, which can be a great or terrible thing depending on how often you invoke perl from the shell or scripts.


I wonder how this compares with Babashka?


Babashka is purely meant for scripting while rash can replace your shell as a whole


does it provide call/cc? I assume continuations mixed with arbitary shell code is a bit complicated


Racket supports multiple kinds of continuations, not just call/cc:

https://docs.racket-lang.org/reference/cont.html

Toward the end of the demo video it mentions they are supported in Rash.


Yes, but they're all just syntactic sugar around call/cc though :)

I guess I'll have to check out Rash, it looks really interesting


I may be wrong, but I don't think delimited continuations are just syntactic sugar around call/cc, i.e. the former require operators that depart from the semantics of the latter (undelimited continuations).


I think delimited continuations can be implemented with call/cc if you let the continuation "leak" out of the call/cc body. I'm pretty sure you can implement most, if not all delimited continuation constructs using call/cc. Maybe not in the fastest/most optimal way, but at least theoretically it should be possible

It's been a while that I used Scheme though, so my memory may be a bit rusty and I might have missed some things


https://scsh.net/docu/html/man-Z-H-3.html#node_chap_2

Kind of amazing tech from 30 years ago is better than what we have today.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: