« first day (548 days earlier)      last day (848 days later) » 

12:01 AM
BTW, the code to get the number 9 is ++[++[++[++[++[++[++[++[++[+[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]]‌​[+[]]
 
@ATaco you can use + rather than ; in most cases
 
Oh wait, ++[++[++[++[++[++[++[++[``==``][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]] saves 6 bytes
 
@ETHproductions was AFK for a while but I thought of setting toString while I was gone
 
@ais523 Hah, I thought of your (unsuccessful) method of recursion while AFK as well
 
[[]["constructor"]["a"]=[]]+[[]["constructor"]["a"]["toString"]=Function`alert(3)`]+[[]["constructor"]["a"]+[]]
that's a working piece of code that assumes we have strings but nothing else
and by changing the "a" to other letters, or longer strings, we can create as many callable functions as we like
we can also create cons cells (by assignment) and destructure them; that gives us unlimited, structured data storage
and we can place two function names into an array and index into the array to choose a function to call; that gives us if
with recursion for while, that's TC
I'm going to post it
 
12:08 AM
Write 99 Bottles in it
 
it's TC, it's not IO-complete
or, well, it might be IO-complete but not on our current knowledge
 
@ais523 I'm working on a Gist of the full alphabet
 
Do we have no method of outputting arbitrary strings?
 
you can take input, but you can't produce output except at the end of the program, and you can only output text that's in the alphabet
 
@ATaco We have no method of outputting atm
 
12:10 AM
Curses
 
also you can't test input except by comparing it to strings you can create
(the only reason you can take input is that prompt works just fine with the argument that ``gives it)
 
But we don't have prompt... do we?
 
oh, no p?
 
No, and no way of accessing arbitrary global variables
 
oh right, prompt's a global
I'm writing an answer on the Turing completeness challenge now
wait, how do we get 0?
 
12:21 AM
+[]
 
oh, duh
thanks
 
I found a way to save 4 bytes on all numbers above 1, though it makes it quite a bit less repetitive. Is it worth it?
 
I was trying to do it with =
@ETHproductions less repetitive? sure, that makes it more interesting, not less so
 
12:36 AM
The code for "constructor" is 1087 bytes long
What have we done
 
We've created an Anti-Golf-Lang
 
Oh, BTW, this "language" actually has major cross-browser differences
 
Of course it does, gosh darn Javascript.
 
Literally the only thing that isn't standardized in the entirety of ECMAScript is the Function.prototype.toString function
Chrome gives function() { [native code] }, while Firefox gives function() {\n\s\s\s\s[native code]\n}
\s being a space
 
\n being a newline
 
12:42 AM
Well that one should be obvious
Anyway, the index of v in []["fill"]+[] is 4 more in Firefox than it is in Chrome
I don't know that we use v anywhere though
 
12:55 AM
I'll add more when I have time
 
1:16 AM
0
A: Fewest (distinct) characters for Turing Completeness

ais523JavaScript (ES6), 5 characters Thanks to @ETHproductions and @Taco for helping with this; this was a group project, and although the original idea was mine, many of the details are theirs. []+=` It's fairly well established that any Javascript program can be written with the characters ([]()+...

also, we don't use v, at least not for the Turing-completeness proof
 
Sweet mother of monkey milk, [].fill.a=1;[].fill.a==1 returns true
That'll save us about 1000 bytes on variable names
 
oh wow, you're golfing it already :-)
is it worth storing pieces of strings as properties of fill, too?
constructor seems like a useful string to store
maybe even Function's constructor itself could be stored there
 
A call to []["fill"] is 169 bytes
So probably
 
that's got to be cheaper than quite a few of the letters we have
even allowing for the need to construct a property name
 
Since c is []["fill"][3], it's definitely longer
@ais523 Skimming through your post, I don't see where you first demonstrate the generation of S
 
1:21 AM
> So for example, we can do [[]+[]][+[]]["constructor"] to get at the constructor for a string, whose name is String, and then stringify it to get at the capital S character.
the first use listed for constructor
 
Yes, sorry, I guess I looked too fast
 
it's the last letter we generate, I think
 
Too bad we can't define our own property on Array.prototype, that'd probably let us save most of those 169 bytes
 
...Can't we?
 
We don't have p
 
1:25 AM
Ah
 
Oh, is find shorter than fill?
 
I'm not sure; it has the advantage that you don't need to construct false for it, which makes it more convenient for placing in a post
because you can use earlier-constructed characters
it's probably worth measuring, they're both pretty short
 
It seems to be 11 bytes shorter
 
if they're close enough in length, it might even be tersest to use both, for different purposes
 
For variable names, u is shortest, and f, t, n, a are all within 11 bytes
So if we need more than 5 variables it might work
 
1:36 AM
we'll likely need tons; however, we can make a variable into an array and index it
[+[]] is only five bytes; however, indexes other than 0 are likely to be much longer
 
e.g. [++[[]][+[]]] for 1
up to ++[++[++[++[++[++[++[++[[]+[]==[]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[]]][+[‌​]] for 9
I've gtg for the night, I'll work on a more complete list tomorrow
 
That link turns strings into 5Char JSFuck code
Not perfect, doesn't map to all characters, but the basic ones it does.
 
2:10 AM
BTW, I think this language should have a five-character name (because JSFuck is 6 characters)
maybe starting ES, maybe not
huh, and almost as soon as I say that, someone makes a name suggestion in the comments
 
2:32 AM
ES6FK
 
ES625, perhaps
it's in ES6, and we reduced it from 6 characters to 5
 
ES6t5?
 
 
13 hours later…
3:29 PM
Oh, BTW, with object keys we can literally use any value as a variable name
So [][[]] would work
 
4:09 PM
Wow, even [] works
a=[];a[[]]=2;a[[]]==2
 
 
4 hours later…
7:41 PM
Now how did I find m yesterday...
Oh duh, Number
 

« first day (548 days earlier)      last day (848 days later) »