« first day (4139 days earlier)      last day (1001 days later) » 
00:00 - 08:0008:00 - 00:00

08:00
i have a feeling that that overload was made somewhat with challenges like that in mind :P
@UnrelatedString believe it or not it wasn't
I just thought it was useful lol
Never seen that challenge actually
lmao nice
frankly i can see that
There's already greatest common suffix, so why not join on that
also the wealth of string overloads vyxal has reminds me, i'm sort of thinking about how something similar could work in a golflang where strings are character lists
because i like character list strings in a conceptual-aesthetic way but one of the worst things about jelly is the only times math builtins aren't useless on strings are when they have bugged interactions with the character type just being python strings
08:08
so maybe one option could be to have overloads for lists that contain characters and may also contain integers, and have an operator for forcing that overload even if it is all integers
er, numbers in general
ofc having sensible overloads on the character level is also smart but there are only so many sensible character overloads lmao
This is why I wanted to create Velay
oh yeah i forgot about that lmao
I honestly think it could've been quite powerful
But I never had the time or motivation
the issue with my "string"-overload-forcer idea is you then need a sensible overload for that for anything that operates on characters or uniformly operates on lists, but maybe it could be a digraph prefix that just happens to correspond to a forced "string" overload for anything where that's sensible
And what if you have to divide a string into chunks of length N, where N is a input-dependent number that could be 1?
08:16
it would also not make sense in any conceivable way to apply to anything but an atom so yeah the digraph prefix idea makes sense
IMO the best thing to do is just have a string datatype
@emanresuA that would be a list builtin :)
with strings, though, you basically never want to vectorise into them
so all operations which vectorise non-list-operations on lists (e.g. +) can be overloaded for strings
my idea is vectorization "stops" at the level where it detects characters
unless it's something with a character overload but there'll probably be like four of those
some case manipulations and whatnot
The problem however is that most operations that you typically think of as being for strings, like replace or split, are also very useful on lists
08:23
exactly
and for any of those that aren't dedicated list builtins you want to be able to apply them to arbitrary lists some way or another anyways
though maybe i should actually look at some of the vyxal string overloads to see if there are any good ones that can't sensibly generalize to arbitrary lists
08:42
Have full list and vectorising versions of each lol /hj
yeah no that's actually a great idea
i was actually thinking of saying some string overloads could just be vectorizing versions of full-list list builtins but in the case of replace and split it's probably smarter to have some kind of depth inference thing
> This is why we now need to store the length together with the pointer, duplicating the amount of information stored by the system.
wait so the system already knows the number of items in an array? (in c/c++)
Really, I'd like a good statically-typed golfing language with something equivalent to typeclasses. I think that would solve some of these problems, because overloads and vectorisation are not really needed, because they're defined by the type system
Now might be a good time to tell you about my secret golfing language idea
honestly yeah
i do feel like heterogeneous lists are more useful than not for a golflang but it might be possible to cover most of the janky niche usecases with a mix of algebraic kinds of data types
@UnrelatedString I don't completely understand free monads, but Wheat Wizard seems to be putting them to good use for that kind of task
08:55
good point
c.f. hgl
i don't understand them at all 😎
@emanresuA there we go, the curtain is lifted
most of what i've seen ww use them for is just ragged/mixed/arbitrary depth lists of all the same "atomic" type of values but that's definitely way bigger than the question of mixed "atomic" values
ooh smart
thank you lol
honestly the main reason I gave up on that project (having rewritten it from fresh several times) is because it was such a pain to encode programs in
if you stripped away the variable-entropy / divmod encoding, and just used some variable subset of the 256 bytes, it would be much more usable
08:59
and adding anything would break a large proportion of existing answers so you'd want to get it right the first time
@pxeger Ooh
@UnrelatedString yeah, my idea was to have something akin to perl's -M flags, where each new "version" was added as a separate module
@pxeger Wow that's clever, and much simpler than Radvylf's thing
simpler
I'd definitely call it "fourth-generation"
is there a CS SE room? i cant find it
09:01
@pxeger finally actually read that right and that's not a bad idea
@emanresuA it's not really that simple, and it's a nightmare to write in
I think it doesn't go as far as Radvylf's idea to eleminate redundancy and I'm not sure how nilads will be handled, but cool!
it's still simpler :P
yeah lol
i think compressing a program into a picture makes 3 bytes into one pixel and i think that is sort of... unfair sometimes (even tho piet for example doesn't use all colors
Do you think we should change the scoring rubric?
09:03
Ofc not
ok, here's some entirely unfinished code: github.com/pxeger/newspeak
love the name
Yeah lol
It is gonna be a bit of a nightmare for any sorta recursive iteration
How does husk handle that?
with first order functions
@emanresuA I did have some ideas for that: all literals, digraphs, and grouped functions (which are mapped over or something), are just encoded as integer literals
then you only need one syntactic concept to encompass all of those
09:06
@emanresuA why
and you pretty much can't have invalid syntax (due to unclosed strings, unfilled groups, unpaired digraphs, etc)
I also thought about trying to write an "optimising compiler", but in reverse, so that you can't write things that are suboptimal like 1+1 (you'd have to write 2 instead)
i've been trying to think about something like that too
Was thinking about writing one of those for Vyxal
But it turns out it's way too complex a project to write on my own, especially in secret lol
It would pretty much substitute known patterns for shorter phrases
09:09
yeah lmao
@emanresuA this would be syntactically forbidding something that could be automatically golfed
I guess
@pxeger This community has shown time and time again that open-source is the way to go.
Yeah...
I just liked the idea of coming up out of nowhere and cutting jelly in half
But I don't think that was ever going to happen
lol
understandable
I think existing golflangs are quite close to optimal
oh hell no lmao
09:12
You could probably scrape 10-15% off existing golflangs
yeah
except something like this probably could do more in a systematic sort of way
Even Jelly has a vast amount of "programspace" wasted
It's interesting how golflangs have evolved.
TRULY vast
First gen: hey ho we're shorter than other langs
09:13
e.g., any program beginning with $
Second gen: Bruh, you don't need multichar builtin names
Third gen: Why stick to ASCII
you could absolutely beat jelly by some largeish percentage systematically by going half as far as this idea on cutting down on waste
any program containing an unparseable nilad is pretty much useless
Fourth gen: REDUNDANCY MUST DIE
unparseable nilads can be useful but the vast majority of possible programs containing them are totally pointless
09:15
^
I've seen people use them cleverly
i do feel like it's only ever one at a time though
maybe i've done two once
@UnrelatedString probably what flax will be?
making an allowance for useful unparseable nilads would probably waste a lot of entropy in a hypothetical efficient encoding though
@Razetime perhaps is sort of that but i'm talking more about if we did something like the idea pxeger just declassified
where you have exactly the functionality jelly has but syntactically forbid anything that doesn't make sense
@emanresuA fourth gen might have a split between "compressed" langs and ones that are more just refinements of third gen style
09:49
wish python had some functions like flatten, windows, chunks etc..
(builtin not libraries)
Hello!
@PyGamer0 are some of those in numpy?
i guess yeah
(all of them are in more_itertools)
I forgot about more_itertools
I am sad about the downvotes for my challenge
I think it's a good challenge!
And involves a little thought
I know one method that will work
YEAHSAIRHAEIH I DID IT
I MADE SOME SH*T ENCODING FOR ASCII
@pxeger wow, it's almost as if that's one of the key ideologies of my popularity blog post :p
@graffe which
-3
Q: Sample integers that sum to one hundred

graffeGiven a positive integer n, randomly output n non negative integers that sum to one hundred. n will be at most 200. The output should be present as a list of integers (not sorted). Your random sample should be uniformly sampled from all lists of n non negative integers that sum to one hundred. Yo...

it works compressing a test file by 12.455%:
https://dzaima.github.io/paste#07VN/T1JhFP7/foort/gh5L2kc/UyNrbAdDKDTbem1xUWIpvCgOvEIQtJSW2ZomE4nZoagWOlKZW1/jjnm7yfpHMDpk1bX6Dzx33Pued5n/ec5@w4nQ3r6fMN9ItdPV6P85IJ8pNoZCowbUqIocBEUIyOiuPh0aAQj2oBLchSyUfmpFWatkjTaZUJkWA4NDYSnYwnWCrO7KJiM5ulpOWW3eKoX5CZzIbiw656NBR3JIfTQmJygqWssskqJ9OCzs5SM7LZ7khajO1ih1NlBHBdULsINRnRwuMs9VhhBjWiRgyyQf@YDKJkcOkMKmEEWQsmNCE0Hn4ajDOzIlI9DkWk02En325ppjRb3bFpzGaU6n4zp9hMjaRJqb/qagAE51XlRK@n7w/1bt@xX@A8ffceuD3uqxpLvLALr3gxq2AVFqEieO/iMc76YUXQ4BvfmMNMP@wP8tz6GJbacBOyrbiCK1DDeZiHL2kCZ6Am4UtYa73Jc3k8a4Ut@O7DPcUNLwSoET/Bj/GA
@Nobody thank you if you upvoted!
@PyGamer0 i guess yall can use this compression for golfscript or k or something lol
10:13
TIL that the entropy of English is ~1 bit/cahr
10:49
CMQ: Will 4th gen golfing languages be strictly fractional bytes or will there still be a place for SBCS?
@lyxal what is
> SBCS?
Single byte character set
Basically what allows languages like vyxal, jelly and 05ab1e to have all their funny Unicode characters as 1 byte per character
SBCS, or Single Byte Character Set, is used to refer to character encodings that use exactly one byte for each graphic character. An SBCS can accommodate a maximum of 256 symbols, and is useful for scripts that do not have many symbols or accented letters such as the Latin, Greek and Cyrillic scripts used mainly for European languages. Examples of SBCS encodings include ISO/IEC 646, the various ISO 8859 encodings, and the various Microsoft/IBM code pages.The term SBCS is commonly contrasted against the terms DBCS (double-byte character set) and TBCS (triple-byte character set), as well as MBCS...
htreya
@Ginger thabks for the engrish very cool kayne
11:03
I needed a new greeting
pretty much
@lyxal and letters in that set would be 1 byte?
yes
@lyxal can i have say "frick" in my SBCS?
I don't think so about that
11:29
You'd need a rather complex encoding for that
Ooh, now I have a random idea: SBCS but words
2
YOu end up with a program
frick that thing it never is
gotta go the banker reads
pity this is never it
ahh, poem
@emanresuA .
@lyxal why
@emanresuA not a bad idea...
@PyGamer0 haha
ten range sum increment
@Nobody how is that funny?
idk do you have to have a why for humor
11:38
c h e e s e
wait what's that
@PyGamer0 .
Mar 29 at 20:55, by Radvylf Programs
user image
oh no
that means bad conncetion
@Nobody how
12:00
@Nobody You tend to post a lot of noisy messages like this which don't add anything to the chat. Please read through our chat guidelines (especially the section "don't make noise").
CMP: for inline comments: #{ }#, or #{ #}, or #{ }?
12:17
1st if } is otherwise used in the language. 3rd otherwise.
12:39
First , second is kinda odd
third
probably first
third
13:46
Whenever I see a cat in a gen z meme compilation I instantly think of @Ginger
can't believe my broken humour has been tainted infiltrated by TNB
oh that
nature of code
i used to watch the coding train
I think I watched his Java tutorials
i just watched his coding challenges
oh that mac.. we don't talk about that mac, not after the incident.
13:55
@PyGamer0 mmhm that's right
Apr 4 at 13:44, by mathcat
what have I done
btw i use ubunz
and i use winduz
Apr 4 at 14:11, by Radvylf Programs
Thank you for making me laugh in class as we discuss medical experimentation in the holocaust
14:26
val range = (start, end) ->
  start >= end ?
  [] :
  [start] + range(start + 1, end);
CMQ: How do I make ^ function tail recursive?
are you asking in the abstract sense, like how a compiler would do it?
no
how do i make the function tail recursive
so the compiler can optimize it?
what language? or is it pseudocode
that is pseudocode
@PyGamer0 Not sure what this language is but maybe something like
14:36
(looks like JS)
(i will implement it if yall want :P)
val range = (start, end, acc = []) => start >= end ? acc : range(start + 1, end, acc + [start])
ok cool
val _range = (start, end, accum) ->
  start >= end ?
  accum :
  _range(start + 1, end, accum + [start]);
val range = (start, end) -> _range(start, end, []);
i will call the pseudocode "Wellscripted" :P
Wellscripted (WS) will transpile to JS
Wellscripted will have the following features:
9 hours ago, by PyGamer0
language be like:
- macros like C
- simple like python
- functional like haskell
- object oriented like java
- pattern matching like scala
- typed like Typescript
- fast like k
- array oriented like APL
- popular like javascript
Oh god no
python is not simple
why on earth would you want macros like C
because yes
14:47
Literally the only thing on that list that would make sense is "functional like haskell" (and maybe "fast like k", I don't have experience with that)
"functional like haskell" but "typed like typescript" => "functional to the extent that JS is functional"
javascript is not popular
or just not make WS transpiled
just make it in C
WS will be compiled :p
oh and btw WS will not have loops :p
@user pretty sure k is faster than C++ (may be wrong)
@PyGamer0 you can write both slow and fast code in both languages
yeah
14:50
you can write both slow and fast code in any language
different langauges will have different upper bounds on performance, but it's pretty stupid to say "k is faster than C++"
I mean, when someone talks about speed, they're talking about how an average idiomatic k program would compare to its equivalent in C
especially when k and C++ are so different
Also depends on what domain they're used in ig
yeah, writing a control system for an aeroplane in k would probably not work as well as it would in C++
You can probably dip into assembly with both languages if you want to go all out
14:52
Wellscripted:
- fast (probably)
- easy to learn (maybe)
- object oriented
- functional
- array oriented
- compiled (or transpiled)
You might want to rethink object oriented + array oriented
Not that you couldn't make a language putting OOP, FP, and arrays together nicely, but it'd probably be hard
@user what is the problem with that?
I feel like array oriented languages mostly encourage you to keep your data as numbers in ndarrays, while object oriented languages have classes with named fields and stuff instead
in an array oriented language, where do objects fit in the scalar -> vector -> matrix hierarchy?
are they scalars?
i guess a better phrase will be "powerful array manupilation"
14:54
BQN does let you treat your objects as arrays iirc
@pxeger because in that case, arrays are not really first-class objects
@pxeger i guess yeah
how about having no loops for WS
:p
if you're doing a functional language, that's fine
i guess the main focus will be functional / array
loops are a pretty imperative construct
14:58
but the question is: how the fricko do i implement this
start with a lexer
then a parser
then a compiler to a simple bytecode, for now
then a simple bytecode interpreter
ok noted.
Depending on the features WS has, you could even transpile to a high level language until you feel confident enough to write a bytecode interpreter
I think a bytecode interpreter is not too complicated, and transpiling actually can be
a bytecode interpreter is no more complex than implementing a slightly more advanced version of brainfuck
Depends on the language
@pxeger Designing what your bytecode will look like and compiling to it is kinda complex though
15:01
stack-based bytecode is what I meant
I've written a transpiler to Java for a simple, Java-like language before and it was really easy, mainly because the language was already like Java
@pxeger so first i will figure out the grammar for WS
time to pull out the good old pen and paper
and i will also leave
o/
@pxeger cursed idea: Myxal can be the bytecode :P
You will hate yourself if you try that
Compiling to a golflang is a bad idea
that is why its a cursed idea :p
cursed idea 2: a computer in minecraft that runs vyxal
15:24
> flax is a Python library. flax has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can download it from GitHub.
> The latest version of flax is v0.1.4
that is outdated
> kandi has reviewed flax and discovered the below as its top functions. This is intended to give you an instant insight into flax implemented functionality, and help decide if they suit your requirements.

Tokenise a program into tokens .
Parse tokens .
evaluate a monadic chain
r Evaluate a dyadic chain .
Convert a string to a number .
Scans a list of links .
Fold a list of links .
Filter a list of links .
Calculate a function of a function .
indent a flax expression
indent a flax expression lmao
I wonder what language C is written in...
15:40
C refers to a language standard, so arguably, C is written in LaTeX
/Author(JTC 1/SC 22/WG 14)/Title(ISO/IEC 9899:2017)/Subject(Programming languages - C)/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.18)/Keywords()
what is the time between submitting a question and being able to add a bounty? Is it 72 hours?
> A bounty can be started on a question two days after the question was asked
is that 48 hours?
I just wanted some precision :)
I presume so
the message "Question eligible for bounty tomorrow" is not at all useful given that we could be in any time zone
15:50
does it give you a timestamp if you hover over it?
unless it means it means "we are currently in the first 24 hour period, after the second 24 hour period you will be able to add a bounty"
you just get "offer some of your bounty for better answers"
if I hover over it
StackExchange uses UTC for (almost?) everything
that's interesting! Are they any countries on UTC currently?
stackexchange is portuguese :)
have we had a challenge to count the number of ways that n non-negative integers can sum to an integer k?
I presume you mean unique non-negative integers?
because otherwise there are infinite
sorry I mean a list of n non negative integers a_1,...,a_n so that sum a_i = k
how many different such lists are there for fixed n and k
15:59
oh

 Wellscripted

A theoretical programming language.
yes i made a room
:)
mathematica has a built in for it I assume :)
That question's description is so barebones that I'm not completely sure, but I think it is
I think so
well found!
I am surprised no one has posted a built in solution to my challenge
or any solution at all!
 
1 hour later…
18:08
thxz
18:43
@graffe
Is this
valid for your challenge
not sure about the uniform distribution / brute force part
nvm it's definitely not
19:40
@graffe It does seem to be a dupe though
Actuall yno the zeroes
Is it possible to color output instead? (easily, at least)
it would be, with something like xterm.js, but it's not that simple, no
Aww, ok
20:25
0
Q: fastest matrix multiplication on x86

xiver77This challenge requires integration with C, so you can stop reading if you're not interested. Matrix multiplication is a simple operation, but the performance depends a lot on how efficiently the code is written. Let's compute m = x * y. The following code is the implementation of the textbook al...

20:49
Ooh carryless multiplication is really neat
CMC: A000695, the perfect squares with carryless multiplication
posted on May 30, 2022 by Moshi‭

Challenge It's a bootstrapping challenge this time! Write a full program that, once run, writes the source code of another program that in turn, once run, writes the source code for an...

@RadvylfPrograms Vyxal, 7 bytes
21:44
CMC: A014580, the carryless multiplication prime numbers
22:01
I've wrote functions to do carryless multiplication, division, modulo, factorization, exponentiation, and factorial, and it feels like I've been transported to some weird alternate universe where all the math stuff still works but the results are slightly different
22:31
Well today I think I found the worst thing
An infinite scroll dropdown menu for time zones
You see the first 20 or so time zone descriptions, then scroll down and wait a second for more to load, then 20 more, and so on
revenge on timezones for being so plentiful
22:49
@CodidactPosts This could be an interesting challenge, but I think most people will just post trivial quine modifications (me included)
I was gonna post kS in Vyxal
How would that work?
Oh I see
kS -> amogus character -> sus -> ???
kS -> ඞ -> sus -> large error -> sadly ⟨ 1 ⟩
Aww
I'm sure you could modify it to work though
23:43
@CodidactPosts RprogN 2, 6 bytes. «â€˜ .]
Grows exponentially
@emanresuA why does vyxal have an amogus meme ;-;
@emanresuA ... so what was the bug?
00:00 - 08:0008:00 - 00:00

« first day (4139 days earlier)      last day (1001 days later) »