Hacker News new | past | comments | ask | show | jobs | submit login
Lichen: The Sed Build System (github.com/mcandre)
42 points by n4jm4 on Dec 29, 2023 | hide | past | favorite | 10 comments



> At the top, we have a not strictly POSIX compliant, multi-argument shebang:

  #!/usr/bin/env gsed -nE -f
> It may break on some fringe UNIX implementations, but it is necessary for the system to work.

I think I can vaguely remember that I had issues with something like this on a bog-standard linux. env has the -S option though, which should help on systems where multi-argument shebangs don't work.


Hm, yeah, I've been using

    #!/usr/bin/env -S ansible-playbook --diff
to turn ansible playbooks to scripts, but reading https://www.man7.org/linux/man-pages/man1/env.1p.html it looks like -S isn't actually POSIX-specified.


-S is available from macOS env, which is good enough in my book! Unfortunately macOS sed and gsed differences are a huge pain in the ass


Can't sleep, must publish build systems for more fringe programming languages.


Calling sed(1) a programming language is quite a stretch (although I guess you could say it's Turing-complete), as is calling a core Unix tool “fringe”.

Maybe we need a tongue-in-cheek emoji to mark submissions like this. Or would that ruin half the fun?


Brainfuck anyone?


As someone who only used sed for quick pipeline editing, I'm curious of what constitutes a "sed project" that this tool aims to build. Does anyone have examples?


Most likely the kind of project that uses lookup tables to synthesize a decimal alu, per https://sed.sourceforge.io/grabbag/tutorials/lookup_table_co... ;-)


Insta-install. No more ad-hoc sed-ing! Now I can add lint, test, and build steps to my `sed` applications.


Read that as “Lichen: the sea’s build system” and was expecting a comparison of lichen (a kind of moss) to makefiles.

I think my brain is still in holiday mode haha




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: