GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Embed Notice

HTML Code

Corresponding Notice

  1. Embed this notice
    roko's basilisk (vii@dsmc.space)'s status on Saturday, 18-Apr-2026 15:17:29 JSTroko's basiliskroko's basilisk
    in reply to
    • pistolero
    @p I've wanted to do this for a while, I've kept putting it off but I've thought through a lot of it, so most of what I've been doing is just disambiguating the few places where backwards-compat with POSIX sh requires me to make choices, or just where adding one thing makes the whole parser go a little bit stupid and I have to rearrange things.

    You know, fun.

    So technically there is a bit of syntactical whitespace. I treat `VAR=value` exactly how POSIX handles assignment, but I treat `pattern = expr` (note the spaces around = ) for elixir-style matching and binding. I have both | and |>. I have the literals #{ and %{ which were so much fun to solve for. Technically, -- is a token because --build was breaking in the shell for a while. I support both `if cond; then ... fi` and `if expr do ... end`. I support atoms, but the POSIX : builtin must be followed by a space.

    There's a chance I'm not going to be able to run, say, gentoo scripts through it. I haven't tried yet. But I think my coverage is good enough, and now I have my own shell.

    Thank you for listening btw, I always get so self-conscious when I want to talk about these things but no one gets me. I start just shitposting threateningly.
    In conversationabout 4 months ago from dsmc.spacepermalink
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.