« first day (632 days earlier)      last day (610 days later) » 

2:58 AM
@DestructibleLemon Try it online!
That is a program that removes the last bit from the current TOS and adds it to the end of the other TOS
(program in the comment)
We can use this to create a binary tape.
It is not a proof of TC, but it is a step towards one
 
@user56656 nice
the only thing is using loops and stuff
because they check TOS
 
i didn't even know brainflak had #-comments
 
It is implementation specific
 
ok
the only thing is that you can't rely on the second TOS...
i have an idea...
 
3:07 AM
What do you mean by "you can't rely on the second TOS"?
 
because of conditionals relying on at least one of the TOS
so you can't use it as a conditional like boolf***
but i have an idea...
 
@DestructibleLemon Huh?
 
Oh yes that is the issue right now.
 
You can calculate (n mod 2) and put it on the other stack to use as conditional.
 
conditionals read the TOS, which means that, if you have any 1s on one side of the tape, will loop
 
3:08 AM
It is hard to do conditional branching
 
@user202729 but then you lose what was on that stack
 
@DestructibleLemon Not necessarily
There are more subtle limitations
 
@DestructibleLemon Use one stack for the tape, the other for conditional.
@user56656 Huh? What limitations?
 
Using one stack for the tape is a very hard thing to do
 
@user202729 but the tape needs both stacks
 
3:09 AM
But it's possible to extract any bit anyway, not just the last bit.
 
my idea: use the difference in stack heights as a tape pointer
 
@user202729 example program pls
 
@user202729 You can momentarily store the value from the second stack in the scope, but scopes have a strict order so you can only do your manipulations from inside the scope.
 
you can move all of the tape to one stack, then do the conditional
 
yes but you need to store where you were, and you can't do that in scope memory
 
3:11 AM
yes, i said
 
because a loop can't cross a scope boundary.
 
use the stack heights to store it
 
All of my manips wreak havoc on the stack height
 
then move it back immediately afterwards.
 
@ASCII-only Let's see...
 
3:11 AM
@user56656 ah, but you can easily make them keep the stacks the same height
everytime you push to one stack, push a peek to the other stack
 
So, assume a program X evaluates to ToS mod 2 while does not change the ToS (is it possible?)
 
use the height difference as the value
 
Maybe
Could work
I don't think we need to though
 
@user202729 yes... in a way
 
@user202729 I can write that
 
3:14 AM
Let's see... if it's possible to construct a snippet of programs that push the n'th bit on the other stack while leaving the current stack unchanged, it's TC, right?
 
that's not how TC proofs work
that's a heuristic
 
I don't know but that is really easy to do
 
if you can show that the ability to do that would allow you to compile a TC lang to this lang we are examining, then it would show it is TC
 
Then... you have infinite memory + conditional + loop. Why not?
About compile... yes, that need some work, but should not be hard.
 
It is not that simple.
 
3:17 AM
@user202729 probably, but you need to actually make a proof with the proper maths
y'know, show your working out and stuff
 
@user56656 How?
 
The problem is that you only have half a tape.
I.e. a stack of bits
 
... looks like I really need to make a compiler.
 
you could make a tape with a single integer on one stack?
 
Compilers are a lot easier than math.
 
3:18 AM
@DestructibleLemon Theoretically, yes, but it is hard in practice
 
a compiler is maths, in a way
3 mins ago, by user56656
I don't know but that is really easy to do
 
Basic idea: if (bit[n]) {code} -> push bit[n] on other stack; <>; {<> code (<>)} <>
 
You have to shift all the even bits up and the odd bits down or something to that measure.
@DestructibleLemon That was about reading an arbitrary depth bit.
 
@user56656 ok, but how does that not make it extensible to a tape?
 
How does that make it extensible to a tape?
 
3:20 AM
After some more thoughts, it will allow the program to only be able to solve every problem with finite but arbitrarily large memory.
 
I'm not saying its not true, I just don't know why it would be true
@DestructibleLemon I should specify that I mean we can read an arbitrary bit that is determined at compile time.
 
Looks like that I overlooked something.
I think I will try the "shift all the odds bit up and all the even bit down" part.
 
@user56656 oh ok
ok so, my idea is that you can just shift the bits onto the second stack, the one used for conditionals, when you want to check the bits and stuff, but then put them back, and set the stack height difference to be the bits to the left that the pointer is
 
I'm going to say that I believe this is TC, especially if we allow ourselves to use the stack heights
 
At least, with the ability to allocate memory fixed at compile time, it can solve a lot of problems now...
 
3:26 AM
I think I know how we can do the one stack tape shifter
 
are you using the stack height?
that could be helpful
 
I want to prove it TC without using Stack height
 
why?
oh i guess there are valid reasons to do that
 
If we prove it TC using stack height that will just bring up the question of "Do we need stack height?" and then I'll be back to square one.
 
Smaller = better, right? That's why esoteric languages exist.
 
3:28 AM
@user56656 ok good point, but i mean, it might be easier to prove with stack height if we do happen to need stack height
 
Also I'm not certain we need <...>
 
@user56656 we don't, but that's well known
 
We don't if we have a pop
 
@user56656 wait, i take that back. yeah i just though of that
@user56656 use the second stack as a working variable, as we only really use that for loops?
 
Are you replying to the correct message?
 
3:32 AM
yes
 
... Single stack shifting is harder than I thought at first.
 
i mean, if you push the thing you want to evaluate to onto the offstack, you can then peek it negatively
 
I'm not sure how we would get rid of <...> I just haev a suspicion
 
maybe we should discuss this in the third stack
 
Perhaps
Hm, how do I move messages.
 
3:34 AM
@user56656 I don't think you can as you're not a TNB room owner / mod.
 
Ah I need to be a TNB owner.
that feels a bit backwards.
o/
@DJMcMayhem I see you are in the room. Would you mind moving this convo?
 
@user56656 you mean having to own the room where the messages originated?
it makes sense when you consider only some of the messages are yours
 
I am a RO of the Third stack but not TNB
 
ok so who are you actually
 
I was WheatWizard
 
3:41 AM
oh ok
madness
 
@user56656 Where does it start and where should I move it to?
 
@Dennis Starts here could you move it here? Thank you.
It is an entirely contiguous chunk too so no need to worry about other messages getting caught
 
119 messages moved from The Nineteenth Byte
 
I just realized what time it is. That is a WIP and I will try to finish it tomorrow.
I think the single stack tape is probably possible though.
 

« first day (632 days earlier)      last day (610 days later) »