« first day (1312 days earlier)      last day (84 days later) » 

12:32 AM
I designed (and implemented mostly) another tarpit-esque language a while ago
I never really did anything with it because I couldn't decide how I wanted it to handle strings, so I forgot about it (and unfortunately lost the code)
I think I'm going to resume working on it this evening
 
 
3 hours later…
4:03 AM
@DJMcMayhem Yesss :D
@JoKing Well, multiple sinks currently are kept distinct, printing their output on separate lines. --Which, I just realized, may be a bit problematic for infinite output (such as the Fibonacci program I've been working on), since it means that you can't produce output as you go if there's multiple sinks. Maybe I could toggle that with a command-line flag.
(My infinite Fibonacci program works on my local copy--you just let it run for a while and then hit Ctrl-C, and you get a list of Fibonacci numbers plus maybe a partial one at the end. But on TIO, it doesn't produce any output. If you interrupt it, it shows a weird double error. Maybe I should ask Dennis the reasons for that.)
 
hmm, i've noticed the partial output behaviour before, so I don't know why it wouldn't work now
 
See for example the truth-machine. It's like TIO sends a keyboard interrupt, and while the interpreter is catching that exception and trying to print the output before exiting, TIO sends another interrupt to make sure it's really dead (and no output gets printed).
Yep. I'm gonna ask Dennis.
(It's probably , but I'd like to understand it anyway.)
 
yeah, I can see that too
Traceback (most recent call last):
  File "/opt/bitcycle/bitcycle.py", line 402, in run
    playfield.tick()
  File "/opt/bitcycle/bitcycle.py", line 134, in tick
    device.enqueue(bit)
  File "/opt/bitcycle/bitcycle.py", line 321, in enqueue
    self.rawOutput += str(bit)
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/bitcycle/bitcycle.py", line 495, in <module>
    run(code, pause, ioFormat, *args)
  File "/opt/bitcycle/bitcycle.py", line 403, in run
lol
I find it sometimes produces output if you leave it for a few seconds
 
4:26 AM
hmm
i haven't gotten that double error yet
 
@JoKing Huh, you're right. Let me try my Fibonacci code again.
 
@DLosc Have you golfed your solution yet? Mine is 31 bytes rn
 
I'm at 29. :)
 
@DLosc :D
I'm probably gonna ask for help here, because there's a lot of design choices I'm not sure about
 
> because there's a lot of design choices I'm not sure about
describes me perfectly
which is why i've resorted to making a language where i have to make almost no design choices :|
 
4:34 AM
It's hard! There's so many different ways to take each and every decision
 
@JoKing I got a version that starts with 0 down to 26 bytes, but the question specifically says to start at 1.
 
I mostly just not sure how difficult to use it should be lol. It could be anywhere from a little bit easier than brain-flak to way harder
 
if it's hard - it should be sufficiently interesting
otherwise it'll be just another unused tarpit
like... malbolge is hard to use and interesting
 
Yeah, I don't want it hard just for the sake of hard
 
oh hmm, mine starts at 0 too
ah wait, no bytes extra to start at 1
 
4:39 AM
The main quirk that it's all based around is that the memory and control flow are closely entwined. Aaaand... That there is no memory you can use outside of the control flow
 
@DLosc Either 1 or zero indexed I think this means you can start at 0
Though that's confusing since it is '1 indexed'
 
@DJMcMayhem To me, I know I've hit on a good esolang idea when a lot of the decisions have "obvious" "right" answers that fit together nicely. If there's lots of edge cases and "does it need this? I'm not sure," it ends up feeling inelegant.
 
Hmm, that's a good point
 
Has anyone had the issue where if you duplicate a TIO tab, all the fields get shifted down by one?
 
O_o
 
4:42 AM
i.e. command-line options end up in header, header in code, code in footer
hell, even the output is in debug for some reason
 
@JoKing I read that as referring to the "input n, calculate the nth term" option, meaning that e.g. for an input of 4 you can output either 3 (1-indexed) or 5 (0-indexed).
But yes, it could be clearer.
 
the accepted answer starts at 0
 
Hahaha--okay, well, that's at least evidence that the OP doesn't care either way. Fair enough.
I'll probably post both versions.
@DJMcMayhem Sounds interesting--that's going to require a fair amount of self-modifying code, I'd guess?
 
Lol, the debug ends up in the command line arguments
 
@JoKing O_o
 
you have officially broken your browser
link to original pls?
 
Hmm
Maybe it needs to be unlinked?
 
Which browser?
 
Try opening a new TIO tab of Bitcycle, type something in the command line options and code, then dupe
Chrome
 
4:49 AM
Hm, same.
 
@DLosc No self modifying code. My plan was that if you want to keep a value in memory, you send the IP there (and insure that it's dead code) and then you can access the history of where the IP has been
(ensure?)
 
I think it is the command line args that is messing it up
Yeah, repro with Perl
 
lol, guessing that's URL parsing/generation going wrong
 
Ha, it replaces the default command line arguments and normal arguments with the debug text
Every time you press add, it copies a new block of text
 
5:20 AM
@JoKing Really neat Fibonacci code, by the way. You're constantly thinking outside the boxes my brain is stuck in. At first I was following the data flow going, "But isn't that going to mix 0s and 1s in the collectors? How--" and then I got to the part where it dupnegs everything, combines it all back together, and sends the 0s one way and the 1s the other way... wow. :D
 
Ooh, you're going to be impressed with my version that only uses 2 collectors
1,1,3,3,5,8,13,21 <.<
 
lol
how does that even happening
 
1,1,1,2,1,3,5,8,13,21
why
 
i'm guessing it's just too small or something
 
Yeah, you run into some interesting sequences when debugging. :) I believe I had one that went 1,5,13,34... No idea why.
 
5:29 AM
Oh hmm, it might be because two bits are reaching the sink simultaneously
nvm, that's not it
 
Just golfed a byte off my 0,1,1 version >:^D
 
i'm currently at 23 bytes for 0-based
with a shorter 17 byter that inserts a 1 as the 4th element for some reason
that one has literally no spaces
 
WHoa
 
Darn, I don't think I can fix it, so here it is
 
21 bytes starting with 0 (got rid of a lot of complicated pathing that wasn't necessary)
I almost feel like "Fibonacci starting at 0" and "Fibonacci starting at 1" should be two different challenges. I know in most languages it's a trivial modification, but I'm using two rather different algorithms, one of which is 8 bytes longer than the other! (But possibly golfable.)
 
5:48 AM
I think i have the same 21 byter as you
My 1-based is at 23 bytes, but it's a trivial modification of what the initialisation is
as well as pushing a 1 bit to the sink at the beginning of the program
 
I don't think that's the same. I don't see how my 21-byter could be modified to start at 1. Does yours have a lot of spaces?
 
It has 2 spaces
though 1-based has none
 
Mine has 6, so... X^D
 
ha
 
Also, while trying to golf my 1-based version, I got this interesting sequence: 1,2,1,7,1,20,1,54,1,143,1,376,1,986,1,2583,1,6764
Aha, there we go. 26 bytes. I bet I can rearrange the bottom part some more, though...
 
6:00 AM
hmm, n = 1 if odd, else n = (n-2)*3-(n-4)+1 ?
I don't even know how I would do that on purpose
Any way, I need to go, so here's my 21 byter. Should be easy to see where it can be modified for 1 based
 
@JoKing Do go ahead and post that when you get the chance--I can see at a glance it's very different from mine.
 
 
1 hour later…
7:25 AM
Turns out I could use a similar structure to get a 21-byter starting at 1 after all. Posted.
 
7:41 AM
@DLosc Nice. 18 bytes for 0 based
 
8:26 AM
@DLosc I got 14 bytes, but it prints an extra 0 before the 0 based sequence
needs an extra 3 bytes to remove it, but I have an alternative 17 byter that can be 0 or 1 based
 
 
2 hours later…
10:58 AM
A single sink can output straight to stdout, right?
 
 
10 hours later…
9:23 PM
@JoKing Yes, it could. But I think, rather than changing the behavior based on how many sinks there are in the program, I'd rather add a command-line flag that sends all sinks' output together to stdout immediately.
Although, with -u or -U (or any hypothetical string-formatting flags), it won't be immediately. But as soon as a unary number is followed by a separator, it can print the number and the comma.
 

« first day (1312 days earlier)      last day (84 days later) »