« first day (4359 days earlier)      last day (482 days later) » 

1:26 AM
@cairdcoinheringaahing Hey didn't you have a Jelly fork? Is that still maintained? Do many people use it?
 
Caird only uses it when it's better than Jelly, which is quite rare. I believe they were planning to continue working on Jam at some point
 
 
2 hours later…
 
7 hours later…
9:55 AM
wow, for once my accidental windows update reboot didn't lose my place in chat
 
10:14 AM
lol
 
 
2 hours later…
12:13 PM
@WheatWizard Yes, technically yes, and not really
 
the last commit to Jam was an unripe avocado. That doesn't seem like the best thing to be adding to jam.
 
Tbh, all my Lang dev has been on the severe back burner for the last couple of years
 
wait no it's not unripe, it's moldy as hell
 
Hello
 
See? Caird commited a 8ad (ava)cada :p
 
12:18 PM
Which hat leaderboard?
 
the code golf stack exchange winter bash hat leaderboard
 
I can't find it
if there is any
 
I'm #19th
At least I'm on the front page
Wait a minute I'm tied with DLosc
Increases my suspicions that I'm their sock
 
1:13 PM
and that finishes Winter Bash 2022
@lyxal I'm coming for first next year
 
but can you loop until a loop is loopable?
 
I sure can
 
and can you R Dyadic link function?
 
I don't know, can you unpack a recursively nested self-referential Sondheim calculus matrix?
 
1:16 PM
NO bugs, NO vulnerabilities, probably no optimization either cause it feeds on dyadic links :p
 
kandi has reviewed jellylanguage and discovered the below as its top functions. This is intended to give you an instant insight into jellylanguage implemented functionality, and help decide if they suit your requirements.

    Perform a monadic chain
        R dyadic link function
        Return a list of links
        Calculate the depth of a link
    Synthesize a chain
    Parse a literal
        Decompress a string
        Generate an integer from a list of digits
    Convert an integer to a base
> Convert an integer to a base
 
me and the boys splitting arrays around needles and computing json hashes
 
not from another base, it converts the integer to the actual base used
 
reminds me of this :p
although he did make a good point about tell exchangenoob stackotherwise
 
1:45 PM
okay so
has anyone here ever heard of Kano?
 
isn't that like some sort of todo board organisation system
 
no, it is (or was) a computer company
I'm not sure if they're still in business, but one of the things they made was the "Kano Computer Kit", which was a Raspberry Pi with a case and a few other doodads, including a custom OS
the OS in question was kinda supposed to be a gamification of Linux, and included a piece of software which I believe was just called "Story Mode"
it was a game, which I remember fondly, that was based around your player exploring the Raspberry Pi's circuit board, but like the components on the board were physical locations
like the power light was a lighthouse near the edge of the map
it was a really clever idea, but the OS project seems to be dead
so I've been toying with the idea of remaking this game
but it'd be a lot of work and I've already got projects I'm working on (Klein, Complement)
 
big_boy = int("9"*3234)
big_boy *= big_boy * big_boy
big_boy += 21
small_boy = -big_boy
Actual code I've written
 
._.
 
class Bruh(Exception):
    def __init__(self, msg):
        print("I can't believe you've done this...")
 
1:51 PM
what the fuf
 
@lyxal what the hell is that website
which is right in the uncanny valley for me
 
okay, I have found the latest (and last I think) version of Kanux
it's a 1.8GB zipped image file, so I can't download it right now
 
@Ginger 2018 was when I really didn't know how to make good esolangs
 
lol
 
@pxeger ...
cringe
 
2:22 PM
clearly we need to send a delegation to this event :p
 
Fun fact: I read a blog from a certain tech company, and it featured xkcds.
I didn't know they were that famous.
 
I think it'd be fair to say that xkcd is the [Big Shot] of geek webcomics
 
2:55 PM
XKCD's are very mainstream
and have been for a while
 
ok I just did some research and the Paper Swap "storage device" is technically possible for me to do
it is not a good idea but it is possible
for this I will use nbdkit, which according to its docs is "a toolkit for creating NBD servers from “unconventional� sources"
sounds good to me :p
I'm kinda an “unconventional� person if you know what I mean
 
3:13 PM
 
@pxeger I know, that's what I meant by "research" :p
 
3:31 PM
Hi
@lyxal I actually tried that and the result is this:
ok it's too long
 
4:12 PM
0
A: Sandbox for Proposed Challenges

JacobCalculate the McCombination In 2002, McDonald's advertised a McChoice menu of 8 items, labelled with "40,312 combinations." However, this number is far greater than the actual number of combinations (255; 2^8=256, minus 1 for empty meal). What the McDonald's marketing team calculated was how many...

 
4:35 PM
Hello, I'm working on a new language that isn't designed for code golf per se, but when it is done it would be quite good for a language that only uses symbol operators (e.g. golfscript/k/etc). It's lazy and vectorized and has no functions but remains succinct because of a technique cool called circular programming.
I would be really interested in feedback as it is still in early stages and I feel like people in this chat know APL/K really well (of which I do not). Currently I am trying to decide on the default vectorization level to use, and started a google group for discussing that (or any issue).
If you want to try it I would use it from this commit since I changed default vectorization level and haven't updated documentation after that yet: github.com/darrenks/atlas/commit/…
And here is google group if interested in discussing: groups.google.com/g/atlas-lang. I'll also read comments here if you have quick thoughts. Thanks! Oh also if you know a place that this would be up their alley feel free to point me in that direction too.
 
hmmmmm
@DarrenSmith well, you've come to the right place :p
 
4:51 PM
Cool!
 
@DarrenSmith You may want to read up on "vectorisation" at APL Wiki.
Also, if you want (even) more people knowing APL/K, check out their dedicated chat rooms:
 
0
A: Sandbox for Proposed Challenges

GingerRotate an Image code-golf image-processing This challenge is simple: Take a path to an png image file as input and overwrite that file with a copy of itself rotated 90 degrees clockwise. You may assume that the file has dimensions of 128x128 pixels. Examples Input: Output: This is code-golf, so...

 
5:22 PM
0
A: Sandbox for Proposed Challenges

mathcatIs it a Shift matrix? A Shift matrix is a binary matrix with ones only on one superdiagonal or subdiagonal, and zeros elsewhere. A superdiagonal/subdiagonal is a diagonal parallel to the main diagonal, which is not the main diagonal. The main diagonal is defined to be all entries \$a_{ij}\$ where...

 
Combo time!
 
5:35 PM
@SandboxPosts has 91 rep. Wonder where they got it from
 
@DarrenSmith We also have a dedicated room for esolang development, The Tarpit, although it's frozen at the moment.
 
9
A: xkcd 2385 KoTH (Final Exam)

Sandbox PostsThe Root of the Problem The title is a pun...this bot just finds the geometric mean of the previous round, and returns that. { name: "The Root of the Problem", run(scores) { return scores.reduce((p, s) => p * s, 1) ** (1 / scores.length) } } I am a bot. This answer was posted by a real p...

 
Ah
At first sight I read it as "xkcd 2038" KoTH (Final Exam)
I wish SE chat oneboxed xkcds
 
5:52 PM
it does
 
@DarrenSmith I looked through the GitHub readme and this seems really cool!
 
6:08 PM
I just wrote the sed program s/\\n/\n/g :/
 
Thanks DLosc
I'll check out those chats as well @Adám
 
6:48 PM
0
A: Sandbox for Proposed Challenges

Bob thASCII Values Quine Write a program consisting of only valid ASCII characters that prints out a sequence of integer values corresponding to the ASCII characters in the source code. For example, the program: print("Hello, World!") has a valid corresponding integer sequence of: 112 114 105 110 116...

 
7:19 PM
Can anyone answer ceilingcat's question about how to use f128 on TIO or ATO?
 
 
2 hours later…
9:17 PM
hello!
 
 
1 hour later…
10:46 PM
> jellylanguage is a Python library typically used in Artificial Intelligence, Natural Language Processing applications
 
LDQ: Opinions on ++ and --?
My opinion is they should exist but be postfix-only
Removes a lot of the ambiguity, while keeping what are (IMO) useful and elegant operators
 
@RadvylfPrograms this
 
Standalone x++ can be replaced with x+=1. Using the return value of x++ (assuming "return the original value before increment") is simply too confusing.
 
using x+=1 instead of x++ is something i miss in rust and abhor in python
 
11:01 PM
++ is elegant
 
Also I think modern constructs have eliminated lots of use cases of x++ anyway
like range, enumerate, etc
 
there are cases where you increment something other than a loop variable but it definitely doesn't need as privileged a position in modern languages
i still like having ++ but it can definitely go both ways
 
11:19 PM
and existence of ++ allows expressions like i=i++ which is outright UB in C/C++
 
@RadvylfPrograms I definitely against. It is ad-hoc syntax when no such ad-hoc syntax is needed (x+=1).
 
Yeah but i += 1 plays weird with operator precedence and doesn't return as useful of a value
 
> Using the return value of x++ (assuming "return the original value before increment") is simply too confusing.
 
How's it confusing?
It's what the operator does
 
How do you use its return value in your code?
 
11:29 PM
All the time. Incrementing a value after doing some sort of operation is fairly common, especially when you're writing code with loops (which I really love. imperative is so underrated), and doing it all at once feels really nice
Quite often in that situation you'll have initialized a value to something you actually want to use, not use after having incremented it
 
Whenever I see it in a larger expression like for(;x-->0;), I have to stop and think for a minute
 
as elegant as the return can be i think this also is a good indicator of some of the problems with imperative :P
 
And in C-style for loops, which I really like, it makes things much more compact
 
where you have the choice elegance should be reserved for functional stuff
 
@RadvylfPrograms Please no, one reason I hate C/C++ is precisely that
 
11:31 PM
No I don't mean cursed C-style for loops, just regular ones where you have ; i++ at the end
i = 0; i < end; i++ will always be better than i in range(end) fight me :p
 
for i in 0..end wins for me
 
With some parens around that I think I agree
 
if you're iterating over a range... iterate over a range
 
I prefer over to in tbh
 
11:33 PM
I absolutely hate if/for/whatevers without parentheses around the condition
 
Because i runs over the range
 
also: try to write for i in 0..=i16::MAX in C
 
no not that
 
@RadvylfPrograms limiting ourselves to only ++ and — are cowardly. Let me use >>>> to rshift 1. heck, %% can be equivalent to fract(I)
 
11:34 PM
lol
 
Take an infix op, and repeat it for an implicit right argument of 1
** becomes a no-op, as does ****
 
@cairdcoinheringaahing "for every item i over [list/range]" sounds really unnatural to me
 
Cursed idea: for (i = start) in end with end being implicitly cast to a range :p
 
But seriously, if condition { ... } just feels like it's missing something. The parentheses just add so much structure and clarity
 
11:36 PM
they really don't
 
Just do i = start; label i: block; i = start + 1; goto i
 
Especially in languages that allow them to be used as expressions
Parsing 1 + if x == 2 { 4 } else { 8 } * 3 is just blegh
 
if anything the parens in that case should be around the whole thing :P
 
@RadvylfPrograms smh, just do if x==2 {13} else {15}
 
IMO C-style ternary is an absolute must-have, it removes so much unnecessary verbosity
 
11:37 PM
-like 10 bytes, ez
 
@RadvylfPrograms can you not wrap it in a parenthetical anyway?
 
@RadvylfPrograms I'm fairly sure this is just bias from using so many langs that have this syntax, but still
 
Tbh, I've never liked in-line if statements, especially in languages that have ?: ternary statements
 
@RadvylfPrograms not Lua style jank ternaries? cond and truthy or falsely
 
?: Ternary needs its own level of precedence. if ... expressions don't
 
11:40 PM
@ATaco Sure, unless it's something like a for ... in, but that doesn't help with reading other people's code or keep my code from having weird nonstandard syntax
 
i like having if statements and ternary expressions as the same thing but i don't like how if statements look as inline ternaries :P
 
@Bubbler Why's that an issue
It's not like "number of levels of precedence" is some huge performance bottleneck or implementation headache, otherwise we'd all be using APL
 
Not exactly an issue but having 20 levels of precedence is not great :P
 
I think ternary kinda gets a pass though, I only start getting annoyed with things like prefixed await and new
 
and chained ?: can be ambiguous points at PHP
 
11:41 PM
Don't forget about JS
 
Yeah ?: being ambiguous with a lot of other really nice syntax features is its only downside
 
PHP, by itself, isn't ambiguous. It's only because there's other conventions
 
and expressions that can be read in multiple ways is a burden to a programmer
 
I think ?: can lead to really cluttered code. The moment you’re using a ternary in a ternary it’s already too late
 
Yeah but people will always find ways to clutter their code
?: can be a great tool for de-cluttering too
An infinite sea of if-elses isn't great either
Especially when the ternary would be in the middle of a statement so you need repeated code or a temporary variable
 
11:45 PM
I think that once ?: is decluttering your code there is a definitely already a failure.
 
nah ternaries have very valid use cases
 
If your code is so cluttered that something like ?: can make it clearer, there is a problem.
 
@RadvylfPrograms You're right, In order to prevent cluttered code, my next language will not support code.
 
Sometimes that problem is at the language design level.
 
11:46 PM
@WheatWizard I'm writing a terrain generator right now and there's allll sorts of branching that needs to be done for various possibilities. Using a full if/else for every ternary I have would like, double my code size. That's clutter, but I'd consider the code pretty clean for what it does.
 
Surely after a certain amount of if/else, a switch statement or dictionary should be considered?
 
@RadvylfPrograms I guess you're so much used to golfed code that you think anything verbose is bad :P
 
@ATaco No else-ifs, just a ton of choosing between two items
 
(Even the dreaded Javascript upside down switch)
 
some sequential if-else chains aren't logically matches but yeah a situation like that should be given its own "space" anyways
 
11:47 PM
@ATaco Upside down switch?
 
@Bubbler No, but verbosity is only good when it improves readability, and using five lines of code to choose between two numbers is the opposite of that
 
```
switch(true){
case (a > b): do something
case (a == 3): do something else
case (b == 3): Or this
default: Or this
```
 
@RadvylfPrograms I'm not saying that if/else is much better, it's basically the same thing. If the language is funneling you into a place where you have to have nests like this with no option for abstractionthen it's a failure.
 
@RadvylfPrograms for(i in end) /s
 
@ATaco oh. That's definitely some of the code ever written
 
11:49 PM
@ATaco break bruh
 
My brother in christ the code literally says do something
 
@WheatWizard What exactly am I supposed to abstract out of my code, everything's doing different things
 
@RadvylfPrograms What's wrong with let x = if cond { 2 } else { 3 }; on a line?
 
@RadvylfPrograms I can't see your code.
 
@Bubbler It's the same code except someone sat on it, no improvement
 
11:50 PM
I think I prefer two lines.
```
let x = if cond {2}
else {3}
```
 
It's only 10 bytes longer than let x = cond ? 2 : 3;
and likely it won't overflow your line width solely because of that
 
@RadvylfPrograms i think having the option to elegantly make it five lines is good
 
@WheatWizard It's more of a rhetorical question, I'm just saying that abstraction doesn't solve most real world problems
 
[2, 3][cond]
 
because the conditions and results may become more complex in the future
 
11:51 PM
That's not how ternaries work
 
@UnrelatedString Who's saying the option to use if/else shouldn't exist
 
@lyxal TypeError
 
I'm just saying ternary should
@lyxal I've been forced to do that more than once
 
@cairdcoinheringaahing Hmmstve
 
cond
?
2
:
3
 
11:51 PM
@lyxal Honestly cosnidering it as the legitimate ternary syntax for an upcoming language
 
eval("52 3".sub(cond*2, 2))
 
@Bubbler no
 
@RadvylfPrograms Well this is practical advice. Most cure-alls don't work, a solution has to be deeply rooted in the problem itself.
 
And if the problem is "I've got to choose between two values over and over again in wildly different contexts", making choosing between two values shorter is a pretty good solution
 
@RadvylfPrograms yeah unironically that's not a bad idea
 
11:54 PM
One disadvantage is no implicit bool casting tho
Which even in statically typed langs I'm a fan of
 
@lyxal yes
@RadvylfPrograms That's... a very specific use case of a language
 
@RadvylfPrograms This is a poor way to frame the problem.
 
also having two syntaxes for literally the same thing isn't great
 
Sure, but "choosing between two values" is a pretty general thing to want to do
 
@Bubbler I didn't mean rust
 
11:55 PM
I did
 
@Bubbler IMO ternary for expressions and if/else for statements is a pretty big difference
 
@Bubbler ok
 
It's important to note that executing only half of it is as important as choosing between half of it.
 
@RadvylfPrograms It's in some ways general, but in some ways specific. You've set up a framing of the problem that admits only one solution. That does not mean that the problem has only one solution.
 
Nothing obtuse about that syntax, right?
 
11:57 PM
@ makes something lazy?
or is it a lambda
 
A lambda in this case.
 
That's... certainly a design choice
 
@WheatWizard Yeah, and it's a framing that can be really convenient when you have a compact way to choose between two values
 
@RadvylfPrograms You are just repeating the framing?
It really seems that you have decided what the solution must be and are building the problem to make the solution work.
 

« first day (4359 days earlier)      last day (482 days later) »