« first day (40 days earlier)      last day (537 days later) » 

12:04 AM
Incident and all of the TIO testables work
reng works
SNUSP works
Deadfish~ works
ok thats it I'm done
 
the polyglot driver also makes a template for the start of your post
much of the rest can be copied from a previous post, although make sure you update the section on how it was tested
 
Ok thansk
 
I look forward to your post!
 
Does anyone know how to turn off the preview? My computer can't handle all of the markdown
 
I don't know that that's possible; you could try asking on meta SE perhaps?
it's not something that's usually a problem
 
12:18 AM
Hm I thought it was
 
you might want to put the TIO link in last, that's probably the biggest part of the post
 
I'll just write my markdown in a separate document and paste it
^^ good ida
 
 
2 hours later…
1:59 AM
0
A: Add a language to a polyglot

Wheat Wizard55. Brain-Flak Classic, 1266 bytes #16 "(}23!@)(" 3//*v\D@;'[af2.qc]'#)"14";n4 #/*` PkPPX (22)S"[!(>7 7*,;68*,@;'1,@␉␉␉␉ P''53'S^'q #>␉ # >36!@␉ #`<` #<]+<[.>-]>[ #{ #z} # #=x<R+++++[D>+++++++EAL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVEUPFACiiipsddsdoh]>+.-- -. >][4O...

 
2:44 AM
Hello!
 
@Qwerp-Derp Hello
 
3:22 AM
OK, somehow I think this polyglot is never going to work in REDGREEN :-D
imagine it's like Fission except there's no way to halt it and some of the instructions self-replicate
 
@ais523 Link? Google gets me this
 
in general, esolangs.org is a good way to find links to esolang specs
 
Oh yeah
I was hoping to add piet
but it is incompatible with ><>
btw how do turns work?
I know I can't go next
but I would ideally like to go as soon as possible
 
you can't go twice in a row, apart from that there's no restriction
two people can go back and forth indefinitely
 
I meant more informally it seems like there are probably 3 other people who would like to go
 
3:28 AM
so you can jump into 57 if you're quick after the posting of 56
nah, when it's this late, being able to post at all is fairly difficult
 
and we should probably not step on each other's toes
 
so we're all hoping someone else will post and reset the timer :-D
 
really I have so many ideas
 
I'm fairly low on them
busy trawling Esolang to try to find a language that works
 
Currently I am thinking of Brain-Flueue, Grass and Wise
but @0' said he wanted to do Grass
so I thought I would let him if he decided to go through with it
Wise will be really easy as far as I can tell
and grass wont be too hard
Brain-Flueue will be harder than Classic
 
3:33 AM
oh wow, I had an idea
and it's working out better than I ever expected
 
I could also do Crain-Flak
 
what number's the next language? 56?
 
@ais523 What's the idea?
yes
 
Rust
it has C-style comments, except they nest
meaning that all we need is an extra /* inside a C comment and we can split it away trivially
 
Wow that does sound like a good idea
 
3:38 AM
oh, except it doesn't understand linemarkers :-(
so the very first line of the program breaks it
that's probably unfixable
 
rip
I would imagine that the very first line is probably a deal breaker for a lot of languages
 
(in Rust, # can only legally be followed by [ if it appears at the start of the program)
yep
# is a great way to start because it's a comment in so many languages, and a linemarker in many others
but you can't handle every language at once
 
Have you tried python 1?
 
if it's at all possible to put something else there while keeping every language happy, it's probably a letter
also, no; I'd likely have better luck with perl 4 :-P
I wonder if there are any other languages with nesting /* comments + // comments, though, and that understand linemarkers
 
@ais523 Why's that? I don't know much about programming languages.
 
3:42 AM
oh, it's just that I know something about perl 4, but basically nothing about python 1
 
Ah
I have the opposite
Python is basically the only High level language I use
This challenge is really fun
I'm remised that I didn't get into it earlier
(or later for that matter, I should really be studying for finals)
 
oh right, it's easter
you should probably do that
big programming tasks are more fun in the time after exams IME, than in the time before
 
easter?
 
"easter holidays" is the name in the UK for the time after mainstream teaching has ended for the year but before the main exams of the year start
 
Oh ok
 
3:48 AM
and it's that time now, to within normal variation between university's schedules
 
I go to Uni in the states so I've never heard that term.
generally I find I have more work towards the end as professors try to cram in all the info they missed due to "snow days"
 
hmm, bc has # comments and spouts warnings on syntax it doesn't understand (it says error: in the warning message but it keeps running anyway)
I think that counts? seems a bit messy though, perhaps I'll leave that for when we're desperate
 
bc?
Currently Japt makes a bunch of errors, so maybe we are that desprate
 
there might be a way to get bc to work without errors, though, I'll try that
also it's one of those calculator programs that's had so many features added to it that it's Turing complete
 
Oh yeah
accidentally TC is my favorite thing
 
3:55 AM
it's not hard to make something TC by accident :-)
 
4:28 AM
like little big planet
or powerpoint
 
I haven't looked at the powerpoint construction
but I suspect it's just a state machine, rather than a proof of Turing completeness
being able to run a Turing machine on a finite tape doesn't really prove anything, as it needs an infinite tape to get its power
 
4:47 AM
ooh, looks like I have a working entry already
this time in dc, which is fairly commonly used on PPCG
and is somewhere between an esolang and a practical language
 
5:18 AM
0
A: Add a language to a polyglot

ais52356. dc, 1286 bytes #16 "(}23!@)(" 3//*v\D@;'[af2.qc]'#)"14";n4 #/*` PkPPX (22)S"[!(>7 7*,;68*,@;'1,@␉␉␉␉ P''53'S^'q #>␉ # >36!@␉ #`<` #<]+<[.>-]>[ #{ #z} # #=x<R+++++[D>+++++++EAL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVEUPFACiiipsddsdoh]>+.-- -. >][4O6O@ #x%+>+=ttt Z...

given that there was a language this easy still out there, I'd imagine that there are others
 
6:03 AM
the same trick I used for dc might work for Tcl (not sure, haven't looked into it too closely)
Versert looks like a reasonable possibility if we want another 2D language
 
 
6 hours later…
11:53 AM
Ok I have Wise working in everything but nim and Incident
 
 
2 hours later…
1:55 PM
I apparently missed a lot of chat. I've had my mind blown several times in catching up lol.

On the subject of dropping Cubix into evil: you have to make sure Alphuck doesn't parse it, as O in the input command.
 
Does anyone know how the haystack works rn?
nvr mind
Its now working in everything but Incident
 
@ais523 I think I looked at both bc and dc a while ago (in the late 20s, iirc, when I was still trying to use languages I'd heard of) but had no luck. Glad to see at least one of them has made it in now.
 
Somehow incident works?
I'll take it
Oh I see why
I accidentally did something smart
Ok that works
 
Also, in terms of easy languages to add, some of the interpreters I've found handle a bunch of random BF-derivatives that are just character swaps. The primary issue with those has been length (particularly once we began a more determined push to bring the VIP score down). If there were more with <4 character commands it'd be easier, but most that I found had too many commands that were longer than that.

Ok finally caught up on chat. Now to read these answer rundowns.

@WheatWizard one random warning about the main incident line: most of the cow code is being used as spacers. It can be shu
 
2:14 PM
0
A: Add a language to a polyglot

Wheat Wizard57. Wise, 1300 bytes #16 "(}23!@)(" 3//*v\D@;'[af2.qc]'#)"14";n4 #/*` PkPPX (22)S"[!(>7 7*,;68*,@;'1,@␉␉␉␉ P''53'S^'q #>␉ # >36!@␉ #`<` #<]+<[.>-]>[ #{ #z} # #=x<R+++++[D>+++++++EAL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVEUPFACiiipsddsdoh]>+.-- -. >][4O6O@ #x%+>+=ttt...

 
3:12 PM
Has anyone tried starry?
 
I looked at starry for a bit. if i remember, whitespace is vital to stary, and we have Whitespace (the langeage) in the polyglot, which cares exclusively about whitespace
The Whitespace has run it's course by this line: #z}
 
Yeah starry cares a lot about whitespace.
 
My faulty memory is that starry would have to get past Whitespace's code, and that seemed too much of a hurdle.
 
I've done whitespace starry polyglots before
IIRC starry actally doesn't care what type of whitespace it encounters just how much there is
I'll look into it once the next answer is posted
 
whitespaces current solution is pretty ridged on whitespace in the top line. you might need to create a new whitespace solution to add starry.
I'd love to see it.
I can't believe 3 answers got posted today.
 
3:36 PM
@WheatWizard good write up with #55, you explained away some misconceptions I had with Japt and Thutu. Thanks
 
Ok, I really don't know how Japt works I just know it likes numbers in things.
I wouldn't take anything I say too seriously, its just what I think is happening not necessarily what is actually happening
 
well, yeah. but that's like everything for me.
I like how you frame the behavior it's simpler for me.
truth is irrelevant. :P
 
I barely know how most of these languages work anymore. I'm familiar enough with the usual suspects to pacify them with some trial and error, but that's about it.
I know nothing of 05AB1E, which is funny to me since I added that one. I also added Labyrinth and I'm mostly just surprised it's never been a real problem; no idea how it's getting along anymore lol.
 
3:51 PM
I like to think of it as specialization.
I'd bet you know how evil works in here better than anyone, just cuz you've worked it more.
 
That is probably the one I feel most comfortable with (ignoring all the simple BF variants). Thankfully now that just mostly means trying to vaguely remember what commands are dangerous in it.
 
I seem to get the Necromancer badge every time I answer the polyglot challenge nowadays
it seems like something's wrong with the name
 
Necromancer is one badge that is way easier to get on PPCG then on other sites
 
brainflak experts: what does [{}] mean?
 
negative pop
 
4:03 PM
and what happens if you pop an empty stack?
 
nothing
 
oh good
that probably hurts brainflak classic though
 
implicit zeros ftw
oh yeah big time
that will print 0
you can skip it with a loop if you really need to use it
{[{}]} does nothing
 
I'm trying to see if Tcl fits into the polyglot
it uses { … } as string literals
(basically because things like if are implemented as functions that take string literals as arguments, and eval them only if the condition holds; it's a weird language)
Ruby seems not to like [{…}] either, so I'll have to try something else
 
4:20 PM
my tester sense is telling me to look at lua again.
 
so far I haven't even managed to construct a legal Lua program that starts with #
# means "length of" in Lua, it's a unary operation, and the problem is that you can't start a Lua statement with an expression
 
lua accepts our line 1. I seem to remember finding something in the documentation a month back or so.
just not the line 2.
 
it's probably OK with linemarkers
hmm, I wonder if we could write the start of the program entirely in linemarkers?
lots of languages would like that, not just Lua
 
it's too early for talk this exciting.
I'll never get anything done.
 
Japt would throw a fit, I imagine, but we might be able to deal with that separately
 
4:46 PM
@Chance You were saying at one point that it would be pretty easy to add more shell scripting languages, and you linked a resource. Where was that, I can't seem to find it any longer
 
I kinda liked the look of ksh. I was poking around yesterday.
But I never found an exploit.
 
actually, Lua doesn't use linemarkers
"The first line in the file is ignored if it starts with a #"
that means that we probably need a very long first line that does as much as we can
and to start the second line with a letter, most likely
lots of languages are OK to have assignments
 
 
2 hours later…
7:06 PM
I there a lua statement that can start with #?
I gather that #"" returns the length of the string, but it doesn't like this as a standalone statement.
 
right, Lua statements aren't separated by semicolons, newlines, or anything really
(you can put semicolons or newlines there if you want to but they're optional)
this means that it has to be very restrictive with what can appear in a statement
and in particular, an expression can't appear at the start of a statement
# can only start an expression, so it isn't valid at the start of the program
(and in fact the Lua parser will error out as soon as it sees as # where a statement is expected)
 
the scripts don't like a=#"" either. :/
I think I could maybe work a trick like you did with dc, but all the #x block comment languages would still parse the lua line.
 
I think that can be made to work
Python would be the hardest choice
I believe q=[[ is the best way to start a Lua/scripting language polyglot
I've done that before
 
but then nim, julia, octave, ect. have problems.
 
(Perl doesn't allow arbitrary identifiers as variable names, but q is a keyword which happens to behave very nicely in this way; and it's valid syntax in nearly all the rest, except possibly the shells)
but yes, the nim/julia/octave set want you to start their block comments before you fall out of the # chain
 
8:11 PM
I don't think fish can naivelt be combined with the existing shell answers
fish uses an entirely different syntax for case/switch statements
fish is very syntactically different from zsh and bash
 
Yeah, fish is a weird one as far as shells go
 
It is a lot of fun though. I've actually decided to switch from bash to fish for my everyday purposes.
tcsh and fish might play nice though.
 
8:37 PM
I used to use it a fair bit. Never switched entirely too it because I had too much in my .bashrc that I didn't feel like reworking, but I had 'fish Fridays' where I made myself use it so I'd slowly build up the tweaks I most needed as I needed them.

Hm...looks like fish throws an error even if you try to exit at the beginning of the program
Seems to try and read the whole file beforehand, that might be a problem
 
Yeah I think fish is out altogether
I am currently looking at ksh, but it has the opposite problem where it behaves to similarly to the other shell languages
 
9:01 PM
Ok I'm going to stop working on this because Its not my turn anyway.
 
lol @ Fish Fridays.
So I found something interesting with japt while looking for a lua entry point. When I put [ '] at the end of line 1, the javascript transpolation (seen here: ethproductions.github.io/japt) the cuts off at after line 1 as well.
we might be able to stop japt from parsing the whole polyglot, which would free up some {} use in the shell space.
I'm guessing this might allow ksh.
I'll poke at this more tomorow.
 
Is that a crash/error of some sort?
I know nothing of Japt, but the sudden change feels that way. I also kept discovering languages today that silently crash but still exit with a 0 and no error text, which is making me question that more
 
9:47 PM
@Chance japt's still parsing; it just seems like it doesn't transpile anything from an unmatched [ to the end of the program
and '] places the closing ] inside a (very short) string literal
this doesn't appear to be a crash of any sort
it also isn't documented, though
I think as long as we make sure that the rest of the program contains more [ than ] from Japt's point of view, most things will be OK
actually there's definitely a parser bug here
given that ] after a $ count, and they shouldn't
 
10:08 PM
looks like this is the direction to go.
#16 "(}23!@)(" 3//*v\D@;'[af2.qc]'#)"14";n4
#/*1-40//[']
pyth and 05AB1E seem like the main challenges.
assuming we're willing to exploit a parser bug.
 
we may need to find a version of Japt that predates the challenge to see if the issue is still there
also that second line still looks hostile to Lua
or is there some other basis behind this?
 
oh yeah lua is done
I'm thinking this will open up {} for ksh
my sense is there is an exploit with to upper/ lower string functions
also the C/C++ section get it's put line cleaned up without the {} concern
 
oh, the idea is just to make braces easier to use in the rest of the code?
 
I think so.
it'll clean up the B-F section as well I think.
 
something I really like about this polyglot is how easy it is to tell what part of the code a language is for, in most cases
often it'll contain a literal number and you can look it up in the rundown
and if not, it's normally fairly distinctive
the bits that split code away from each other are the only confusing bits
 
10:18 PM
I wonder how easy it would actually be to invent a new language to add.
 
that, and all the random Incident/Prelude filler
oh, I assume A Pear Tree can be added trivially, it was invented for polyglots
but it was inspired by this question
 
at least it made it into the test driver. :P
 
yeah, there's only like two or three things it does better than Perl
but one of them happened to be exactly what I needed
$ apeartree.pl polyglot.poly
a partridge
looks like it's still working :-D
 
you should sneak it into an answer with #0.
 
I put "and a partridge in A Pear Tree" at the end of the rundown sometimes
last time was on Dec 25
not sure when next to do it, it seems worthwhile to save for a special occasion
it was a fun language to write, it was a thought experiment on "what sort of useful language would print a partridge in response to almost any input program"
and it turned out to be pretty useful on PPCG, often winning radiation-hardening challenges
strangely I don't think it's won any polyglot challenges yet, but those are rare and too many of them care about byte count (it's fairly verbose)
 
10:25 PM
I though about posting a polyglot challenge a while back, but decided to wait until this one ended.
 
we could do with more polyglot challenges, assuming they're sufficiently different from each other
 
I was thinking of a cops and robbers thread where cops basically declare a number of languages impossible to use in a polyglot with one another. and robbers try to prove them wrong.
kinda of a loose idea still
 
I like that, actually; I've had similar ideas myself
however, it's a bit risky to run as , because if the cops are competent there'll be nothing for the robbers to do
many people dislike that, and require that all answers should be robbable, which makes it hard for the challenge to work
on the other hand, requiring a proof wouldn't work either, and in cases where the proof can be done, it's uninteresting
 
for cops, most languages win. and any 2 can be used by robbers.
 
so I'm not sure if we could easily fit it into the existing challenge types
ah right, sets of more than 2 languages
 
10:30 PM
I think mostly greedy cops will get taken down by robbers.
 
I suggest we do it like this: a cop submission is a set of languages, and it can be cracked by either a) a polyglot in any two of those languages, or b) a cop submission with a superset of those languages that also isn't cracked (i.e. stealing other people's sets and adding languages to them is encouraged)
I think there should also be a requirement that each of the languages is capable of having programs written in them individually
as there are plenty of esolangs that have zero useful functionality
(and the program-to-be-defined should probably take input and produce output, to help cut down on that sort of loophole)
 
good call. yeah, I like all of that.
 
I'm thinking of things like Baby Language
I can only think of one PPCG challenge offhand where that's usable at all
(and it postdates the challenge, IIRC; or maybe not, I should check that)
oh wow, it doesn't
I am so going to answer this
 
Cops should have to demonstrate that the chosen languages meet a basic compatibility test. that way they have to write a little code too.
 

« first day (40 days earlier)      last day (537 days later) »