User talk:Stkptr

From Esolang
Jump to navigation Jump to search

StackBBQ

Alright. Help me rewrite it. --_i__s__l__p__t__n__g_ 04:59, 7 March 2025 (UTC)

My main concern was with the 000 special command, since the summary and interpreter disagree. I have made an edit to the page StackBBQ which aligns the summary with the behavior of the interpreter listed on the page. Feel free to correct it. stkptr (talk) 07:07, 7 March 2025 (UTC)

Will you help me to build StackBBQ 2 that is Turing-Complete? --_i__s__l__p__t__n__g_ 02:58, 11 March 2025 (UTC)

I'm not entirely sure what exactly would be necessary. Some type of primitive loop would be required. To keep the spirit of the language, a for style loop would likely be best since they only execute a fixed amount of times. It would still require the programmer to make a quine to loop indefinitely, but would allow for a program to execute more than one operation per instruction. On the Esolangs community Discord someone joked about a "four" loop, presumably it would always iterate exactly 4 times, but that could honestly be enough assuming it could nest. Maybe the 011 command could be replaced with some sort of loop marking construct? Note that I'm not the ideal person to ask for this since I am relatively unfamiliar with creating quines, and am rather uninspired when creating languages. I hope this can serve as some base inspiration. stkptr (talk) 05:02, 11 March 2025 (UTC)
StackBBQ2

Thanks

thank you for add the turing complete proof of MSFE++! Thank you very much! --User:Cycwin

My question

ToArrowScript really has while loop. But you said no?

{:code block
}=>{}(_cond)=>while

-User:Cycwin

I wasn't looking super closely, I noticed it had unbounded variables and lists, which are definitely powerful enough for Turing completeness so long as there was a looping mechanic. I just didn't notice the loop construct, hence why my edit message was "just would need a while loop." With the loop it's definitely complete due to things like tag, or general blindfolded arithmetic or Turing machines directly or... stkptr (talk) 16:14, 19 April 2025 (UTC)

StackLinearModulo2

I can't understand your notes. Also is it TC? -- i  s  l  p  t  n  g  03:26, 10 June 2025 (UTC)

The convenient aliases are pretty much just names for some useful code snippets. Like in Brainfuck you might refer to [-] as clear because it clears the current cell. In StackLinearModulo2 the snippet :| has the effect of bitwise-inverting all of the bits on the top of stack, so it could be called not. Similarly :::||+:| can be constructed from aliases as minus1 prefix0 not and has the effect of pushing a 1 onto the stack, so it could be called 1.
I'm almost certain it is TC but I haven't made a construction yet. My current idea is to create if statements by having loops which execute their contents either one or two times, then after each of those loops is a deconstruction which deletes one copy of the output. This way the loop effectively executes either zero or one times.
If that's feasible then the way qoob implements cyclic tag would be fairly easy to translate. stkptr (talk) 04:31, 10 June 2025 (UTC)

About SAC

Because of my terrible English, I can only tell you one thing: Your interpreter of SAC is correct at all. All the comments and variable name are correct. Please help me... --User:Cycwin

ButWhy subset

Here's a cyclic tag compiler for the ButWhy subset:

productions = (False, True, True), (True, False), (True, False, True)
initial = (True,)

c = "dup nor dup dup dup nor dup dup nor teardown nor nor", "dup dup dup nor teardown pop"
first_production = True
for production in productions:
    if first_production:
        first_bit = True
        for bit in initial:
            print("1 cycle" if first_bit else c[0])
            print(c[bit])
            first_bit = False
        print("dup dup nor teardown pop pop")
    else:
        print("cycle pop")
    print("cycle")
    for bit in production:
        print(c[0])
        print(c[bit])
    print("pop")
    first_production = False

The main part of the construction is dup nor dup dup dup nor dup dup nor teardown nor nor and dup dup dup nor teardown pop, which each conditionally (i.e. only if the top element of the stack is 1) insert a bit below the top element of the stack. abc... in the cyclic tag datastring corresponds to 0a0b0c... on the stack. –PkmnQ (talk) 17:38, 22 July 2025 (UTC)

Great work! I've updated the ButWhy page to reflect your discovery. I think it's reasonable to consider it TC given this. stkptr (talk) 00:35, 23 July 2025 (UTC)