« first day (4218 days earlier)      last day (41 days later) » 

12:00 AM
and i think it start... NOW!!!
Um...
 
What are we learning (for great good)?
 
I believe it is F##
Does anyone want to start it?
 
That or Coconut
 
Ah, true
You know, what, I like Coconut. Let's do coconut
I totally didn't vote it up in the last second
 
It depends on availability. Neither @user or @DLosc are here right now.
 
12:11 AM
Oh, no
How about we do this
Whoever what to just teach us any language can do it
The first language sorted by upvotes that are both not learned and have their OP currently active is Jelly
But really, please put more into this post
CMQ: should we remove the "learned" entries of LYAL nominations? It's clutteering the page and usually those languages come at the top of the list which costs scrolling time.
9
 
I'd be for that
It's hard to see how many nominations there actually are
Plus we do it with LoTM nominations
 
Who's gonna do it? Everyone vote to delete or some mod delete or they delete it themselves?
 
well ill be down for deleting my own lyal nomination
for desmos
 
I've already deleted the vyxal lyal
 
ok. i dont think i have to do anything then
"I somewhat deliberately didn't include anything like "The highest voted answer will be used in the event", so that when the event happens we have more freedom to decide which language we'd like"
Ah, so let's learn Malbalge (isuckatspelling)
 
12:32 AM
i'd say do coconut, but maybe just do nothing today if no one is interested
 
I'll start it
 
ye im down for coconut
found an interactive tutorial for it on their website: hmcfabfive.github.io/coconut-tutorial
 
@NobodyNeedsNames Yes
 
bruh what is pipe forward and backward, confused already
 
Feels like I've seen something like that before
 
12:38 AM
 
print(sum(list(filter(lambda x: x % 2 == 0, range(10))))) that's terrible
 
@NobodyNeedsNames i mean its just an example
they trying to tell u about the advantages of the lang
 
It's not too complicated-- "pipe forward" just means "use this value as the input to the given function", AFAIK
 
print(sum([i for i in range(10) if i%2==0])) is quite better
 
@NobodyNeedsNames If you have a nomination that's been done as LYAL, delete them. Otherwise, if we decide to delete them, I'll just raise a flag on the question and ask a mod to delete the specific answers
 
12:39 AM
@Adam but what about pipe backward
like how do u know when to use what
 
@AidenChow that doesn't give an excuse
 
Uh, I assume the same thing but the operators are swapped
 
@Zionmyceliaadamancy I implied that I did not have nomination
 
I'm guessing they are interchangeable
 
¯\_(ツ)_/¯ just covering all bases
 
12:40 AM
@NobodyNeedsNames Personally, I think that's a reasonable bit of Python code
 
@NobodyNeedsNames if u really want to complain about it, print(sum(i for i in range(10) if i%2==0)) works. or what about u scratch all of that cuz its still terrible and just do print(20) ?
 
@Adam It's Coconut
 
...No, it's Python?
 
@Adam sure, but for the most important thing don't list a filter if you are just going to sum it anyways
@Zionmyceliaadamancy it's a python sample code
 
@NobodyNeedsNames True
 
12:42 AM
¯\_(ツ)_/¯ Imagine your programming language not being the same in Python. *laughs in Jelly ŒV
 
:61802945 although I do it all the time
does it still support non-pipeline
 
@NobodyNeedsNames Yes
 
ok
> items = iter(["aluminum", "plastic", "plastic", "plastic", "plastic", "paper", "plastic", "aluminum", "aluminum", "paper", "plastic"])
this iter() is stupid
I didn't know this would work too: (print)("Number of aluminum items: " + str(numAluminum[0]))
 
In Python or in Coconut?
 
Python
and prob. coconut'
 
12:56 AM
what's stupid about iter?
it converts a list to a generator
 
I think the issue they have isn't with iter, but with iter being used in this context
Because it makes the code more complicated without providing any benefits (that I can tell) in this case
 
1:42 AM
@Adam In Python actually, it wouldn't work to use iter because of numAluminum[0]. You can't unpack from a generator in Python
 
@Steffan The situation that's being referenced is hmcfabfive.github.io/coconut-tutorial/Patternmatch/…
 
I know
 
2:03 AM
=====ZAuij9iu
cat lol
 
2:16 AM
Your cat likes the enter key :P
 
Sometimes it doesn't
 
Your cat isn't very good. Mine can hit all sorts of keyboard shortcuts, get devstating combos, and has a natural gift for hitting the close window button on any touchscreen device with his nose
 
lol
 
Anyone here tried a distro other than ubuntu in wsl?
 
Wait, you can do that?
I should totally try that out I'm a huge Fedora simp
 
2:24 AM
Thinking about installing alpine (no real need to but i wanted to see the difference)
@NoHaxJustRadvylf yes but it’s slightly more complicated if it’s not in microsoft store afaik
@NoHaxJustRadvylf why huge fedoras? Why not small baseball caps or medium sombreros?
 
@user As in like, performance?
 
yeah
and storage and memory
 
IMO the storage and memory savings aren't really worth it for anything other than containers and VMs
 
Yeah but i was just interested
(Wsl2 is basically a vm anyway)
 
Oh wait can you have multiple at once?
 
2:27 AM
Yup
 
@user Well I mean more like, a VM where you know in advance what you're running
Since you'll probably need glibc anyway for something down the line, and you'll need to install plenty of non-busybox utilities anyway since they can be really annoyingly feature-lacking sometimes
 
Aww okay
 
I mean, it's like megabytes, if you want to try it I'm not going to discourage you :p
 
Wsl’s been eating a lot of ram so i was hoping for something that has fewer system thingies running in the background
@NoHaxJustRadvylf true
 
@user Yeah I feel your pain there. Crostini (which is basically an Ubuntu fork internally) leaves me with like 2 GB for Chrome OS
 
2:30 AM
Oof
I don’t think it’s that bad on my computer but it is noticeable sometimes
@NoHaxJustRadvylf how much ram total do you have?
 
8 GB
Although I'm pretty sure not all of that is actually Crostini, and Chrome OS's diagnostics tool thinks that like, a soft "this is how much I'll probably need to don't use it all :3" is it's actual memory consumption or something
 
3:16 AM
@AviFS i was actually considering putting it in lisp form
i am going to do it
ima make an xml based lisp
SXML is an alternative syntax for writing XML data (more precisely, XML Infosets) as S-expressions, to facilitate working with XML data in Lisp and Scheme. An associated suite of tools implements XPath, SAX and XSLT for SXML in Scheme and are available in the GNU Guile implementation of that language. Textual correspondence between SXML and XML for a sample XML snippet is shown below: Compared to other alternative representations for XML and its associated languages, SXML has the benefit of being directly parsable by existing Scheme implementations. The associated tools and documentation were...
 
3:57 AM
@Seggan that just sounds like XSLT with extra steps
well actually with fewer steps
because your syntax looks way easier than XSLT
for example, XSLT fizzbuzz:
<x:stylesheet version="1.0"
    xmlns:x="http://www.w3.org/1999/XSL/Transform"> <!-- Define the XSL namespace to be "X" for brevity -->
    <x:output method="text" /> <!-- Textual output -->
    <x:template match="n"> <!-- Match the root tag n -->
        <x:for-each select="N"> <!-- For each N, which is a number in the range 1...100 -->
            <x:if test=".mod 3=0">Fizz</x:if> <!-- If N % 3 == 0, write "Fizz" -->
            <x:if test=".mod 5=0">Buzz</x:if> <!-- If N % 5 == 0, write "Buzz" -->
Way more complicated than your idea lol
 
5:00 AM
@Seggan Oh wow, come to think of it, I'm totally not surprised cuz I know they have HTML in Lisp for web frameworks.
But I always forget XML itself is actually a thing people care about.
@lyxal Now that just reminds me of Vue. The x-if and x-for. Better still, use Alpine.js. The king.
@NoHaxJustRadvylf Devastating combos. Sounds like Mortal Kombat or something, haha
 
6:00 AM
I had a dream that I went to a hotel, and in the lobby was the server that TIO runs on. Next to it was a display case full of sliced gouda cheese with a sign saying "This is the TIO licence for Wolfram Mathematica, please take one"
9
That's what our cheese discussion yesterday did to me
 
@pxeger that's a great dream :)
@pxeger do you still get mathematica free with a raspberry pi?
 
 
2 hours later…
8:05 AM
Hello all!
All comatose?
 
tomatoes
 
so at least culinarily we are in fact vegetables
 
Wouldn't we be meat in the culinary sense?
 
it's a bad pun
 
@Bubbler :) it's s a great pun!
I am feeling good as I have added my first bounty in a long time (iirc)
 
8:14 AM
my pun is bad
tomatoes is good
 
:)
I still want someone to do study on the effect of bounty size on the speed of new answer
@UnrelatedString currently eating tomato salad every day and wondering if I will turn into a tomato
I mean speed of getting a new answer
I am not convinced the size has any effect at all
 
8:42 AM
0
A: Language nominations for the "Learn You a Lang for Great Good" chat event

BubblerLabyrinth An esolang based on the path-following mechanic. You can put a linear program path in any contiguous shape, and branching and loops are visually straightforward. A typical Labyrinth program looks somewhat like this: )" 10/{:@! .,;: _ { _ ; })"}) 10-9!@ (taken from here) Writing a ...

 
@LYaLNominations I am sad I missed the lean version of this
 
 
3 hours later…
12:05 PM
codegolf.stackexchange.com/questions/251138/… +3/-3 highly contraversial post
 
12:43 PM
lol I just realized I forgot to add support for audio when I installed Gentoo
 
First day of school!
 
This is actually nice, no more worrying about my volume
@NoHaxJustRadvylf :( stay strong
 
Nah I like school :p
@pxeger Well don't mind me, RTO needs one of those (grabs a whole handful)
 
1:02 PM
Literally the worst code ever:
def dayoftheweek(year,month,day):
 if (year,month,day)==(1900,1,1): return 0
 if (month,day)==(1,1): return (dayoftheweek(year-1,12,31)+1)%7
 if day==1:
  if str(month) in '2468911': return (dayoftheweek(year,month-1,31)+1)%7
  if month!=3: return (dayoftheweek(year,month-1,30)+1)%7
  if year%4: return (dayoftheweek(year,month-1,28)+1)%7
  if year%100: return (dayoftheweek(year,month-1,29)+1)%7
  if year%400: return (dayoftheweek(year,month-1,28)+1)%7
  if True: return (dayoftheweek(year,month-1,29)+1)%7
 
@NumberBasher You have barely seen any bad code lol
That is pretty bad though
 
I'm actually using this for usaco. this 'might' time out...
 
Why not just use the built in datetime module?
 
> Do not use any built-in date functions in your computer language.

Don't just precompute the answers, either, please.
OOHHh....
 
Where is this from?
 
1:09 PM
> RecursionError:_maximum_recursion_depth_exceeded_in_comparison
hmm... :-)
If it was a car, it would've been better.
 
uh so i got 25/25 in my computer exam
 
@PyGamer0 Impressive
 
and my computer teacher genuinely thought that i went to tutions lmao
 
tuitons?
Execution error: Your program (`friday') used more than the
allotted runtime of 1 seconds (it ended or was stopped at 1.359
seconds) when presented with test case 5. It used 14520 KB of
memory.
Oh nooooooooooooooooo lol
 
@PyGamer0 what does a "computer exam" entail?
 
1:13 PM
@thejonymyster test of my java skills that are being taught to us
 
come on...: allotted runtime of 1 seconds (it ended or was stopped at 1.096
seconds
 
"DiD yOu UsE sUfICiEnT eNcApSuLaTiOn" I assume?
 
1:28 PM
Can anyone tell me why the test case 45 failed this code but smaller ones did not? Thanks
"""
ID: 000000000
LANG: PYTHON3
TASK: friday
"""

from sys import setrecursionlimit as e
e(1000000)
def dayoftheweek(year,month,day):
 if (month,day)==(1,1): return int('01234601245602345012356013456012356013456'
'1234601245602345601245602345012356013456123456013456123460124560234501234560'
'2345012356013456123460123456123460124560234501235601234501235601345612346012'
'4560123'[year-1900])
 if day==1:
  if month in [2,4,6,8,9,11]: return (dayoftheweek(year,month-1,31)+1)%7
  if month!=3: return (dayoftheweek(year,month-1,30)+1)%7
Here are the respective outputs:
----- our output ---------
78_76_78_76_78_77_77
---- your output ---------
77_78_74_80_76_77_78
--------------------------
 
 
2 hours later…
3:55 PM
@NumberBasher It seems like you could pretty easily rewrite that to be non-recursive
 
4:14 PM
So what are we calling a Coconut CMC? CoMC?
 
4:24 PM
@DLosc what is a coconut CMC?
 
A CMC that's intended to be answered in Coconut, which we are (I think) currently learning for great good.
@AidenChow I went through the tutorial. It's... not great. (Though the fact that at a certain point the Next button takes you back to the recursive factorial example feels appropriate, somehow.)
 
Cool! It does look fun
CMC bubble sort in coconut (as a functional program)
 
Hoo boy, I was going to start with something simple like factorial :P
 
Here it is in Haskell in case it helps codereview.stackexchange.com/a/198081
@DLosc Aim high!
 
X^D
All right, but also:
CoMC: Write a factorial function. Must work for all nonnegative integers.
 
4:35 PM
bubbleSort :: Ord a => [a] -> [a]
bubbleSort = foldr swapTill []

swapTill x [] = [x]
swapTill x (y:xs) = min x y : swapTill (max x y) xs
What does X^D mean?
 
@DLosc Easy, just write a Python factorial :P
 
@user All right, how many bytes is it?
Because I bet it can be shorter in Coconut.
 
@DLosc Oh, absolutely
It's 47 bytes
The impl in the tutorial is 29 bytes ((n)->range(1,n+1)|>reduce$(*))
 
@DLosc thanks!
 
@DLosc i love the image. hes so happy
 
4:47 PM
@thejonymyster That was a big reason why I picked that article. The picture matches exactly the expression I think of when I see the emoticon. X^D
 
:-)
do we have a pin for the lang we're greatly good for learning
 
@thejonymyster It's also the face I make when I yawn
 
im trying to find the internrptertr
 
tio
 
oh ok :+1:
 
4:48 PM
@user which, however, doesn't work for 0
 
Oh
Hmm, does reduce take an initial argument?
 
@user It does, but it's the third argument to the reduce function.
 
Ah, that complicates things
The docs are really detailed
*26 bytes
 
You can get rid of the (n), which is quite nice for code golf
 
Oh nice, it's more useful than Scala's because you can use the same argument multiple times
 
4:59 PM
The shortest I've found using reduce is 28 bytes
 
5:12 PM
@graffe If I understand this correctly, it seems to work like an insertion sort. (At each stage, you've got a list of sorted elements, and you add a new element to it in the proper location.)
 
5:31 PM
@DLosc I think so
 
5:42 PM
LDQ: should "contains" and "count" be one and the same?
 
@graffe Successfully ported in 77 bytes
 
5:55 PM
61 bytes by making it less Haskell and more Python
Or 58 bytes to sort it in descending order
 
@Seggan as long as posints are truthy and 0 is falsy, yes of course :P
though i suppose that means you cant [a, b].index(x contains y) since youd get values other than 0 and 1
 
the one problem i can think of is it hanging on inf lists
 
special case it? lol
 
thats equivalent to the halting problem :P
i have no idea which lists are infinite
 
you should probably change it so you do know what's infinite and what's finite
at least, what's known infinite
 
6:32 PM
@DLosc very nice!
 
6:54 PM
@DLosc ->reduce(i:=(l,x)->l>[x]and l[:1]+i(l[1:],x)or[x]+l,_,[]) for 57 bytes with --target 38 (won't work on TIO because it's too old)
 
0
Q: All permutations of range from \$1\$ to \$n\$

AdamGiven a positive input \$n\$, output all permutations of either \$\{0,1,\ldots,n\}\$ or \$\{1,2,\ldots,n\}\$. Examples Outputting permutations of \$\{1,2,\ldots,n\}\$. Input Output 1 [(1)] 2 [(1, 2), (2, 1)] 4 [(1, 2, 3, 4), (1, 2, 4, 3), (1, 3, 2, 4), (1, 3, 4, 2), (1, 4, 2, 3), (1, ...

 
@Steffan Yeah, I thought about that. Never got around to trying it somewhere other than TIO
@Seggan That's going to be true for both contains and count anyway, unless you have a version that assumes the list is sorted (which is probably good to have as well, but doesn't work for unsorted lists). --At least, contains on an inf list hangs instead of returning falsey. I suppose it could return truthy in a finite amount of time.
 
7:13 PM
@DLosc really dumb idea: contains assume false, but keeps searching in the background. if it eventually locates the item, it backtracks. anything printed in the time since gets deleted with the funny del character
 
7:26 PM
@DLosc no, contains will stop when it finds an item in an inf list, count wont
o apparently mathematica is included on the pi
 
Yeah I noticed that
It's nice to have it for free lol
@Seggan possibly just have one as a digraph and the other not
 
7:59 PM
Has anyone here got a pi with Mathematica on it?
Is it a full version?
What stops you running the OS in a virtual machine on your desktop?
 
@graffe As far as I can tell, yes
 
@Zionmyceliaadamancy hmm
It's about 1000 pounds Norma
 
@graffe me
 
So why can't you get it for free on your desktop in a virtual machine?
@Seggan does it work well?
 
never tried
 
8:22 PM
@DLosc the query tool for the first SQL database I used turned autocommit off by default, so you learned to use commit and rollback, but most of the other query tools I've seen turn autocommit on, making people lazy.
 
8:39 PM
@Seggan As neat as it would be, no if you have infinite lists
You should see how Husk does things though, many boolean-y functions have meaningful return values that aren't just 0 or 1
Actually nvm Husk doesn't do anything particularly out of the ordinary for a golflang
 
8:54 PM
@graffe also never tried
 
@thejonymyster You've just invented speculative execution at a higher level :p
@NumberBasher I vote yes (if this hasn't already been decided)
 
9:20 PM
@NoHaxJustRadvylf ive always considered myself to be on the cutting edge of computer science...
 
In practice it probably wouldn't be a super great option since you'd continue iterating through an infinite list forever, you'd just do it in the background. Which means the program still has to run forever (how do you know it won't be found after the rest of the program finishes), and if you contains in a loop enough times things would start getting incredibly slow
 
Any LYAL today?
@thejonymyster I'm ashamed to say I was tempted to do a "your face is on the cutting edge of computer science" here.
 
@AviFS Yeowch!
 
@thejonymyster I'm so sorry, I'm a good person, I swear!
 
Its ok it is just painful and hurting and ouching
@NoHaxJustRadvylf just dont do that then
 
9:26 PM
Please accept my sincerest apologies.
@thejonymyster I ouch too, sometimes.
@NoHaxJustRadvylf Radcat, what about Trianguish LYAL?
 
Oh, was it nominated already?
 
¯\_(ツ)_/¯ but we don't have much time
 
@NoHaxJustRadvylf Oh, sh*************t.
 
:(
 
9:31 PM
Trianguish is a work of art that only Radvylf understands
 
Dw, I'm aiming for LotM instead
If it was a LYAL I don't think we'd have time to properly anguish together
 
oh no
 
Damn, I actually started it. I clicked "add an answer" and it populated with it. Which is kinda crazy since it was about a week ago.
 
@thejonymyster Would be cool to have a language where you undo everything
 
stack cats
 
9:37 PM
Bonus points if it messes with user input in a really cursed way
Yeah, stack cats but you can choose when to reverse an effect
Haskell
 
Feel free to ask me to edit! But don't feel free to not upvote immediately:
0
A: Language nominations for the "Learn You a Lang for Great Good" chat event

AviFSTrianguish Made by CGCC's very own Radvylf, active CGCC member and RO of TNB. Here's what he has to say: Trianguish is my newest language, a cellular automaton sort of thing which uses a triangular grid of "ops" (short for "operators"). It features self-modification, a default max int size of 21...

 
LotM nomination:
0
A: Nominations for Language of the Month, Take 2

NoHaxJustRadvylfTrianguish Trianguish is my newest language, a cellular automaton sort of thing which uses a triangular grid of "ops" (short for "operators"). It features self-modification, a default max int size of 216, and an interpreter which, in my opinion, is the coolest thing I've ever created (taking over...

 
@NoHaxJustRadvylf 🎉🎉🎉🎉🎉🎉
 
2
A: Language nominations for the "Learn You a Lang for Great Good" chat event

AviFSTrianguish Made by CGCC's very own Radvylf, active CGCC member and TNB room owner. Here's what he has to say: Trianguish is my newest language, a cellular automaton sort of thing which uses a triangular grid of "ops" (short for "operators"). It features self-modification, a default max int size ...

 
9:52 PM
0
A: Nominations for Language of the Month, Take 2

NoHaxJustRadvylfTrianguish Trianguish is my newest language, a cellular automaton sort of thing which uses a triangular grid of "ops" (short for "operators"). It features self-modification, a default max int size of 216, and an interpreter which, in my opinion, is the coolest thing I've ever created (taking over...

 
@graffe Yes. I'm pretty sure you can't run RPi OS on a virtual machine - it requires the ARM architecture in the RPi.
The point is not that you get it for free, it's that you get it for free if you buy an RPi :P
 
@NoHaxJustRadvylf what is a SLOC
nvm i googled it i am dumb
but also wow!
 
 
1 hour later…
11:10 PM
@Seggan ... I think that's what I said (very possible I'm missing something, tho)
 
> At least, contains on an inf list hangs instead of returning falsey. I suppose it could return truthy in a finite amount of time.
so yeah that is what you said
and ofc without a sorting assumption it's not terribly useful either way since it does hang instead of returning false :P
 
@AviFS Coconut, although there was never an official announcement and there hasn't been a lot of activity.
 
11:42 PM
@user 18 bytes if you don't mind returning True for 0 factorial: f=->_<1or _*f(_-1)
 

« first day (4218 days earlier)      last day (41 days later) »