frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

minikeyvalue

https://github.com/commaai/minikeyvalue/tree/prod
1•tosh•1m ago•0 comments

Neomacs: GPU-accelerated Emacs with inline video, WebKit, and terminal via wgpu

https://github.com/eval-exec/neomacs
1•evalexec•5m ago•0 comments

Show HN: Moli P2P – An ephemeral, serverless image gallery (Rust and WebRTC)

https://moli-green.is/
2•ShinyaKoyano•10m ago•0 comments

How I grow my X presence?

https://www.reddit.com/r/GrowthHacking/s/UEc8pAl61b
1•m00dy•11m ago•0 comments

What's the cost of the most expensive Super Bowl ad slot?

https://ballparkguess.com/?id=5b98b1d3-5887-47b9-8a92-43be2ced674b
1•bkls•12m ago•0 comments

What if you just did a startup instead?

https://alexaraki.substack.com/p/what-if-you-just-did-a-startup
2•okaywriting•19m ago•0 comments

Hacking up your own shell completion (2020)

https://www.feltrac.co/environment/2020/01/18/build-your-own-shell-completion.html
1•todsacerdoti•21m ago•0 comments

Show HN: Gorse 0.5 – Open-source recommender system with visual workflow editor

https://github.com/gorse-io/gorse
1•zhenghaoz•22m ago•0 comments

GLM-OCR: Accurate × Fast × Comprehensive

https://github.com/zai-org/GLM-OCR
1•ms7892•23m ago•0 comments

Local Agent Bench: Test 11 small LLMs on tool-calling judgment, on CPU, no GPU

https://github.com/MikeVeerman/tool-calling-benchmark
1•MikeVeerman•24m ago•0 comments

Show HN: AboutMyProject – A public log for developer proof-of-work

https://aboutmyproject.com/
1•Raiplus•24m ago•0 comments

Expertise, AI and Work of Future [video]

https://www.youtube.com/watch?v=wsxWl9iT1XU
1•indiantinker•25m ago•0 comments

So Long to Cheap Books You Could Fit in Your Pocket

https://www.nytimes.com/2026/02/06/books/mass-market-paperback-books.html
3•pseudolus•25m ago•1 comments

PID Controller

https://en.wikipedia.org/wiki/Proportional%E2%80%93integral%E2%80%93derivative_controller
1•tosh•29m ago•0 comments

SpaceX Rocket Generates 100GW of Power, or 20% of US Electricity

https://twitter.com/AlecStapp/status/2019932764515234159
2•bkls•29m ago•0 comments

Kubernetes MCP Server

https://github.com/yindia/rootcause
1•yindia•30m ago•0 comments

I Built a Movie Recommendation Agent to Solve Movie Nights with My Wife

https://rokn.io/posts/building-movie-recommendation-agent
4•roknovosel•30m ago•0 comments

What were the first animals? The fierce sponge–jelly battle that just won't end

https://www.nature.com/articles/d41586-026-00238-z
2•beardyw•39m ago•0 comments

Sidestepping Evaluation Awareness and Anticipating Misalignment

https://alignment.openai.com/prod-evals/
1•taubek•39m ago•0 comments

OldMapsOnline

https://www.oldmapsonline.org/en
1•surprisetalk•41m ago•0 comments

What It's Like to Be a Worm

https://www.asimov.press/p/sentience
2•surprisetalk•41m ago•0 comments

Don't go to physics grad school and other cautionary tales

https://scottlocklin.wordpress.com/2025/12/19/dont-go-to-physics-grad-school-and-other-cautionary...
2•surprisetalk•41m ago•0 comments

Lawyer sets new standard for abuse of AI; judge tosses case

https://arstechnica.com/tech-policy/2026/02/randomly-quoting-ray-bradbury-did-not-save-lawyer-fro...
5•pseudolus•42m ago•0 comments

AI anxiety batters software execs, costing them combined $62B: report

https://nypost.com/2026/02/04/business/ai-anxiety-batters-software-execs-costing-them-62b-report/
1•1vuio0pswjnm7•42m ago•0 comments

Bogus Pipeline

https://en.wikipedia.org/wiki/Bogus_pipeline
1•doener•43m ago•0 comments

Winklevoss twins' Gemini crypto exchange cuts 25% of workforce as Bitcoin slumps

https://nypost.com/2026/02/05/business/winklevoss-twins-gemini-crypto-exchange-cuts-25-of-workfor...
2•1vuio0pswjnm7•44m ago•0 comments

How AI Is Reshaping Human Reasoning and the Rise of Cognitive Surrender

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646
3•obscurette•44m ago•0 comments

Cycling in France

https://www.sheldonbrown.com/org/france-sheldon.html
2•jackhalford•45m ago•0 comments

Ask HN: What breaks in cross-border healthcare coordination?

1•abhay1633•46m ago•0 comments

Show HN: Simple – a bytecode VM and language stack I built with AI

https://github.com/JJLDonley/Simple
2•tangjiehao•48m ago•0 comments
Open in hackernews

Show HN: A Lisp Interpreter for Shell Scripting

https://github.com/gue-ni/redstart
114•quintussss•4mo ago
Redstart is a lightweight Lisp interpreter written in C++ with a focus on shell scripting. It lets you combine the expressive power of Lisp with the practicality of the Unix shell: you can run commands, capture output, pipe between processes, and still use Lisp syntax for logic and structure. Think of it as writing your shell scripts in Lisp instead of Bash.

Comments

esrh•3mo ago
awesome! I have wanted something like this for a long time. Currently I use a janet fork <https://github.com/eshrh/matsurika> with some trivial additions, the most important of which is a `$` macro that does what the `sh` does here. I have two questions:

- I see that `sh` does not take in strings but instead lisp forms. How do you distinguish between variables that need to be substituted and commands? In my fork, the way to do variable substitution involves quasiquoting/unquoting. - Almost all of the features that make your language good for shell scripting are essentially syntactic features that can easily be implemented as a macro library for say, scheme. Why'd you choose to write in C++? Surely performance is not an important factor here. (I'm interested because I am currently working on a scheme-based shell scripting language).

em-bee•3mo ago
can you give an example of how variable substitution in your language looks like?

one of the things i think a lisp for shell should have, and i agree that this may not be easy, but unix commands should be first class functions, as in, you should not need a $ or sh macro to make them work. the other thing is that strings should not be quoted, and so you need something else to designate variables like $path or ($ path)

esrh•3mo ago
Yes, i agree that unix commands should be first class. I did this for the super common stuff like ls and cp. As for substitution, I did exactly $ for substitution. You'd do something like ($ rsync -avP $src $dst), but I don't think I ever got around to implementing $() to evaluate forms. If you really need to do that then you have to quasiquote the whole expression and unquote the form you need to evaluate. This has been relatively ok for me though. I never implemented anything like pipes or redirection, I instead just send everything like that to bash.

This is not really relevant to your question, but I regret choosing janet for this, it's too opinionated and hacking on C is not as fun as lisp. I started writing my own version of schemesh in racket, but I never got far enough.

antics9•3mo ago
This looks good! I've seen other tries of shell scripting with lisp dialects but Redstart syntax looks more intuitive (from a shell scripting standpoint) and easy to read.
ctenb•3mo ago
Very nice! I've often wondered how close you could get to a POSIX-like syntax with something like this while maintaining a LISP semantics as much as possible. Especially pipelines are much easier to read with the | and > operators. I guess you need some sort of LISP dialect that supports infix operators
lycopodiopsida•3mo ago
Would take threading macros over pipelines every other day of the week.
sshine•3mo ago
You can have regular shell infix pipes combined with Lisp/Scheme macros as control flow. I think the tradeoff that Schemesh is nice, even though it does sacrifice POSIX:

The best of both worlds of shell and Lisp is quick ability to run and pipe processes, and full programming functionality without the shell scripting shenanigans like obscure semantics and lack of good data structures.

cess11•3mo ago
Unless someone has already provided a library for it, write some wrappers around pipes and forks and use OCaml utop.

It's not a Lisp but close enough, I'd say. If I didn't have the rather extensive background of using Picolisp and some other REPL-like tools as a form of shell I'd probably have settled for utop, at least until I reached my iex era.

sakesun•3mo ago
If you don't mind .NET, BraidLang is another interesting project.
sshine•3mo ago
Related: Schemesh — A Unix shell and Lisp REPL, fused together

https://github.com/cosmos72/schemesh

https://news.ycombinator.com/item?id=43061183 (7 months ago, 177 upvotes)

shorden•3mo ago
For a blend between Lisp and a more traditional POSIX shell, I enjoy Emacs' [eshell](https://www.masteringemacs.org/article/complete-guide-master...).
vindarel•3mo ago
> writing your shell scripts in Lisp instead of Bash.

in a Lisp ;)

Related, for Common Lisp:

- unix in lisp https://github.com/PuellaeMagicae/unix-in-lispMount Unix system into Common Lisp image.

- kiln https://github.com/ruricolist/kiln - an infrastructure (managing a hidden multicall binary) to make Lisp scripting efficient and ergonomic.

- CIEL https://github.com/ciel-lang/CIEL/ - CIEL Is an Extended Lisp is a collection of dozens of libraries useful for mundane tasks (HTTP, JSON, regexps…). It also comes as a binary that is able to run scripts from sources. Scripts that use the built-in libraries start fast without a compilation step. [project of mine]

- discussed here: https://news.ycombinator.com/item?id=41401415

- Lish https://github.com/nibbula/lish - maybe someday a Lisp shell

- SHCL https://github.com/bradleyjensen/shcl - a POSIX shell in CL (stalling)

- lserver https://notabug.org/quasus/lserver/ - live-coding remote function calls for the shell. Write a command in the REPL, and run it instantly in the shell.

I use CIEL ;)

And, built-in: use the --load flag or build a self-contained binary, compiled to machine code with SBCL. It can contain your web assets (html, js etc). A compressed binary weights ±30MB and starts fast. A stripped off binary with LispWork$ (no compiler, no debugger etc) is ±5MB. There's ECL too.

bitwize•3mo ago
And don't forget scsh: https://scsh.net/
drob518•3mo ago
The OG.
chubot•3mo ago
Many of these projects are on:

Alternative Shells - https://github.com/oils-for-unix/oils/wiki/Alternative-Shell...

Internal DSLs for Shell - https://github.com/oils-for-unix/oils/wiki/Internal-DSLs-for... - nearly every language: Python, many schemes and Lisps, Haskell, OCaml, JavaScript, etc.

Feel free to add them if they're not there

vindarel•3mo ago
nice thanks, I'll check them out.

They are also on https://github.com/CodyReichert/awesome-cl/

em-bee•3mo ago
this made me wonder why guile isn't designed for shell scripting too. i mean, wouldn't that make sense? if you want guile to be the designated extension language for gnu applications, why not also make it the designated language for shell scripts?
rcarmo•3mo ago
Added to http://taoofmac.com/space/dev/lisp
tanelso2•3mo ago
Very nice! A similar tool is [babashka](https://github.com/babashka/babashka) for Clojure
drob518•3mo ago
Babashka rocks!
waynesonfire•3mo ago
This misses the point of shell scripts.

OUTPUT=$(some_command)

is the killer app of sh scripts among other things, like being universally available. Any language, including this, can execute a command. It's the ergonomics that matter. Shell scripts reduce the impedence of interacting with the shell to control the OS. At first sight, this tool does'nt improve on that impedendance. It also invents it's own esoteric syntax, so what's the gain?

On a separate point but equally important, I don't understand why sh scripts are exempt fom unit tests. Do these tools alleviate that?

zem•3mo ago
this has a `$` - you can do

    (defvar output ($ some_command))
suspended_state•3mo ago
> On a separate point but equally important, I don't understand why sh scripts are exempt fom unit tests.

Likely because:

- it's an older culture than unit testing

- people write shell scripts for one shot tasks, or to automate tasks which are system setup/configuration specific

- if a shell script becomes useful enough, it gets rewritten in a more apt language

bheadmaster•3mo ago
Combining power of Bash programming with the practicality of Lisp. Awesome!
masfoobar•3mo ago
interesting project.