[HN Gopher] Show HN: Making a Compiler to Prove Tmux Is Turing C...
       ___________________________________________________________________
        
       Show HN: Making a Compiler to Prove Tmux Is Turing Complete
        
       Author : willhbr
       Score  : 76 points
       Date   : 2024-03-15 08:48 UTC (2 days ago)
        
 (HTM) web link (willhbr.net)
 (TXT) w3m dump (willhbr.net)
        
       | batuhandirek wrote:
       | _Insert mandatory "Can it run doom?" joke_
        
         | thallosaurus wrote:
         | Well, _technically_ it can!
         | 
         | > tmux -c $DOOM
        
       | omoikane wrote:
       | See also:
       | 
       | https://news.ycombinator.com/item?id=30189780 - Accidentally
       | Turing-Complete (2022-02-05)
        
       | nmz wrote:
       | 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.
        
         | zarathustreal wrote:
         | Implied by "loops" but wanted to also point out self-
         | referential definitions / recursion
        
         | DiabloD3 wrote:
         | 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.
        
         | txutxu wrote:
         | 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.
        
           | gumby wrote:
           | 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.
        
       ___________________________________________________________________
       (page generated 2024-03-17 23:01 UTC)