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

12:41 AM
cmc: prove whether or not a variant of brainflak which is vanilla brainflak but {} peeks instead of popping is TC
 
@ConorO'Brien wut. wut is this.
If there's a round-about way to pop the top of the stack, then it's turing complete.
 
can't pop at all
{} is the only way to pop in vanilla brainflak
you'd have three counters, but {...} uses the tos to determine looping... which is probably ok considering that 3 cell bf needs one of its counters to be 0 to determine looping
 
I'd just assume it's not TC... but idk
 
you've also got to consider that 3 cell bf doesn't have the advantage of the third stack to make manipulating values easier
 
But it's BF... don't overestimate anything else
Don't underestimate any PPCGer: QFT is a thing.
 
1:01 AM
@DestructibleLemon can you simulate multiplication by 0 and addition? if so then you can simulate popping
 
@ConorO'Brien you can't get anything from under the highest value though
there's no way to get anything from a stack but the height and the latest pushed value
so you have 2 counters which can store any integer, 2 counters which can only be incremented, and get incremented anytime you want to store in it's respective store counter, which can be combined to be one counter, by using the difference between stack height
basically the stack is a value, and how many times a value has been put into the stack, rather than actually a stack
on a related note, i'm planning on implementing a quarterstaff2bf compiler in brainflak
 
1:16 AM
What are the ops of BrainFlak?
 
@ConorO'Brien addition (of the elements at the top of the two stacks) is easy: ({}<>{}) as is multiplication by zero: ({}[{}])
 
@H.PWiz Don't stay up too late ;-)
 
@Adám ...
 
@Adám who needs sleep
 
1:21 AM
What TZ is @H.PWiz in?
 
GMT
 
... rip ..
 
1:35 AM
@NewMainPosts Why is there a VTUD...
@EriktheOutgolfer If you don't try to take advantage of the overlap someone will outgolf you...
 
@H.PWiz I was talking about DL's restriction to the language
 
No pop. So push is replace (...) and increase depth, () is one, <> is change stack, <...> is ignore, [...] is negative, [] is depth, {...} is while loop.
Is division/remainder possible?...
 
not simply, i don't think
i think the third stack will be a considerable asset
 
1:51 AM
While loop value = sum of ToS, right?
 
2:01 AM
@user202729 Yes.
 
2:25 AM
No, it's "sum of all runs".
 
@H.PWiz ({}[{}]) is subtraction. (<{}>) is multiplication by 0
 
So... the code {({}[()])} will evaluate to 0 iff input ==0 or 1, ≠0 for all number>1.
 
Actually, for all number > 0 it'll be triangle(n-1)
 
Anyone write an interpreter for that please?
 
@user202729 for what
 
2:40 AM
0
Q: How old is it roughly?

bitconfusedWrite a short program which takes in a positive number of seconds representing an age, and outputs an estimate of that time in English. Your program must output the least precise amount of time which has past, among the following metrics and their lengths in seconds: second = 1 minute = 60 hour...

 
@DJMcMayhem 0/10 could be optimised to not have a stack
0/10 peek defined twice
ok maybe not 0/10 that's mean. i guess you're not going to have a rigourous and high quality interpreter if it's a tio link
 
@DestructibleLemon Lol
 
@DestructibleLemon you could. but if it's written on the spot don't expect it to be production quality
 
I forgot that {...} uses peek so I added it
 
2:50 AM
yeah, so i think that the third stack probably makes it TC, because you can hold on to multiple values with it, even if they aren't held as well as on the "stack"
 
Well, you can't hold a dynamic amount of values on the third stack (afaik)
 
I think quines would be cooler if they were defined as "a non-empty program which outputs a quine in the same language"
 
@DestructibleLemon that would be a metaquine
 
because the definition has cool recursion and also because it means you don't have to edit the quine to match its output
 
or something like that
 
2:53 AM
@ASCII-only not quite
because a metaquine doesn't refer to itself
and this definition of quine means you can output a program which outputs a program which outputs a program which outputs itself, which a metaquine does not
 
my imagined definition a quine (outputs a program which)*outputs itself, except you could have infinite (outputs a program which)
 
actually
you're basically saying "a program that outputs another program in the same language"...
 
not quite
because the program has to be a quine
otherwise you're just outputting a program
 
yes.
so it's just a normal quine, except it has to be cyclic
 
2:57 AM
quine being my imagined definition. no it doesn't have to be cyclic
 
i.e. one of the programs eventually has to output one of the other ones
 
ok so why don't we call my imagined definition something other than quine
 
otherwise there will eventually be a program that's not a quine
 
@ASCII-only not if it infinitely grows
 
@user202729 I don't think it supports comments
 
2:58 AM
@DestructibleLemon that's a good point. but basically it has to be some kind of infinite sequence
 
it has to be an infinite sequence, or be part of a loop, or lead into a loop
 
yep
hmm so it's basically some kind of superset of quines
 
@DJMcMayhem But I filtered them out...
source = ''.join([x for x in sys.stdin.read() if x in '()[]{}<>'])
 
also why are you calling the parts atoms? by definition an atom can't be subdivided. or something
 
3:03 AM
0/10, not golfed. :p
Atoms contain lexemes, no?
 
@DestructibleLemon ...
Probably because it sounds good.
 
haha true
 
What's the status on WW's nickname intervention?
 
@user202729 oh sorry
 
@user202729 return program_state.toggle() returns None, which then is invalid to add to an integer
(in the code for <>)
you could either change it to call the function, then return 0, or change the toggle function to return 0
(in case i haven't made it clear, it's an interpreter bug)
 
 
2 hours later…
5:19 AM
question: is there a better way to do: self.parent?.to_json() than a ternary in python
 
@Downgoat is that even valid? What's with the question mark?
 
@DJMcMayhem it's not valid, but it's like C# optional chaining
like if self.parent is not null: self.parent.to_json() else self.parent
 
Ok. Syntactically, you'd want: self.parent.to_json() if self.parent is not None else self.parent
 
turns out self.parent and self.parent.to_json() works
 
5:33 AM
Or that
 
not if self.parent can ever be falsy but not None
@Downgoat yeah but that doesn't look very nice at all
like if i saw that i'd be pretty confused tbh
 
@DestructibleLemon yeah but the ternary is worse
 
ternary is clear though
 
it's pretty common idiom in langs w/o null coalescing
 
ternary is obvious what it does, the short circuiting you have to realise they're doing short circuiting
 
5:34 AM
@Downgoat what is
 
@Downgoat doesn't seem very pythonic
 
@DestructibleLemon short circuiting?
@Downgoat fun fact: i do this all the time
well, too often at least
 
@ASCII-only short circuiting = abusing and and or operators not evaluating some of their arguments
or evaluating to non-boolean values
 
@DestructibleLemon but who doesn't do that
 
@DestructibleLemon ._________.
 
5:37 AM
i mean, yes, but it's like, you go "huh why do they need to check whether both these things are true.. oooooh they're short circuiting"
 
if short-circut is non-pythonic then I don't want my code to be pythonic
 
whereas the ternary "ok so it's null or it's converted to json"
 
@Downgoat ok why are you even using python
 
@ASCII-only
 
@DestructibleLemon well normal people use it a lot?
because python is a scripting language?
 
5:38 AM
None if self.parent is None else self.parent.to_json() would probably be the best ternary
 
@Downgoat :| use C#
 
@ASCII-only still not exactly pythonic
 
@ASCII-only 10/10 C# is good language
has sane syntax
 
this is why PPCG's Broccoli uses C#
 
and ostensibly looks like a boolean operator but it's not being used for booleans
 
5:39 AM
 
because it basically is a boolean operator?
 
testing comments 101 :P
 
@ASCII-only but it's not outputting a boolean, is it
 
what is this black magic
@DestructibleLemon yes? because it's intentionally overloaded in scripting languages?
 
5:39 AM
yes, but if you have a clearer way to do something, you should
 
@ASCII-only btw I'm not sure if we want to use the same UI libraries for mobile and web for VSL
 
unless it's like, about efficiency
 
I mean we'll have dedicated DOM bindings anyway
 
@DestructibleLemon for a lot of people it's super clear
 
@DestructibleLemon in good code and a good language these things should go together pretty well
 
5:40 AM
@Downgoat mobile app and web?
 
yeah
 
also it makes it clear that you expect self.parent could be None, rather than somehow being falsy in some other way
 
@Downgoat hmm not sure actually
 
since VSL compiles to native ios/android/web code, we can have über-crossplatform code bases
still working on swift bindings, I might (ab)use clang to automatically generate UIKit plugs
 
i'd say ideally we should have the same library for desktop, mobile, web and mobiel web
 
5:41 AM
@ASCII-only for some people do while false is really clear
 
swift has this lovely way of declaring the C-calling conv for certain funcs but I might just plug directly into objective c
@ASCII-only so how would it work then though
because with mobile and desktop
we can have things like class AppDelegate and use strict MVC
web is a little different
 
right, good point
 
I'm not sure how we'd design the library in a platform-independent way
 
a while back I was thinking of adding some things to VSL so it could be a hacky markup language
 
:|
when you say markup language you mean like Markdown? O_o
 
5:47 AM
No, like PHP!
 
oh my
oh god no
 
no like HTML just less bad
it would probably be more bad though
 
actually this brings me to idea
rather than have HTML/CSS/JS seperation
for VSL-based apps on webserver
we could have the frontend coded with the backend (i.e. same codebase)
 
example?
 
and VSL would use lazy classes etc. and we'd basically convert those VSL classes to HTML/CSS/JS
on the fly
so like:
server.route "/animal/goat" to: GoatViewController

class GoatViewController: ViewController {
    init() {
        self.backgroundColor = .black
    }
}
something like that
 
5:51 AM
but what if we want pre-generated
also, the bad idea i had:
 
pre-generated?
 
import UI

doc = Container {
	align .Row
	elements {
		Container {
			text "asdf"
		}
		Container {
			text "foobar"
		}
	}
}
 
you could do something like:
 
@Downgoat like something that corresponds 1:1 with HTML/CSS/JS
 
doc = Container(
    align: .row,
    elements: [
        Container("asdf"),
        Container("foobar")
    ]
)
@ASCII-only You could do that too and just serve those files
but the above seems like cool option
would finally offer alternative to slow crappy electron apps
and then you'd get fast, native app, equaling C++ in speed
 
5:54 AM
@Downgoat actually this doesn't look too bad as markup language
 
2
A: Sandbox for Proposed Challenges

Destructible LemonCompile Quarterstaff to BF The title is rather descriptive, except that it doesn't describe what Quarterstaff and BF are. For this challenge, i have created two languages: Quarterstaff, and a dialect of BF that probably already existed in it's exact form, but i wanted to be certain, especially w...

is this ready to post?
oh right, test cases
do i need test cases?
yeah i do
 
6:26 AM
0
Q: Definition of a Function in Concatenative Languages

Esolanging FruitConcatenative languages are languages where juxtaposition of functions represents composition. Programs consist of the primitives in the language combining to form a large function which takes program input as its argument and whose return value is written to output. In many concatenative langua...

 
7:27 AM
@Downgoat Why no stars on left of "Birds" and right of "Golf"?
 
Probably black holes
 
I think it's a Dyson swarm
 
8:33 AM
@Downgoat seems like there's a bit of a clash between "birds of etc." and the stars on the background
 
9:27 AM
So is @ais523 back again?
 
@user202729 I'm not afraid of being outgolfed :P but a good challenge going unanswered at large is kind of a sad sight
 
I need a .NET regex matching nested block comments (#| foo |#, #| foo #| bar |# |# etc.) but when I try it turns into an abomination :/
 
@Fatalize 4 recent answers...
 
@ASCII-only is it for broccoli?
 
9:45 AM
yeah
 
how far is your regex?
 
it mostly works
just some things i have to fix
the problem is it looks like gibberish
this looks like it works
 
10:01 AM
Came to think of it after seeing your deleted answer. It's entirely your choice what to do.
 
is there any particular reason you have #[^#|] (the # inside the character set)?
 
10:15 AM
@ConorO'Brien So was I
@DJMcMayhem I was talking as if {} was peek and not pop.
 
could i get feedback on my sandboxed challenge before i post it?
4 hours ago, by Destructible Lemon
2
A: Sandbox for Proposed Challenges

Destructible LemonCompile Quarterstaff to BF The title is rather descriptive, except that it doesn't describe what Quarterstaff and BF are. For this challenge, i have created two languages: Quarterstaff, and a dialect of BF that probably already existed in it's exact form, but i wanted to be certain, especially w...

 
@Cowsquack so it matches the ##| in #|##|
 
how would it match it if you explicitly tell it not to
 
10:37 AM
@ASCII-only unfortunately it borks on #| #| hi |# bye #| #| no |# no |# h |#
 
please somebody tell me if it is ready to post
i need feedback
 
@DJMcMayhem @DestructibleLemon (I figured it out myself)
Anyway... I have written a code to calculate divide/remainder by 2.
 
@DestructibleLemon Brainflak peek.
 
oh ok
call it brainpeek?
 
10:43 AM
So with that, it's possible to random access each bit.
@DestructibleLemon Yes, already.
 
@Cowsquack yeah :/
 
ok so i would like feedback on the challenge please
 
And thus it's TC. (non rigorous proof)
 
yeah non-rigorous is not what i wanted
don't make me ping a random person to review my challenge
 
pinging random people isn't productive, it's just noise
 
10:47 AM
don't make me do it then
 
 
1 hour later…
11:51 AM
@DestructibleLemon Should I check for bugs in the interpreter?
Also I think you should specify that BF + and - wraparound.
And... where are the interpreters?
Suggestion: a test case where numbers overflow. (past 256 or negative)
@NewMetaPosts We can never have rule for every language... basically, when in doubt, write a full program.
 
12:55 PM
What's the difference between Meta Mortarboard and Main Mortarboard?
 
1:27 PM
@cairdcoinheringaahing No idea.
 
1:42 PM
I guess 20 upvotes in a day.
 
2:22 PM
@cairdcoinheringaahing Meta tracks rep the same way as main, there's just no way to access it.
 
Does meta have question ban?
 
2:42 PM
@user202729 I think so.
 
lets find out!
 
waits for the mass of oneboxes :P
 
Feb 7 at 17:04, by Mr. Xcoder
Let's test!
@cairdcoinheringaahing If it's bad enough it will be deleted before NMetaP posts the onebox.
 
Could a mod unfreeze this room please?
 
It's just a test room...
 
2:49 PM
I know, I made it
 
@cairdcoinheringaahing
@user56656 I'm pretty sure there is. I can see whether any given user is question blocked or not, and that is visible on meta as well
 
CMC: This. (last time I made a stupid mistake, so I'd like to see if anyone does the same)
 
3:24 PM
Do'h! I put a bounty on the wrong question, this was meant to be on the cops' challenge. So somebody will get a random bounty. — Nathaniel 8 hours ago
Some mods refund bounty please?
 
nindja'd...
 
@EriktheOutgolfer You're not a mod anyway...
 
I tried to visit that page but dj had already refunded the bounty
...15 seconds before I did
no I don't think I'll ever be a mod, I try to do more real life than PPCG :P
 
Why is it still on featured page? SE caching?
 
3:29 PM
@EriktheOutgolfer That's a wise idea, I probably made a crucial mistake somewhere
 
@user202729 It's not, the bounty was moved to the cops challenge
 
@cairdcoinheringaahing The bounty on the cops challenge was already...
 
bounties can't "move", but Nathaniel also started a bounty there too when he realized his mistake
 
Problem solved for me.
 
@DJMcMayhem here?
 
3:34 PM
BTW...
It's safe now . — user202729 9 mins ago
 
I don't know if it's safe before being marked as such, so a more appropriate phrasing would be "you can mark it as safe now"
 
Can any close-voters explain? Re @FryAmTheEggman : Is that OK now? I have added the explanation for every symbols appearing in the expression. — user202729 Mar 12 at 11:43
 
3:53 PM
ಠ_ಠ Just realised I forgot JS
 
(what is a production language?)
 
Something that isn't esoteric/golfing
Something which deserves its own tag on SO for instance
 
@cairdcoinheringaahing Try again. stackoverflow.com/tags/brainfuck
 
facedesk Should've seen something like that coming
 
4:10 PM
(FYI someone proposed a tag for Jelly recently)
 
On SO? Yeah, I saw. The Meta post got really heavily downvoted IIRC :P
 
4:41 PM
@cairdcoinheringaahing For me it's tied between C(++) and Python
 
@cairdcoinheringaahing C#
 
Anonymous
@cairdcoinheringaahing Python, PHP, JS
 
0
Q: Tic Tac Toe: How to prove that there are 26,830 games possibilities

New DevThere are 138 terminal positions after assuming symmetries. 91 (X) 44 (O) 3 (tie) But how to get the 26,830 possibilities, from where I can extract and print this number? The code I'm using created by @Chas Brown Original question: Here import re from collections import Counter FLIP_XFRM ...

 
0
A: Sandbox for Proposed Challenges

caird coinheringaahingBuild a golfing language with me Tags: interpreter answer-chaining multiple-holes (maybe) Our community has found it necessary to create a set of languages designed specifically for golfing, "golfing languages" as we call them. Such languages have evolved from the once brilliant, now clunky Gol...

 
4:56 PM
@Mego I thought you hated JS? and PHP IIRC?
 
Anonymous
@cairdcoinheringaahing I do. However, a nice person writes their name on my paychecks in exchange for me working with PHP and JS.
 
5:15 PM
@user202729 ES6: a=>Math.min(a.length>>1,a.filter(e=>e%2).length)
 
@Neil Please use backticks (`) to format your code. (`like so`)
 
sorry, oversight
 
@Mr.Xcoder May I ask, why do you think the winner should be the one who breaks the chain?
 
I feel like it's more appropriate to hand out +15 to someone that came up with an unbeatable (within 2 weeks) strategy rather than to someone that just didn't break the chain.
 
Hmm, actually, I see your point. If its about creating a golfing lang, the winner should be the one who is the golfiest
 
5:23 PM
Anyway, I don't see how things like: Answer X is ABCD. This adds E, a shorthand for CD: Yay, my answer is now ABE and the chain goes on!... Though the idea is good
Thoughts?
 
Preventing the creation of trivial 'shorthands' would be quite difficult. On the other hand, I don't want it to get to 20 answers in, each going "I added a ... builtin, my score is now 1 for this challenge".
One solution I can see, but don't really like (and it has its own flaws), is having a hidden set of 20 questions instead, where only I know the questions and try and craft solutions for each new submission
 
Unfortunately preventing things like this might require the use of slightly subjective common sense, which we unfortunately can't use when writing challenges on PPCG
 
That's actually something I dislike about writing challenges. Sometimes the best response to "What about if I do this?" or "Why doesn't this break a rule?" is to use some common sense, but we can't say that in the actual specification.
Banning builtins is actually fairly easy: Use a bit of common sense. What is specifically designed for this challenge? It's banned. Does it have general applications? It's fine
 
That's ultimately still subjective, but better.
Anyway, how about the multi-part issue?
I literally have 3 challenges ready to post (I don't want to sandbox any of them) and I can't tap the "Post" button because I'm afraid they won't be well received. I didn't feel this when I started writing challenges on PPCG
 
@Mr.Xcoder Yeah, that's one of the things I was concerned about when thinking up the challenge
@Mr.Xcoder That's why I leave challenges in the Sandbox for months
 
5:32 PM
You know what, well received or not I'm going to post one of them soon
 
It wouldn't really be much of a challenge if it was just golfing the solution to one answer. Making it multi-part is the only way it can really work as a proper
 
CMP: one question for one piece of code as a ?
 
@cairdcoinheringaahing That's what I like about anarchy golf. The rules are "Does it work?"
 
@DJMcMayhem Mind if I ask what name you use on Anagol, if you actually golf there?
 
@Mr.Xcoder Same as here, but I only have like 3 answers
 
5:41 PM
Oh ok
 
Going through this, are an interesting corner case. The duplicate point already doesn't apply, as the multitask part isn't the premise of the challenge, so identifying a duplicate doesn't rely on the challenges used. There's no point copying other answers, as you're aiming to golf them. Finally, they already have been posted as separate challenges.
That point seems as though it only applies when you can break up the whole challenge into the subtasks, which can't be done as far as I can see.
 
CMC: Print 9223372036854775807
 
0
Q: Make a BCDto7SEG chip

l4m2Source Given a decimal digit in BCD format in cell a[0][3] to a[0][0] (so 8 will be represented as an 1 in a[0][3], and 2 be one in a[0][1]), you are required to output its 7-seg expression in a[10][0] to a[10][6]. Converting Table: a[0][3] a[0][1] a[10][6] a[10][4] a[10][2] a[10][0] ...

 
Swift is surprisingly terse here \o/
(14 bytes)
 
@Mr.Xcoder Can I return?
 
5:50 PM
Yes sure
 
haskell: 2^63-1
 
Anonymous
@Mr.Xcoder Actually: 6╙D╙D
 
@NewMainPosts That user really needs to start using the Sandbox
@Mr.Xcoder Jelly, 5 bytes: 2*63’
 
jelly, 6 bytes: 1æ«63’ :P
o5ab1e, 4 bytes: 63o<
 
@Mr.Xcoder C, 26 bytes: long f(){return~(1L<<63);}
 
5:57 PM
@NieDzejkob bit flipping works because it's unsigned?
 
@totallyhuman I keep saying Jelly needs a 2 ** x builtin but ¯\_(ツ)_/¯
 
@totallyhuman it's signed
 
@Mr.Xcoder SOGL, 4 bytes: '.ūH
 
ohh nvm me
overflow gets me every time
 
~a is equivalent to -a-1, but without the overflow
 
5:58 PM
05AB1E, 5 bytes žIn·<
 
00:00 - 18:0018:00 - 00:00

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