« first day (2179 days earlier)      last day (2679 days later) » 

@flawr How interesting. It seems like it's 3D.
 
@MartinEnder I made a new sandbox post based off your comment on my old anagram quine post
 
0
A: Sandbox for Proposed Challenges

Easterly IrkMake a shuffle quine! Closely based off this sandbox post, however I deleted the old one and posted this new answer for new feedback. code-challengequineanagram An shuffle quine is defined as a quine, of which shuffled sets of "chunks" also form quines. For example, pretend in my magical lang...

 
that was fairly fast
nj new sandboxed posts
 
Well, I have no intention of trying that challenge.
 
10:07 PM
eh it shouldn't be too hard
 
If it weren't for that 'distinct program' rule, I could just do n 1's separated by newlines and claim n/(2^(n-1)) score.
 
I mean, the best answers will probably be pretty complicated, but it's pretty similar to radiation hardened quines
@ATaco not a proper quine
 
1
1
Is a valid quine in RProgN.
 
?
@ATaco not on PPCG
 
Not a proper quine by our rules
 
10:08 PM
Not by Payload Capable, yes by Distinct Parts.
 
quines like that don't count, it has to encode itself and output it
 
@El'endiaStarman Playing around with fractals is better than any drug. Except chocolate.
 
It is, infact, encoding itself.
 
@ATaco all checks have to be passed
@ATaco how?
 
Each one is printing the other one.
 
10:10 PM
could someone take a look at the argument that's going on in the comments here?
 
Comment arguments. You want us to look at comment arguments.
 
FWIW, I think a) that RProgN quine is valid by PPCG rules, b) the rules in question are probably broken
@Pavel well it's about whether or not an entry is valid
 
^ Agreed
 
@ATaco so it's not payload capable? then it's not a quine, regardless of the encoding prat
 
The RProgN quine is valid by our most popular definition of a Quine, but that definition is clearly flawed because of this.
 
10:11 PM
23723 is a similar quine in 7 (which is 2 bytes long rather than 3 due to the sub-byte encoding)
 
which definition?
 
that said, 3 is a payload-capable quine in 7
 
18
A: What counts as a proper quine?

Martin EnderWe've been discussing this in chat recently, and coming up with a solid definition seems difficult. The best idea I've got is to base a definition for a true quine on the principles given on this page: a true quine will in one way or another consist of data, and code. The data represents the code...

 
that's not encoding itself though
it just happens to print itself
 
It needs to do both
 
10:12 PM
Let me clarify.
Unlike 1 which does just print itself.
1\n1 is an interesting set of steps.
If we look at it like 1\n2, it's more obvious.
Because 1 is first pushed to the stack, then 2 is.
 
which prints 2\n1
 
^
So 1\n1 isn't printing itself directly.
 
are you careting your own message?
 
still, it seems unsatisfactory to me that 1\n1 is a proper quine, but 1\n2 isn't a proper cyclic quine
even though they both work identically
 
Nope, accidental double tap on the ^, because International Keyboard.
 
10:14 PM
ah, I see what you mean
 
Also, 1\n2 won me a cyclic quine challenge.
 
fwiw, I'd like to see a definition of quine for which fix repr is a proper quine
 
@ATaco still doesn't score well at all
 
(it expands to repr (fix repr), i.e. "fix repr")
 
it's all permutations of any length / all permutations of any length that are quines
 
10:15 PM
that are proper quines, you mean?
random strings have a fairly large probability of being improper quines, in many languages
 
yeah, I was assuming quine = proper quine for the most part
 
The amount of Permutations, although not unique ones, would be 2^(n-2) for n 1's separated by newlines.
 
@ais523 read the challenge description
 
@ATaco wasn't that specifically about a cheating cyclic quine though?
 
(I think)
It was, but in the end it was considered a non-cheating quine, which was still valid by the challenge rules.
8
A: Cheating Cyclic Quine

ATacoRProgN, 4 Bytes. The community seems to consider this sort of thing as a cheating quine, which thus satisfies the criteria. 1 2 With a trailing newline. This prints 2 1 With a trailing newline, which prints the first code. RProgN prints the stack popping, so from top to bottom. Try it o...

 
10:17 PM
@ATaco of any length
 
Oh, I see where my issue is, the first half of that division I was confused with.
For some reason I thought it was just program length.
 
ah no it's not
so your score will get exponentially lower for every extra 1\n you add
 
@El'endiaStarman Found a better color mapping (~25mb gif)
 
Also, for the curious, a more Valid RProgN quine is "%q ] F" ] F
 
@ATaco FWIW, I believe that the quine in question is cheating (although obviously still valid); however, my answer in 7 (which uses an identical principle) is shorter :-P
 
10:19 PM
@flawr Mmm, yummy. :P
 
@ais523 I know, I was very disgruntled when I saw you pull that 7 quine out.
 
btw, the shortest uncontroversial quine in 7 is probably 223372233
 
(Also I was wrong, I didn't win that challenge)
 
7 is weird
4
 
the right 2233 prints the left 2233 twice
wait, no
 
10:20 PM
@flawr do you actually use matlab to make these?
 
it prints itself twice
 
I also found the current shortest Threead quine! :D
 
ermahgerd i has stars
@ATaco you made it, so that's not too suprising ;p
 
You made Threead
Ninja'd
 
1322337132233 has the right 132233 print the left 132233 twice
 
10:21 PM
ninja'ed
 
@EᴀsᴛᴇʀʟʏIʀᴋ Yep, it is nice for fiddling with stuff, but incredibly slow.
 
and 7 is sort-of like a comma
 
Yes, but I suck at quines.
 
@flawr ah oaky
 
Also, afaik only one person even attempted it.
 
10:21 PM
Two now.
 
when I wrote 7, I very much had "make this language capable of producing short quines with arbitrary levels of cheatingness" in mind
 
@ais523 Produced a nearly identical quine (unintentionally so)
">34co<o>o<o">34co<o>o<o
If someone thinks they can golf that, they can be my guest.
 
you mean 34?
 
@ais523 maybe I should place more importance of the overall length of your code, rather than total permutations/quine permutations
 
32 is space
 
10:22 PM
@ais523 well that worked then
 
Wrote that from memory, sorry 'bout that.
 
this is a important moment in TNB history
 
What is?
 
I said "emahgerd I got stars"
and I didn't get stars on that
 
@quartata Yes, all locks behave differently. We tested several of them last year, and historical significance wad the o ly one that did what we wanted.
 
10:23 PM
Wait, where's the message?
 
this is the first time somebody refrained from starring a message about getting stars
 
I don't see it
 
I asked about whether 7C E7 in 7 is a proper quine or not
 
@Pavel scroll up
 
the answer from the author was that they had no idea how it fit with the definition :-)
 
10:23 PM
Found it!
 
You failed me.
 
@EᴀsᴛᴇʀʟʏIʀᴋ Well done on ruining that momentous moment. :P
 
хахахахахахаха
 
@Pavel -.-
@El'endiaStarman in actuality that was more (subtle) starbait
and it has failed to get stars
 
well done on ruining a fairly interesting conversation about quines :-(
 
10:24 PM
and I'm honestly not sure what's going to happen next
CALLED IT
NOBODY CAN RESIST TEH STARBAIT
/s
 
But what if THIS is starbait?
 
aw bye bye stars
 
Isn't it all starbait?
 
> suppose I have a programming language which prints every command as it's executed, with no newline, but always ensures that output has a final newline if it's missing one; is print "\n" a quine?
 
@ATaco ... what did you seriously expect of course it was
 
10:25 PM
there, that's how I broke the current proper quine definition
 
Everything I say has some level of starbait to it.
 
(such a quine is 2 bytes long in 7)
 
Ugh, guys, there was a site-relevant discussion on quines going on.
 
Same in RProgN!
Wait, I think.
 
it used to, but I think you changed the newline behavour to allow for shorter quines
hmm, the thing that amuses me is that RProgN and 7 are fairly similar when it comes to quine corner cases
but the reasons behind it are fairly different
 
10:27 PM
(It really sucks sometimes that it's hard to tell who's starring stuff.)
 
in 7, all programs are written as a series of literals that are pushed to the stack, then they're copied from the stack into the program (unescaping them in the process); I did that to reduce the number of characters needed to write a program, as it means that unescaped commands don't need to appear literally ever
 
It seems I can't produce that output in two lines.
Bytes, even.
But I can do it in three.
 
how does it look in 3?
 
Wait, that's not actually a quine.
I have made many mistake in creating this program
 
hmmm...I'm thinking about disallowing hiding variables with local variables
 
10:29 PM
@NathanMerrill In what context?
 
anyway, because the commands get copied onto the stack, their original unescaped representation is still lying around on the stack
so you can do things like printing it
 
aka, an inner scope cannot have a variable named the same thing in a outer scope
 
this also means that you don't have to write a quine just to be able to do a loop (like you do in Underload and Muriel)
 
function(){
    var a = 0;
    function(){
        var a = 1;
    }
}
ah, the term is shadowing :P
 
var a = 0;
function(){
    console.log(a);
    var a = 1;
}
Now, pop quiz, what is printed?
 
10:31 PM
@El'endiaStarman it's possible with websockets iirc
@ATaco hrmmmm "Hello, World!"?
 
@ATaco assuming Javascript, I'm guessing undefined
 
because scope in Javascript works differently from most other languages
 
Yeah, Javascript.
 
this is because it was written in a huge hurry and taking shortcuts in the scoping implementation allowed it to be released on time
 
10:31 PM
And yes, undefined is correct.
 
it's also a syntax error iirc
yeah, tested and it is
@ATaco did you test your code? it's an error
 
are there any JavaScript variants that don't error on undeclared variables?
IE6, perhaps?
 
Oh, you can't var-define a variable after using it?
 
I did not test it...
var a = 0;
(function(){
    console.log(a);
    var a = 1;
})()
I forgot to call the function.
 
it's an error cause of the parends in function()
@ATaco no that's not it
 
10:33 PM
That code runs for me.
 
anyone here play infinifactory?
 
@ATaco where are you running it?
 
Firefox Console.
 
ah okay
chrome console with es7 errors
so does js.do for that matter
 
I wonder how I'd put a bounty on proving that Threead with a single thread is or is not Turing Complete.
Maybe I should ask Programming? But I lack the rep to give away there.
 
10:35 PM
it might be worth doing it somewhere other than PPCG
Esolang often gets that sort of question answered eventually (although it can take months)
actually, I believe it is
or, hmm
 
@orlp that was on my list after Factorio, but uh...Factorio
 
actually no, what happens if you do int→string conversion on something that's already a string?
 
Threead is definitely Turing Complete with all three threads, as it can transpile brainfuck pretty easily.
 
I was hoping it'd be double-escaped but there's no reason to believe that
 
Also, it does not.
 
10:36 PM
I find it hard to get my head around languages with more than one data type
that's common on PPCG but really rare in esolangs generally
 
Well, Threead has only two.
 
well community was bored apparently
 
@ais523 Esolangs question: Is there a name for languages with a 2D memory model? (Not 2D syntax like fungeoids and ><>)
 
if it is, Threead is TC with one thread
now I wonder if Boolfuck is TC using explicit set-to-1 and set-to-0 operators
@DJMcMayhem I don't think so, mostly because the extra memory dimension doesn't make much difference to how the program works in practice
there's rarely a reason to actually use it
 
0
A: Sandbox for Proposed Challenges

ElPedroASCII Art "Flight Simulator" Background I love progressive ascii art as I tend to call it. Here is another idea. Challenge Here is an ascii plane --o-- Here is an ascii runway ____| |____ The plane starts at 5 newlines above the runway (to prevent any clashes between metric and impe...

 
10:38 PM
the exception is if you're doing something like a language for processing data that's naturally 2D
like Snails or MATL
 
ASCII art
 
but even then, the memory itself isn't really 2D, it's just that the language has a lot of 2D primitives
 
V, Charcoal, and Turtled all operate on a canvas of 2D characters
 
Also, what defines a 2D Language?
 
@ATaco it's Turing complete, just worked out a translation from extended-Smallfuck (the same language I used to prove MiniMAX Turing complete)
the basic idea is that you have a tape whose elements are 0, 1, data, 0, 1, data, …
 
10:41 PM
Welp, that's an issue.
Now I need to break it.
 
the data only ever stores 0 and 1
and you can invert it via a series of loops, using the regular 0, 1 pattern in order to regain your bearings after an unbalanced loop
this gives you extended-Smallfuck's set of primitives, which are known TC (if highly inefficient)
there's probably a different construction involving Minsky machine counters, too
 
@ATaco You mean make single-thread Threead not TC?
 
hmmm...I thought of a good case for not disallowing shadowing: the for loop
but I don't like for loops anyways
 
@NathanMerrill How can you say such a thing?!
 
I'm referring to the for(int i = 0; i < 10; i++)
 
10:44 PM
@NathanMerrill my suggestion is that you have cross-scope variables that are nonshadowable, and one-scope variables that can exist in nested scopes, but inherently can't be shadowed because they don't exist in inner scopes just like they don't exist in outer scores
although this means that you need a bunch of lightweight control structures that don't create scopes
 
I could just make all monodic operations effect the stack to then left
 
@ais523 I'm confused. Code example?
 
which breaks my quines, but fixes my issues
 
@NathanMerrill for (local i = 0 .. 10) { print(i); for (…) { /* i is not accessible here */ } }
this might be a bit too extreme at preventing shadowing-based errors though
but the idea is that you'd use locals in most places, and larger scopes only if you had to
 
oh, so you can't access the variables outside your little scope unless you explicitly declare it?
like how python does nonlocal?
although nonlocal is just for writing
so, a bit different
 
10:48 PM
@NathanMerrill yes
although my experience is that function-scope variables are useful too
they should probably be explicitly declare as such, and not allow shadowing
they're helpful in involved imperative code (algorithms, etc.)
 
11:29 PM
@Downgoat update tf2 server?
 
@DJMcMayhem nice cat
I love how they say valve is loyal though
 
Yeah, that one is the least accurate
 
I think on purpose
I mean, they describe cats as friendly
nobody would define be dumb enough to say that
 
I feel like people who say Valve is lazy haven't played Dota. We get updates almost every day
7.00 was almost a complete rewrite of everything.
 
yeah
dota and only dota
 
11:55 PM
I'd say the better term is that they're one track minded. Their structure doesn't really promote permanent teams so work on games just depends on which way the wind is blowing
 
Wait so do you hate valve or not? Make up your mind
 
Did either of those statments contradict each other?
 
No, it's just I'm used to you complaining about valve and now you're defending them
 
FWIW CSGO is actually getting plenty of updates -- people are just mad salty about things they've done
@DJMcMayhem Only in jest and/or extreme frustration over obscure engine internals
 
Hmm OK then. I thought you despised valve
 

« first day (2179 days earlier)      last day (2679 days later) »