« first day (3903 days earlier)      last day (939 days later) » 

12:02 AM
Meta-CMC: Pick a language that isn't a golfing language, and use it to solve every challenge in today's BMG.
 
I'm gonna try for QBasic... wish me luck
 
Im going to try Vim, but I won’t be able to do it right away since I’m on mobile
 
@DLosc Aight imma break out this cool new language I've been developing that's Turing Complete and just so happens to be exactly the same as English. Haven't gotten around to implementing it yet, the parser was slightly harder than I thought :P
 
So... are we starting?
 
12:14 AM
¯\_(ツ)_/¯
 
Welcome to the 11th Biweekly Mini Golf. During this event, we'll post some CMCs (Chat Mini Challenges) for you all to solve. A new one will be added every 5 to 10 minutes. Feel free to keep suggesting drafts during the event. If you have any questions, don't be afraid to ask. Good luck!
5
i think it's 11th
 
1 min ago, by emanresu A
¯\_(ツ)_/¯
 
in BMG Drafts, 2 hours ago, by DLosc
Draft: Given a list of integers, perform one step of selection sort: either move the smallest number to the beginning of the list, or move the largest number to the end of the list (your choice).
in BMG Drafts, 2 hours ago, by lyxal
AIDraft: Given a string, output its reverse and its length.
just copying over starred ones
have fun
 
Welp, looks like QBasic doesn't have a REVERSE$ function. :P
 
@hyper-neutrino Vyxal W, 2 bytes: Ṙ₅
 
12:23 AM
@hyper-neutrino QBasic, 62 bytes:
LINE INPUT s$
l=LEN(s$)
FOR i=0TO l-1
?MID$(s$,l-i,1);
NEXT
?l
 
@hyper-neutrino can we assume the integers are 0-9?
 
@AaronMiller My intent was that all positive and negative integers should be supported (maybe with allowances for languages that don't have bigints)
 
But feel free to post the version that works with just digits, too
 
Nah, I’m pretty sure I know how I can make it work fine, I’ll just have to do a different input format than I originally thought (I’m planning how I’m going to do it in vim when I’m on my computer)
 
12:29 AM
Aw, man... I should've done bubble sort. The way I wrote the challenge means I have to do two passes over the array in QBasic.
 
Just do JS sort
(lexographic order)
 
?
 
Js's sort stringifies everything.
 
Vim’s <insert command here> stringifies everything.
 
@emanresuA So, 1) that wouldn't give the correct results anyway, and 2) it wouldn't make things any easier in QBasic.
 
12:33 AM
:)
 
@hyper-neutrino All right, I think this works--QBasic, 112 bytes:
SUB s(a(),n)
i=1
m=a(1)
FOR j=2TO n
IF m<a(j)THEN m=a(j):i=j
NEXT
FOR j=i TO n-1
a(j)=a(j+1)
NEXT
a(n)=m
END SUB
It's been FOREVER since I wrote a sub in QBasic.
Takes the array a and its length n; modifies the array in place, moving the maximum element to the end.
 
@hyper-neutrino Is this a unique list @DLosc?
 
Not necessarily.
 
Ah, too bad
 
You can move any occurrence of the min/max that you like.
 
12:45 AM
@hyper-neutrino Scala, 40 bytes: x=>x.min::x.patch(x indexOf x.min,Nil,1). Longer than I would like :(
Modifying immutable collections in Scala is painful
 
Could you use a mutable collection instead? I'll allow it
 
@hyper-neutrino Scala: s=>s.reverse->s.size
@DLosc I could, I just don't like those :P (besides, it might be even longer)
 
@user Is there a way to see the output without adding a println?
 
It should show up right next to the expression itself in Worksheet mode
@user Scratch that, it's quite a bit shorter with a ListBuffer
 
@user Oh, haha! I kept seeing these annoying popups and clicking Clear Messages to get rid of them. Didn't realize those were the actual results. X^D
 
12:52 AM
lol, happens to us all
 
@user Ooh, I like that one.
 
Having the same statement but with + and then - both pleases and annoys me :P
Anyone want to post another draft?
 
@hyper-neutrino Pip, 6 bytes: PRVa#a
 
in BMG Drafts, 3 hours ago, by lyxal
AIDraft: Given a positive integer, return its number of trailing zeroes
 
@user Pip, 7 bytes: #a-#+Ra
8 bytes in Pip Classic
 
12:59 AM
 
Sandbox posts last active a week ago: Write an interpreter for "MathScript"
 
^ I feel like this is doing too many things in one challenge
 
@user QBasic, 44 bytes:
INPUT n
WHILE n/10=n\10
z=z+1
n=n/10
WEND
?z
(Only works for integers that fit into a single-precision float with no loss of precision, though.)
@user tinylisp, 50 bytes: (load library)(d F(q((N)(i(mod N 10)0(a 1(F(/ N 10
Or in Appleseed, 39 bytes because the library is autoloaded: (def F(q((N)(if(mod N 10)0(+ 1(F(/ N 10
 
1:14 AM
Why doesn't tinylisp autoload it too?
 
Something about not wanting to pollute the global namespace, maybe? IDK
47 bytes in Appleseed with proper tail recursion: (def F(q((N(A 0))(if(mod N 10)A(F(/ N 10)(inc A
 
AICMC: Given a list of integers and an integer k (k < length(arr)), return the subarray that sums to k. If multiple such arrays exist in arr[], choose one at random.
 
Is it guaranteed that such a subarray exists? Are they positive?
 
Uh sure and I suppose so
 
@lyxal Is a subarray required to be contiguous?
 
1:20 AM
@DLosc I'll let you decide that
 
ok
 
I didn't write it, gpt3 did, so it's open to interpretation
and it accidentally wrote it too when I was trying to use codex to solve your selection sort cmc
 
Haha
 
console.log(reverseAndLength('Hello'));  // calling the function with an argument 'hello' and printing the output in console.
Thank you AI. Very cool.
AICMC: Given a string, output the number of times that it contains "a" or "A". Answer with the shortest amount of bytes wins. If there is no such character in this string, output 0
 
@lyxal Vyxal, 4 bytes: ⇩\aO
 
1:28 AM
Need a base here so need iterate through 2 to argument - 1 since don't want it includeing teh actual list item
Codex writing python comments
 
> teh
 
# Minify the following python function

def f(arg):
    if arg < 5:
        return True
    else:
        return False
 # This is where the autogen result starts
def g(arg):
    for i in range(2, arg-1):   # Need a base here so need iterate through 2 to argument - 1 since don't want it includeing teh actual list item               li = [num for num in arr if f('a string')
thank you AI very cool
 
@lyxal QBasic, 114 bytes:
SUB f(a(),n,t)
FOR i=1TO n
s=0
FOR j=i TO n
s=s+a(j)
IF s=t THEN FOR k=i TO j:?a(k):NEXT:EXIT SUB
NEXT j,i
END SUB
Takes the array a, its length n, and the target sum t, and prints the first contiguous subarray that sums to t.
@lyxal QBasic, 70 bytes:
LINE INPUT s$
FOR i=1TO LEN(s$)
c=c-(LCASE$(MID$(s$,i,1))="a")
NEXT
?c
in BMG Drafts, 2 hours ago, by DLosc
Draft: Draw a hexagon. (Any closed, six-sided figure. Doesn't have to be regular; doesn't have to be convex. Can be outline or filled. No ASCII art or unicode characters like ⬡ please.)
 
1:45 AM
Uh, I’m gonna ignore that CMC for the purposes of the MetaCMC (Vim’s a text editor, for crying out loud, it ain’t got no fancy shmancy graphics)
 
Yeah... I guess.
 
Magic-induced chronic diarrhea is a hilarious world feature — Drake P 8 hours ago
 
@DLosc QBasic, 26 bytes:
SCREEN 9
DRAW"R9F9G9L9H9E9
 
@AaronMiller You can access bash through Vim, right?
Just use bash to use Python to draw something, ez :P
 
Use bash to use Vyxal to execute as Python to import Jelly to execute as Python to draw something, ez :P
 
1:52 AM
in BMG Drafts, 2 hours ago, by DLosc
Draft: Given a word composed of lowercase ASCII letters, reverse the order of the vowels (aeiou) within it. Examples: code -> cedo; bureaucracy -> baruaecrucy; subtraction -> sobtrictaun
 
2:18 AM
QBasic, 214 bytes:
DEF FNv(c$)="a"=c$OR"e"=c$OR"i"=c$OR"o"=c$OR"u"=c$
INPUT s$
v=LEN(s$)+1
FOR i=1TO v-1
l$=MID$(s$,i,1)
IF FNv(l$)AND i<v THEN
1v=v-1
v$=MID$(s$,v,1)
IF 1+FNv(v$)GOTO 1
MID$(s$,i,1)=v$
MID$(s$,v,1)=l$
END IF
NEXT
?s$
Pip, 12 bytes: a^XVWVRVa@XV
 
am tired, will Vim tomorrow
 
2:37 AM
o/////
(I stole some of Lyxal's arms)
 
\\\\\o
(i just grew some more the old-fashioned way)
 
3:27 AM
My laboratory has orders to develop self-replicating arms, with the replication gene being designed in a way that it will cause the arms to wither away and die once they are taken by Lyxal
So we can repopulate the world's arms
Research is going slowly because it's hard to operate a pipette with your legs
 
Didn't Lyxal start stealing those as well?
 
Maybe, but we have some rather scary looking machine gun nests around our campus
Where machine guns lay their eggs to hatch
 
 
1 hour later…
4:40 AM
@user Maybe, but you can't send such a "link" to others.
 
5:23 AM
i tried using lynx to talk here, didnt work
 
5:49 AM
@hyper-neutrino Try it online!
 
6:13 AM
@pVCaecidiosporeadduced With lamda
 
6:52 AM
I just discovered a new way to crash Firefox, and it lags for a bit even after you close the tab!
 
7:33 AM
does it only work on ff?'
 
7:54 AM
Idk
Nvm it's just an infinite loop in disguise
 
8:14 AM
posted on October 06, 2021 by celtschk

Run-length encoding is a simple compression technique which compresses sequences of repeating identical bytes. The encoding rules for this task are as follows: Any sequence of $n...

 
@hyper-neutrino Charcoal, 5 bytes: ⮌θILθ
@user Charcoal, 9 bytes: I⌕E⮌S¬Iι⁰
@lyxal Charcoal, 5 bytes: I№↧Sa
@DLosc HTML5+SVG, 30 bytes: <svg><path d=m0,0v4h4v4h4v-8z>
 
"When in doubt, doubt yourself"
 
 
1 hour later…
9:28 AM
@Adám Can a website that redirects you also modify stuf on riju later?
 
10:16 AM
'nigth
 
11:00 AM
@user No. These days, you can't even use JS to modify stuff in an iframe. This is to prevent spoofing, keylogging, etc.
 
11:28 AM
Ah, makes sense
Perhaps Riju itself can add that, I’ll file an issue later
 
12:05 PM
@emanresuA Fun fact: I did lol :D
@RedwolfPrograms no, it's more that we had a relatively well-planned roll-out scheme, which has now turned into a free-for-all because people are tired of lockdowns. Mind you I'm talking from the perspective of NSW (the state I live in); I can't say how availability would be like in other states
 
12:26 PM
@Aaroneous Miller don't you know that the floor is lava
(gpt-3 trying to generate quality content for me to send here)
 
> Aaroneous Miller
 
the fact that you pretty much immediately replied to that means the summoning worked
 
i was pingn't, if that's what you mean
i just happened to be in the area
 
no I figured it wouldn't ping I mean just mentioning it brought you here
 
indeed
btw why didn't you tell me to go to sleep, now im tired. :(
 
12:31 PM
no ur not
ur Aaroneous Miller
also,
"I'm pretty sure the minimum amount of time it takes someone to have a trolling conversation with me is about 6 min."
(source: AIyxal)
 
yeah i can see that
we've got about a minute to go
 
> "Have this in remembrance of my existence." - Lyxal
holy crap gpt3 knows about mod abuse
 
@lyxal Can... Can we see it?
 
> DURRRR IT'S JUST A RAGING BERNIE SUPPORTEEER FEEEEELIOONNNNEEEE FELLATIO!11!!1ONE!!!one!!!!111eleven~
I swear I didn't edit that in any way
!11!!1ONE!!!one!!!!111eleven
That's the haha funny mod abuse part
and it managed to autogen that from my previously starred messages
my life is now complete
 
12:35 PM
I will sleep to celebrate this achivevement
                                                     o
/////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
3
All the legs are mine
igh't bye
 
1:24 PM
@hyper-neutrino this is done now, right? so can we unpin?
I feel like it's always and only me complaining about pinned messages
do they not annoy anyone else?
 
No
Who cares about a couple pins?
 
me
lol
they're a useful way to give information, but once I've seen a pin, it just clutters up the starboard
I think they should act more like ticker feeds
 
@AaronMiller "Aaron Millers in your local area, click to browse no credit card needed"
2
 
@pxeger I wouldn't say they annoy me per se, but I agree that they do clutter the starboard a bit when they're no longer needed.
@RedwolfPrograms We are many
2
 
1:46 PM
I love how "afroeurasia" is an eleven letter word that refers to three continents all at once
 
1:59 PM
I love how in Vim you can easily golf stuff by just taking repeated stuff and shoving it into a register. That's literally all I did to golf my Flatten the CUBE program and I managed to golf it by about 700 bytes. :P
3
 
@RedwolfPrograms it's one continent!
 
@AaroneousMiller vim registers go brrrrrrrrr
 
2:22 PM
lol, I've never used that many registers in a single answer. Im using abcdefghijlnqrstuvwxyz
the only ones I didn't use were kmop
 
How do BTS fans clean their floors? kmop
 
^ TIE fighter
 
whats 'tie'.uppercase()?
 
2:43 PM
yes things like BMG pins should be unpinned after the BMG is over
 
I really don't think site maintainence stuff should be pinned, though
I don't think it's important enough to waste starboard space
 
if there were a way for pins to notify people the first time they enter that room and then not show on the starboard that'd be cool but as it is, when you see the message has nothing to do with if anyone else that might need to know hasn't entered the room since then and it's not like our starboard often contains anything useful
 
TIE fighters are fictional starfighters existing in the Star Wars universe. Propelled by Twin Ion Engines, TIE fighters are fast, agile, yet fragile starfighters produced by Sienar Fleet Systems for the Galactic Empire. TIE fighters and other TIE craft appear in Star Wars films, television shows, and throughout the Star Wars expanded universe. Several TIE fighter replicas and toys, as well as a TIE flight simulator, have been produced and sold by merchandise companies. == Origin and design == Colin Cantwell created the concept model that established the TIE fighter's ball-cockpit and hexagonal...
 
@AaroneousMiller |o|
|ō|
^ with a shield
|ô| <- another gun
 
3:13 PM
TIL:
Entomological warfare (EW) is a type of biological warfare that uses insects to interrupt supply lines by damaging crops, or direct harm to enemy combatants and civilian populations. There have been several programs which have attempted to institute this methodology; however, there has been limited application of entomological warfare against military or civilian targets, Japan being the only state known to have verifiably implemented the method against another state, namely the Chinese during World War II. However, EW was used more widely in antiquity, in order to repel sieges or cause economic...
 
The more you know
 
Interesting that the US considered breeding caterpillars to drop them on coca fields
 
3:59 PM
"18907d ago"
lol
 
lol. yeah that's been an issue with mobile for a really long time; it's unlikely it'll ever be fixed :P
 
I really don't get how Mathematics generates so many chat flags...I think it's just the same few users over and over again
 
@Neil Noice!
@Razetime Hey, I just noticed you made an Esolangs article for Pip a while back. Thanks!
 
4:26 PM
@lyxal But the real epic gamers are using FlogScript
 
4:43 PM
@RedwolfPrograms huh, that's the first i've heard of this. TIL
 
5:14 PM
Speaking of TIL: If I understand this correctly, some organisms (especially viruses) golf their DNA by having overlapping genes :o
5
 
That's super cool
My chemistry teacher just asked a question, I raised my hand and answered, then said I was wrong and went on to say the exact same thing I had just said >:|
 
and teachers wonder why people don't participate in class :p
 
5:28 PM
@DLosc oh, no problem.
 
5:47 PM
Looking at the Elo ratings' history, they seem surprisingly swingy. Maybe the "favors more recent entries" has something to do with that--especially for languages that don't get used a whole lot. I wonder if a handful of individual bad performances could tank the rating for that month.
 
That's something my rating system (and probably Bubbler's) should fix
 
6:07 PM
ello
 
ow re ou?
 
ood
ust ame p ith ew dea or hallenge, ctually
t'll e ard ne
 
Nderstanding his s ctually uite ard.
 
ot if r n pic amer ike e ol
 
6:19 PM
ap s ag r at hat
 
hat?
 
nly ne ord t an e p
 
Only word to …?
 
o?
nly ook ff he irst etter
 
h, ee
akes ore ense ow, lthough e ight ant o top
 
6:26 PM
hmm, i wonder if this could be made into an interesting golfing challenge?
 
robably ot
 
^
 
ut on't now hat our hinking o...
s ong s ou andbox t, hat's he orst hat an appen
 
did you just accidentally invent a new language
 
6:29 PM
What will I rue?
 
@HuỳnhTrầnKhanh Even worse than English
 
uch orse
 
@user he hallenge dea
 
o uch orse
 
6:30 PM
does america tend to use mm/dd/yyyy or dd/mm/yyyy?
 
m/d/yyy
 
nd t ucks
se yyy-m-d ike ormal erson
 
econded
👀
 
ou hould ever se lashes or d/m, nly m/d
se ashes therwise
 
6:31 PM
Sep 13 at 13:38, by Baby_Boy
y-m-y-m-y-d-y-d all the way
 
0
A: Sandbox for Proposed Challenges

Redwolf ProgramsVolume of a 3d model In this challenge, you'll take a shape as input, consisting of a number of triangles forming an outer shell. Your task will be to find the volume of the resulting shape. You can assume the triangles all connect to exactly one other triangle per side, and the surface does not ...

 
This will likely be one of the difficult challenges
 
I'll make one of the test cases the Utah teapot :p
 
how does the lean pascal challenge stack up against yours then
 
6:35 PM
@SandboxPosts idk, it feels like it's missing some test cases or a sample implementation or something
 
is it easier or harder lol
 
lol
@RedwolfPrograms lol did you just come up with a crazy idea and then post it as a sandbox challenge
bwahahahaha
i think you and bubbler are best friends
codegolf.meta.stackexchange.com/a/23921 bubbler claimed that it is an "easy induction", it turns out... the proof is gnarly lol
👀👀👀
actually i think your challenge might be easier to solve
because like there might be a neat math trick
 
I think I know a trick that might make it a bit easier
 
hey hey and your challenge didn't mention floating point accuracy... like the answer will be a real number right and its decimal representation can be infinite right... so like how many digits should a submission output lol
 
6:45 PM
However many are reasonably possible with the language :p
 
Is your approach to insert a point in the center, then sum the volumes of all the created tetrahedra?
 
there's no guarantee that the shape is formed by gluing tetrahedra is there?
 
wait - is a tetrahedron necessarily the platonic solid or is it any triangular pyramid
 
6:51 PM
any triangular pyramid
Oh wait
Can we assume that the shape is convex?
 
No
My approach was to "break off" small triangular pyramids from the sides and sum their volumes, until you reached some point where that was no longer possible. I'm not entirely sure what the final result would look like in some cases.
E.g., with a convex shape it's going to work perfectly fine, but with something like a ring I'm not sure what would be left over
 
hmm to solve a math problem a good idea is to look at the definitions
so how is the volume of a shape defined mathematically
 
Maybe I should do a 2d version first: Given a list of non-overlapping lines which form a shape, find the area
Probably a dupe though
For that, you could just break triangles off until you're left with a single triangle, and add those up
I think you could do the same for the 3d one
But with triangular prisms
 
@RedwolfPrograms yeah most likely... like that problem is like too basic and you don't even need to break triangles off or anything...
like there's already a formula
 
Wait really?
 
7:02 PM
just sort stuff, plug it in and boom
yeah
 
Huh...link?
 
hmm isn't it the shoelace formula or am i missing something? en.m.wikipedia.org/wiki/Shoelace_formula
 
Looks like it, yeah
 
7:14 PM
Are torii convex or concave?
 
7:32 PM
This is such a simple and elegant problem, @WheatWitch! I'm in awe. I'm not even going to try to write an answer, though...
And I really like this test case, somehow!
> |+-
-+|
 
7:59 PM
@AviFS That case was added by Dlosc!
Thanks though.
 
@WheatWitch 500 source lines of code (in Roman numerals)? ;)
For real, though, my username has no good anagrams. :( There's "clods," "colds," and "scold"--all bad things.
 
@emanresuA A It depents, In 3 space torri cannot have constant gaussian curvature, they will have positive curvature on the "outside" of the ring and negative curvature on the "inside". A Torus will always have 0 total curvature due to its Euler Characteristic. I wouldn't call that convex or concave. In 4 space though you can make torri with 0 curvature everywhere.
 
9:07 PM
@WheatWitch It's one of those problems that seems so obvious as soon as you see it. And then you wonder how you didn't think of it before!
 
 
1 hour later…
10:08 PM
@RedwolfPrograms Well of course they didn't understand you if ou ere alking ike his (but seriously, communication is hard, maybe they just didn't realize you were saying the same thing)
@AviFS I don't understand, what approach would fail on that?
 
@user None at all! I was saying I really like that test case. I found the symmetry nice.
 
Ah
Gah, I just came upon a website that has an option to sort a table according to some numbers, but they're sorted as strings so you have 1111 before 888 ಠ_ಠ
 
10:29 PM
Ah, we found a ".sort, seems correct" in the wild :p
 
Every day I hate JS more
(don't worry, I'm using BigInts for my hate, so it'll take a while to wrap around to loving JS)
 
The fact that .sort sorts integers lexicographically is genuinely one of JS's worst features. Most other stuff can be kinda excused/overlooked, but that's just downright wrong
 
Wait a minute, it's a Wordpress site, shouldn't Wordpress be handling that?
@cairdcoinheringaahing Meh, bad defaults are annoying, but you learn to avoid them once you're actually familiar with the language
 
@user BigInts will never wrap around, sussy baka :p
 
The base language is far more important, because you can always import handy libraries and do monkey-patching
@RedwolfPrograms Learn to love understatement, you extra sussy baka :P
Do you really think I would risk ever loving JS?
@cairdcoinheringaahing Were you named "Random User" before?
 
10:34 PM
Yes
 
Wow, that's almost as creative as me :P
 
As difficult as it might be to believe, at one point, I was almost as uncreative as you :P
 
/disapprofve
 
👂
 
10:39 PM
@user disapprovfefe?
 
11:07 PM
@hyper-neutrino Risky, 24 bytes: -_+_]+_]+_]+?*+_]+_]+_]+!_}*1+_]+_]__[-2++_?+_0
Reverse a string: 1 byte
Get the length of a string: 1 byte
Get the length of a string *and convert it to a string* so it can be output properly: uhhh 0_o
 
11:25 PM
@user base language? More like based language lmao
 
11:47 PM
idea: a language specifically designed for language design
as in, it is good for using to create other languages
 
Pretty sure there's a language called XL out there that's specifically for creating languages off of that
 
Racket might kinda fit that too? idk its design goals though
@user At least, that's what I think it does
Also, BNF could be considered such a "language"
Language-oriented programming (LOP) is a software-development paradigm where "language" is a software building block with the same status as objects, modules and components, and rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages for the problem first, and solves the problem in those languages. Language-oriented programming was first described in detail in Martin Ward's 1994 paper Language Oriented Programming, published in Software - Concepts and Tools, Vol.15, No.4, pp 147–161, 1994. == Concept == The concep...
 
@DLosc ^
 
That's why it's called Risky, you'll either get a 4 byte answer or get mauled by a zombie velociraptor
 
11:52 PM
@lyxal Worse, they're actually half byte built-ins :p
Although TBF just combining string reversing and length into an array would indeed be a few bytes
It's stringifying the number and joining with a newline that makes it so long
 
@hyper-neutrino MPS is a Jetbrains IDE to create plugins for Jetbrains IDEs (and standalone IDEs too). It's got a bunch of languages within it and apparently it was used to make itself. However, it was absolutely crappy last I tried it, so wouldn't recommend
@RedwolfPrograms Does Risky have APL-like operators or Jelly-like quicks to mess with the parsing and make it tacitter?
 
Sort of
 
r/inclusiveor
 
Its control flow operators like map and while are treated identically to other operators though
Since no characters can be assigned special purposes, as that's done based on their position in the program
 
Idea: Irrational length characters :P
I wonder if 5 bit characters would help. You have to add padding for four-bit stuff anyway, but that extra bit gives you a lot more operators
 
11:58 PM
No, because then it messes stuff up for, e.g., two operator programs
And if you wanted to make Risky more practical, adding more than two types is the best way to do so
And maybe slightly adjusting the parsing rules, since having to have it perfectly balanced often isn't good
 

« first day (3903 days earlier)      last day (939 days later) »