« first day (2605 days earlier)      last day (2231 days later) » 
00:00 - 18:0018:00 - 00:00

6:00 PM
A 6-byte alternative is žJžI*<
 
i mean hey
 
I had that too but I said bleh come on
 
it's equivalent :P
 
No it isn't
You have to subtract 1 anyway
 
6:02 PM
I see no change, ergo they're the same :P
 
Yeah because it's 05AB1E
Swift 4, 14 bytes: print(Int.max)
\o/ my first rep change on PPCG in like, 3 days
 
1
Q: What is my exponential potential?

Mr. XcoderWe'll define the N-exponential potential of a positive integer M as the count of prefixes of MN that are prefect N-powers. The prefixes of an integer are all the contiguous subsequences of digits that start with the first one, interpreted as numbers in base 10. For example, the prefixes of 2744 ...

 
that was fast
 
<evil laugh> the answers to my challenge are going to be in trouble due to floating point errors </evil laugh>
 
prefixes of a number D:
 
6:07 PM
I did provide an objective definition of them :P
 
the spec is not an issue, it's clear as water
it's the actual task :P
 
@Mr.Xcoder inb4
 
Just hit floating point issues
 
For god's sake people, Proton is perfect for this challenge
 
And beat the floating point issues :D
Added a whole 4 bytes though :/
 
6:12 PM
Unfortunately I cannot prevent that :/
I cannot just allow people to output wrong answers
 
Nah it's fine. Almost gave me a heart attack when mine failed for 5, 9 though
 
Anonymous
@Mr.Xcoder prefect
 
Fixed ty
ær⁵ feels really hacky :P
 
133
Q: Ch-ch-ch-changes: Left nav, responsive design, & themes

Joe FriendCh-ch-ch-changes are coming. As you've hopefully read in our various posts on Teams, we are in the midst of some major work. We're introducing a new product, Teams (née channels), and doing the requisite research and design thinking to get it right. In addition, early on we realized that we have ...

does SE not have a UX designer
 
Doesn't seem like it
 
6:17 PM
@Downgoat I really dislike that
 
So do I
 
psh collapsibility and it'll be fine
 
It seems as though they're pushing Teams and ignoring sites like us who have been asking for attention for years
 
@totallyhuman yeah but the negative space and unorthodox layout is objectively bad, impeding page scanability and layout hierarchy
 
6:19 PM
sidebars are better than gigantic top nav bars
@Downgoat unorthodox?
 
Imo they waste too much space
 
@Mr.Xcoder Nah, I can't beat Dennis, especially not where he tied my answer that didn't even work
 
At least he uses *DḌƤ too :)
 
@JoeFriend I really, really have tried to read your comments in a more positive light, but all I can take away from that comment is “we really, really want to push this Teams thing, and possibly other new products, and are willing to sacrifice the core Q&A experience in order to do it.” I know that’s not charitable, and I’m sure my complete and utter disinterest in Teams informs that, but you really have not sold this idea in terms that are relevant to the core mission of providing a high signal-to-noise ratio in the Q&A space: this adds noise rather than reduces it. — KRyan Mar 12 at 22:42
That.
 
@totallyhuman if you have a sidebar, content should always be on the left, not good idea to wack a sidebar with bright colors there
> If you've been cleared for graduation but don't yet have a design, someone from the community team will be posting on your meta site in April to get some input so we can get your site themed based on your answers
woohoo only 2.5 years!
 
6:22 PM
Can we just send them a link to the gradscript answer?
 
I literally hate every "Takeaway"
 
Takeaway? As in food that's delivered to your house? Why?
Never mind
 
The fact that they keep using the word "Standardized", when each SE site is supposed to be unique sums up just how bad this choice is
 
Ok, maybe I agree with Standardized Navigation. But Fonts, Buttons, tags, badges and icons :S
 
6:40 PM
0
Q: Make a 128/64 divider

l4m2Build a circult with NAND gate, input two unsigned numbers a(128b) and b(64b) totally 96 bits, output floor(a/b)(64b) and a mod b(64b). You don't need to handle situation when a/b>=2^64. Smallest (gate depth)^3 * (gate count) win

 
@NewMainPosts Hmm, off-topic or unclear?
 
6:51 PM
The stakeholders demand their takeaways!
 
my god haskell's type system is a pita
 
7:30 PM
0
Q: Make A Terminal That Takes Input And Runs Input Command

PythonDude29The goal of this challenge is to make a terminal that takes user input and runs the function that the input states. EXAMPLE: ExampleCommand prints test User input: ExampleCommand Output: Test The commands must include: A command that creates a variable with a user defined name and value A ...

 
ಠ_ಠ That's 4/5 challenges posted today that have been not proper challenges
I officially hate Windows. Upgrading to Python 3.6 now means that I can't run .py files unless using IDLE ಠ_ಠ
 
7:48 PM
@ASCII-only are we doing like python's while { } else {}
or at least better names
 
can i request the input backwards on a challenge
 
Depends. What's the challenge?
 
is ais523 back and answering everything as CW?
 
7:53 PM
@betseg Probably, then
@totallyhuman Yes
 
I suppose they have something in mind but I think that goes against rules
 
They don't want to get rep from answering, but still want to answer
 
@betseg do you the input itself backwards 1234 -> 4321 or the inputs in diff. order?
 
yeah I got that
but CW is not a rep waiver
 
i misread the challenge and i dont want to do that anymore, but i meant 1234->4321
 
7:55 PM
oh that, probably not
 
@betseg no
 
rip
 
@betseg Definitely no
 
Hello again people :) Anyone familiar with my goal to design a symbol-minimal but easy to program language?
Lately I've been considering the idea of simply adding a stack to brainfuck
Brainfuck is sort of "array-based", it would become a sort of array/stack hybrid.
That way you could navigate the array and accumulate answers and variables in the stack without having to keep going back and forth (the "weakness" of brainfuck is that the array is used both as control memory and data memory)
Anyone has thoughts, suggestions, or references in this regard?
 
Jan 2 '17 at 5:49, by Mego
> A friendly message from The Name of All that is Good and Holy: Hello! This is The Name of All that is Good and Holy. Before you think of making your own extension to this language, here's another idea for you to consider: Don't! For the love of me, please don't make another derivative of this language! Unless you have something truly new to contribute, it's been done a million times before and will probably make it worse than the original.
 
8:06 PM
Well yea, but I kind of need something very specific :) If you have language suggestions I'd like to hear them, easier than rolling out my own
it needs to have ideally <16 symbols/commands/instructions though, and be as easy to program as possible
 
@Real esolangs.org/wiki/Stacked_Brainfuck 5 seconds on google ¯\_(ツ)_/¯
19 symbols
 
:O now I'm embarassed
thanks
 
@Real Don't be. Every possible idea anyone could have about a 'new' version of BF is never new
 
stacked brainfuck seems missing an instruction to just push an integer to the stack (or cell), no ?
 
> ) Pushes the value at the current cell onto the stack
 
8:11 PM
Yea, but first you need to set the value of the cell
 
( and @ seem to do that
 
Say you need to set a cell to 200. Don't you need to do the usual brainfuck deal of incrementing the cell 200 times (through a few loops)?
And once you decide to make cells 32-bit uints, then you may need to sum up to 4294967295, which is horribly inefficient
 
Yes, by the look of it. Although there is a bitshift command
 
Stack-based language

'u' set register to cell
'o' set cell to register
'%d' push integer to register
'+' add cell to register and store on register
'-' subtract register from cell and store on register
'*' multiply cell with register and store on registr
'/' divide "
'r' jump right register content
'l' jump left register content
'[' jump to matching bracket if register 0, else continue
']' continue if register 0, otherwise jump to matching bracket
',' input into cell
'.' output from cell
'$' call register function
is what I've been thinking, do you think this would work?
 
There doesn't appear to be any involvement of a stack
 
8:17 PM
oh I confused stack with register
but it's stack
I've also replaced > and < with integer-valued jumps
so that large arrays can be skipped efficiently
a single register would be too limited right?
 
Could a mod unfreeze this room and move the last few messages there as this may be getting off topic for TNB?
 
@totallyhuman it was suggested a while back that answering everything as CW would have two major benefits: a) it'd help avoid the rep grind which is the reason I left in the first place, b) it'd help convey the message that I'm happy for people to edit my posts (I think people should edit each others' posts more on PPCG)
and it's less confusing for people than creating a new account for each answer, which is what I used to do
it took a while to get the account to 11 rep without any questions or answers, but was probably worth it
 
yes
but I didn't want to make low-quality edits just to get the rep
 
@ais523 Please keep editing, we could do with some more reviews :P
 
8:24 PM
@caird I thought this place seems fairly appropriate for esoteric language design
 
@Real There's a room specifically for it, we may as well make use of it
 
Anonymous
@cairdcoinheringaahing Unfrozen
 
@Mego Thanks
 
alright thx
 
I'm not likely to keep answering in a sustained way, just the occasional burst of activity
now's a good time as it's Brachylog month
 
8:41 PM
Why is it so hard to just ignore the rep?
 
because the site nags you to start moderating when you have a high reputation
 
Funny, I have never noticed this.
 
there are a large number of UI changes made as your reputation increases, over half of them are more harmful than helpful
(the largest issue is probably showing deleted posts by default with no way to hide them, meaning that the answer list becomes much more cluttered)
anyway, I should probably go, I don't want to get into the whole "how much SE sucks" debate again
 
Anonymous
@ais523 In a userscript: $(".deleted-answer").hide();
 
Hey all... can a powershell expert tell me why the continue statement is making my code hang? gist.github.com/allenfisher/8a8a5a230156c090b3c07738d3044f04
I'm working on the Pretty Print Polynomial challenge
 
8:55 PM
Terminology time. Say you have a language with an addition operator + intended for numbers (so the usual 2 + 3 = 5). But operators intended for numbers also work automatically if one or both arguments are lists, in the following way:
10 + [1, 2, 3, 4]       --> [11, 2, 3, 4]
[1, 2, 3, 4] + 11       --> [11, 2, 3, 4]
[10, 20] + [1, 2, 3, 4] --> [11, 22, 3, 4]
[1, 2, 3, 4] + [10, 20] --> [11, 22, 3, 4]
(To be clear, the behaviour with one number and one list basically just promotes the number to a singleton list.) What do you call that behaviour? I dont' what to call it "zipping", because "zipping" exists as an explicit operator in my language and truncates to the shorter length. I also considered "threading" (from Mathematica) or "broadcasting" but those imply to me that the number would get added to each list element. (Also "threading" has other meanings in computer science.)
 
Anonymous
Pairwise addition?
 
@AllenJ.Fisher because you're not incrementing i in that case
 
Ah thanks @MartinEnder
knew it was something dumb
 
@Mego well it doesn't apply just to addition, but basically every operator that works on numbers. (let's call it all arithmetic operators.)
 
Anonymous
Hmm... What does APL call it?
 
8:57 PM
I think APL broadcasts, doesn't it?
 
Is the default value 0 for every operator?
 
Anonymous
@MartinEnder It probably has a way to
 
the other values are simply copied over
 
Anonymous
Zip with padding?
 
Anonymous
8:59 PM
zip_longest?
 
I don't need it as a name for a built-in or anything, just a catchy term to describe the behaviour in the docs (because it's always automatic).
 
Partially zipped?
Stuck zipper
 
0
Q: Fastest to find the joint

nicaelThe input is an array (or space-separated string, as you wish), zero-indexed, consisting of one strictly increasing array and one strictly decreasing array (in this order, not other vice versa), each having a length of 2 at least. Example is: -10 -2 4 18 38 46 28 19 10 The goal is to write the...

 
@feersum ZIPping
I kinda like "superposition" because it superimposes the shorter list onto the longer, using the operator. Probably a bit obscure usage of the word though.
 
I don't see how superposition gets at the mismatched lengths.
 
9:06 PM
well by superimposing the shorter list onto the longer, I'm trying to imply that the additional elements of the longer can't be affected.
actually, nevermind... I just noticed that this entire behaviour is a bad idea, because my operators are in fact ternary, which means that you can't meaningfully pick an element if only one list is shorter than the other two (because then you still have two values, but no way to apply an operator to them). so truncation is probably for the best, and I'll just call it zipping.
 
what would an operator with 4 arguments be called
 
"quadternary" iirc
 
thanks
 
without the "d", I think
 
that appears to be correct
 
9:16 PM
You could do it if you conceptualized it as the operators having default values for each argument slot, instead of leaving them unchanged.
 
yeah, but that doesn't make sense for all operators, I've got. and I've got easy ways to extend lists to the necessary length with arbitrary elements (so where default values exist, I can just do the padding manually).
 
ngn
9:55 PM
@MartinEnder APL does that only if the two vectors are of the same length. If one of them is a scalar (actually, Dyalog's impl permits any-dimensional singletons), it first gets "extended" to a vector of the same length as the other argument. In all other cases you get a "length error".
 
yeah, that's what I mean by broadcasting. it repeats the single value to match each element of the vector.
 
ngn
@MartinEnder I would avoid the terms "broadcasting" and "threading" for this...
 
maybe that's what Julia calls it? I think I've read it somewhere before, but I don't remember which language used it.
 
For VSL I am thinking of making L-values identifiers & properties (expr.identifier). Is there any case where this could go wrong?
 
ngn
@MartinEnder I've heard this behaviour described as "arithmetic operations are pervasive" (in APL) or "they penetrate" (in k).
 
10:00 PM
@user202729 because you're compiling Quarterstaff to bf, there shouldn't be any overflow
 
@MartinEnder partial vectorization :P
 
yeah, thought vectorisation as well, but I don't really have vectors in my language. :/
 
ngn
@MartinEnder vector == 1-dimensional array
 
I know, but the data structure in my language isn't actually a 1-dimensional array, I just used that as an example to keep it simple.
 
@MartinEnder solution: call it <name of data type>ization :P
@Downgoat aren't properties valid L-values in every language
 
10:07 PM
To anyone who's interested in Dodos: I just rewrote the compiler to make some optimizations. It's far from finished, but the results are promising. The Dodos quine, which previously took 38 seconds on TIO, now finishes in 0.5 seconds.
 
ngn
@ASCII-only ize-ization of nouns is very popular these days :)
 
@ASCII-only C++ probably does somethingw eird
 
@MartinEnder why isn't [1,2,3,4] +11 -> [12,2,3,4]
 
@Downgoat but i said every language
 
@DestructibleLemon because typos
 
10:08 PM
@ASCII-only is C++ not language?
 
Memoization and TCO aren't implemented yet, but the dependency analysis is already done.
 
@MartinEnder i suspected
@Dennis nice
 
@Downgoat yes. but like C# and C and stuff also do it right?
 
@Dennis TCO is what's currently doing my head in (in Ruby) :/
apparently there's optional built-in TCO but it only seems to work for named functions, not for lambdas, which is where I need it.
 
10:09 PM
@MartinEnder oh hang on I didn't read the examples properly. automatic boxing (or <word that describes turning scalar into that datatype>)? idk
@MartinEnder oh also apparently that's only in some implementations?
 
nah, the promotion of the scalar to the compound time isn't the important part. it's more about combining only the common prefixes and then appending the rest from the longer argument, but that behaviour is gone now, so whatever :D
@ASCII-only yeah, but it seems to work on my machine and on TIO which is all I care about for now :D
 
@MartinEnder Is you language compiled to Ruby or interpreted?
 
interpreted
actually
 
Should be possible the. I got TCO working for ShapeScript and Jelly.
For Dodos, I'm considering transpiling to C instead of Python. That would take care of TCO all by itself.
 
I don't know if it has a name, but it's this kind of hybrid approach where you turn the program into a Ruby expression and evaluate that (but I'm not actually generating Ruby code)
I guess that's still a form of interpreter though
 
10:12 PM
Are we talking about Wumpus?
 
Well, what are we talking about then?
 
spoilers :P (a new language... and it's functional)
it's definitely possible. I'm thinking about something like this: blog.vmoroz.com/posts/…, but I'll have to rewrite a bunch of stuff
I think I might just leave this for later, because it only affects programs with longer loops, and the changes should be fairly systematic.
 
10:42 PM
@ASCII-only good news, while loop and assignment fully work now
Going to try to get interfaces then inheritance maybe
 
0
Q: Most creative expression - Python

overexchangeIn this exercise, am trying to get an approach to think of a solution, for below question: def twenty_eighteen(): """Come up with the most creative expression that evaluates to 2018, using only numbers and the +, *, and - operators. >>> twenty_eighteen() 2018 """ return ...

 
@Downgoat :D
@MartinEnder O_o
@MartinEnder so it would basically be like some kind of C# hybrid interpreter/compiler
 
why C#?
 
It's one of the languages I know (well most .NET languages probably have it) that actually have expression types of the language available to use
 
hm, not that's also not what I mean. I'm not doing any meta-programming.
 
10:50 PM
:| then how do you have a Ruby expression without metaprogramming
 
I basically generate an unnamed function object for each operator in the (interpreted) language, wire these all up and finally just evaluate the lambda that corresponds to the program's root node
 
oh.
 
so consider a program like 3+4, 3 and 4 would just be parsed into Ruby number types. and the + would be parsed into something like ->(a,b){a + b}, with some code to feed the 3 and 4 into this lambda.
 
then that's basically what Charcoal does. And basically Broccoli too except for the fact that the root node doesn't execute itself (i.e. we execute all top-level statements indivdually)
 
whereas in all my other interpreters, I have an instruction pointer which gets updated after each operation, and I have a massive switch statement which picks which code to run for each instruction. (for this one, I have a massive switch statement that determines which lambda to generate for each operator though, but this happens only once during parsing, and then we just kick things off with a single lambda call of the root node.)
 
10:54 PM
that's probably like most sane golflangs/esolangs :P
I guess for me it's just more appropriate for prefix/function-based languages?
 
I swear Crafting Interpreters has a section on this style of interpretation somewhere, but I can't find it right now
 
I want to try RPython one day. I'm a little fuzzy on the details, but it's supposed to turn an interpreter you write into a JIT compiler.
 
@Dennis wait what?
I don't think that's how it works
@MartinEnder Looks like it only has two types though
 
yeah, he doesn't implement this style, but I thought he explains that it's a possible approach somewhere
 
11:03 PM
nah, that just means that you compile the program while going over the source code a single time (instead of e.g. tokenising in a first pass, then parsing in a second, then compiling in a third)
 
that's the closest one I can see
 
no clue, maybe I read it somewhere else
 
> Syntax-directed translation is a structured technique for building these all-at-once compilers. You associate an action with each piece of the grammar, usually one that generates output code. Then, whenever the parser matches that chunk of syntax, it executes the action, building up the target code one rule at a time.
This is basically what the recursive lambda interpreters do
 
> When a interpreter written in RPython is translated into an executable, the executable contains a full virtual machine that can optionally include a Just-In-Time compiler. This JIT compiler is generated automatically from the interpreter that we wrote in RPython.
 
O_o
 
11:08 PM
O_o indeed.
 
They basically wrote RPython to turn a Python interpreter written in RPython into a Python JIT compiler (PyPy).
 
Yeah. The whole idea of writing a Python interpreter to write a Python interpreter sounds nonsensical, but it works very well.
 
i was more thinking about converting interpreters into compilers
> This JIT Compiler Generator can be applied on interpreters for any language
pretty cool
presuming it's not just like, a file which contains an interpreter and the program hardcoded in a string
 
11:23 PM
Given how fast PyPy is, I highly doubt that's it.
 
well, what i was saying is technically that would be a compiler, which itself wouldn't be impressive, so making a compiler, unqualified, would not be that impressive
 
(stupid internet)
 
@DestructibleLemon not exactly
> a program that converts instructions into a machine-code or lower-level form so that they can be read and executed by a computer.
 
ok but still, that would only be one compiler
 
@DestructibleLemon but it wouldn't be a compiler at all?
 
11:25 PM
it would be a python program with an interpreter and hardcoded program, but compiled into machine code
so really they'd only have the one compiler, rather than a compiler generator
 
@DestructibleLemon the program itself isn't changed though? so it wouldn't be a compiler?
 
@DestructibleLemon But it's a JIT compiler.
 
@ASCII-only compiler: takes program, outputs machine code doing the same thing. this compiler: takes input as program, outputs compiled python interpreter with hard coded string, therefore being a machine code program doing the same thing
@Dennis JIT because it has to compile the hardcoded program
 
@DestructibleLemon no. compilers have to turn instructions into lower-level bytecode...
 
That is not what JIT means.
 
11:27 PM
oh
well still
they can JIT compile the python program
if they really wanted to
anyway
 
27
Q: An Ant on a Cube

xnorAn ant walks along the edges (not faces) of a wireframe cube. Each vertex it encounters presents it with a fork from which two new edges branch off. The ant chooses which way to turn -- left or right. These direction are relative to the ant, who is facing the vertex and is outside the cube. Your ...

 
11:45 PM
@Dennis have you tried internetting faster?
 
Easier said than done.
 
i feel yah :P
Until a few months ago we had super sucking internet
I would get an update for a game and it would be 2 MB and after an hour the download would start. Then it would update in 5 minutes.
 
@DestructibleLemon here
 
Tfw when you golf off 10 bytes of an answer by removing non-functional whitespace.
 
11:49 PM
tfw you have code that has whitespace?
 
Whitespace is kinda mandatory in Dodos. You literally can't do anything without it.
 
@user566561 ou monster
I have been sad because you were not active
 
@Christopher why have you posted a link to a youtube video
 
@DestructibleLemon it is feedback. Next time don't forget to state the rules /tablefip
</joke>
 
would anyone like to help try to break VSL?
 
11:53 PM
YES
I will break it :)
wait
 
@Christopher what OS are you on?
 
what do u mean break it ಠ_ಠ
@Downgoat windows, like a man of culture
 
@Christopher :|
@Christopher i.e. try to find bugs
 
@Downgoat ok
 
do you have LLVM or Clang installed?
 
11:55 PM
no
 
oh, well I guess you can use it on tio: tio.run/#vsl
I have docs but still working on it
 
You never responded to my comment btw.
Where does this work without a main() function? — Dennis ♦ Mar 8 at 12:02
 
@Dennis oh, i dont think that works anymore acutally
i had an old version that wrapped REPL in main function but that broke with UDF
 
I would break it but I have to go play magika
parents :P
 
00:00 - 18:0018:00 - 00:00

« first day (2605 days earlier)      last day (2231 days later) »