Live data from Hacker News

Show HN: Making a Compiler to Prove Tmux Is Turing Complete

willhbr.net

1–10 of 14 posts

Re: Show HN: Making a Compiler to Prove Tmux Is Turing Complete

#7
post #6

The moment you think your configuration language needs loops or conditionals, drop it and just throw a scripting language on there. Your users will thank you.

Implied by “loops” but wanted to also point out self-referential definitions / recursion

Re: Show HN: Making a Compiler to Prove Tmux Is Turing Complete

#8
post #6

The moment you think your configuration language needs loops or conditionals, drop it and just throw a scripting language on there. Your users will thank you.

I mean, the tmux author kinda did. You can just execute sh inline, or execute external sh scripts. I do this with my config to do some neat things.

Re: Show HN: Making a Compiler to Prove Tmux Is Turing Complete

#9
post #6

The moment you think your configuration language needs loops or conditionals, drop it and just throw a scripting language on there. Your users will thank you.

I often read this, and I'm not sure I agree always. From the final user point of view, sure, give me a known language and don't make me learn a new config format for each program. 100% Agree.

But, now, let's go with examples from another view point:

Let's say there are different levels of support teams in an infra, and you (root) make a custom tool, so other teams can run something (and only that thing).

And that thing, has a config file. I don't want to give sudo to lua, I want to give sudo only to my tool.

It's like if we say "Don't provide the final user with a User Interface, just let them connect to the database as admin so they can do everything by themselves"

In this case, doesn't apply (sudo tmux == sudo bash).

Or another point of view:

tmux is 981K on my system, adding... lua? for the config, could increase it's size by maybe at least 30%? It's not the same to add an scripting lang to a 230GB game, than to every little tool.

Depending on context, an scripting language is ok. However, not always as a rule of thumb.

Re: Show HN: Making a Compiler to Prove Tmux Is Turing Complete

#10
post #9
post #6

The moment you think your configuration language needs loops or conditionals, drop it and just throw a scripting language on there. Your users will thank you.

I often read this, and I'm not sure I agree always. From the final user point of view, sure, give me a known language and don't make me learn a new config format for each program. 100% Agree. But, now, let's go with examples from another view point: Let's say there are different levels of support teams in an infra, and you (root) make a custom tool, so other teams can run something (and only that thing). And that thi…

If you’re going to make this jump from YAML to something with a little control constructs, your users will thank you if you go straight to a 3Lisp with full metasyntactic capability.

It’s the most user friendly thing you could do.

Post reply on HN