« first day (4409 days earlier)      last day (732 days later) » 

00:00
Bold to assume you can store everyname anywhere
* assuming all humans have names and they're representable in Unicode, which is of course not a great assumption, but still
15 November 2022
* assuming all humans have names and they're representable in Unicode, which is of course not a great assumption, but still
@Bubbler We're not there yet unles you round
Wait we're there already?
Yeah
UTC midnight go brr
00:01
lol
WOAHHHHH
I had no clue
midnight hiccup is a feature
No about the 8 billion
I've been midnight'd a few times so I know about that feature :p
I'm glad we're making progress toward being able to create an earthquake in Rhode Island
00:14
@ATaco OCaml uses that, and I find it extremely annoying
Well, OCaml doesn't use that for types, but it does for constructor declarations, and I can't imagine it'd be fun to use with types
@UnrelatedString MLs use postfix syntax for types, which is kinda like that
oh yeah
mls are wacky
It's an uncanny valley type thing
They're almost exactly what I want (a simple, eagerly evaluated, FP language), but then they go and do something weird like that
isn't there also some really wacky mutable reference system, at least in sml
idk about sml but in OCaml at least, local variables can't be mutable but record fields can be
00:26
So you have to do let x: int ref = ... and then dereference with ! or * or something
I'm currently taking a class where we're learning OCaml, but everyone hates it because the lecturer didn't do a great job of explaining it and most people are used to the imperative paradigm :(
Like, the first project should take even beginners to FP maybe a couple days to do, but people haven't finished it even after a week because our professor decided to start from the basics, teaching us the precedence of +, -, *, / in detail and then kinda just skimming over anonymous functions, higher order functions, records, etc.
y'all know how to write arithmetic expressions in conventional imperative languages? fuck you you're learning that again, have fun
00:49
just asked ANTLR to generate me a valid type definition for Rabbit, and it gave me avY8U < rLH6 , lkX3vdKq3X < f2Kcl > >
that is the exact output
That is valid tho right
Looks valid to me, what's wrong with it?
it is, I was just amused by it
oh, it also contains an unprintable character
It looks close enough to C++
lmao
presenting, the ideal function:
protected _e ( ZTwkGtB  e63P  ,
 lkzo8 <  uBI4H6FN <
        bUFI1usC1X7 <
        ⨱  >   , yYfzyHaEXI6
 >   , yv7vQEL         >   pPXqTD   )  -> never INDENT zbpSj          .
      YTo
 =
   ( "𗲘𡠳𧛏𥧅₾𗧯𭴌"        )      DEDENT
00:54
> never INDENT
We got a true Python golfer here
the generator doesn't do the fancy post-processing that I had to add so indentation worked
For cursedness points you should make it so that if INDENT shows up in the source code as an identifier it'll parse as indentation
Like how rSNBATWPL ignores any white-space identifier
So glad it's protected, wouldn't want to accidently override it.
NPM knows what's up
@ATaco yeah, what if it *gasp* didn't assign 𗲘𡠳𧛏𥧅₾𗧯𭴌 to zbpSj?!
00:58
> Did you mean rsnb awpl
yes I did in fact
why did google decide that's better than rsnbatwpl
Oh wow someone I don't know has mentioned rSNBATWPL on Reddit :o
(rSNBATWPL) 1 + white-space 2
3
hehehehehe
01:00
ಠ_ಠ
Don't even ask me what's going on here:
(rSNBATWPL) "ab("hi")d"
"hi"
Wait we completely forgot to do LOTM
Feb 4 at 2:42, by Razetime
do y'all mind if I give the LoTM to Arn
The problem is there's hardly any nominations left and they don't have much votes
01:08
We could just stop and if the nominations build up, then start again
01:40
We could also open the noms to more popular languages, or even repeats.
> public abstract override operator es84yzd8QaX
mm yes very good
01:53
@WheatWizard i like the idea of repeat lol
@Ginger Looks like my classmates' Java code lol
I've also been meaning to nominate Agda ...
Some of them somehow reverse indented their code
I should probably do that.
oh, but it gets better
protected SYTh extends e . Y7HpOzmd   ,
 Wtzu   implements HBlhHA8fK9
 .  CZFG   ,
 z25wyd   : INDENT main constructor a4W9RB3w5 (
 npkRWr < _ < Rri8I2cmB9  , Ya6d
 >
 >   _gNcupW
 , E < DeJx7F  >   g3
 )  : INDENT pass DEDENT   DEDENT
01:54
Like every bracket would be followed by a four space dedent
@RydwolfPrograms ಠ_ಠ
Someone found an unintended solution to one of the problems using Python while/else without knowing what while/else did and without knowing they were using it
I've also thought of nominating ATS, because I think its very interesting, but I don't know it very well so it doesn't seem like a great idea.
@RydwolfPrograms ...wow
02:06
@RydwolfPrograms Do you remember what code they wrote?
@WheatWizard Perhaps if you nominate it, someone who does know it might step up?
Alternatively, you could learn it so you can later teach us :P
02:20
me when internal default static override operator J
I'm afraid to ask what all that means
internal? default? static? operator J?
I told ANTLR to generate an interface method and that's what it gave me
Why is J an operator?
it's a random name
ANTLR can generate random input matching a grammar rule
@Ginger If your default is the kind of default Java has, I would recommend removing it from your language
So J is a valid operator name?
You can do 1 J 2?
02:23
default interface methods are just ones with a default implementation
@user yup, assuming 1's type has an operator J method
Yeah, I don't think it's a good idea to require a modifier for that
Your compiler should be able to tell the difference between a method with an implementaiton and a method without one
@Ginger ...why?
it's not compiled
@user why not? (that's a rhetorical question, don't bother answering :p)
@Ginger Interpreter, then
@Ginger Why do you need an operator named J?
Too late, answered already
lol
look, as I said J was a randomly generated name
Wait, are infix functions called operators in your language?
That would make more sense
02:25
yes lol
operator J()
operator J() { ... }
Your interpreter should be able to tell the difference between those two without requiring a default modifier
oh god
idk what your syntax is, that's just an example
I just told it to generate a main function and it gave me this:
main function T (  )  -> never  : INDENT main function s6 (
 ZR < xLybjmxqlG
 >   KIpNiJNB
 ,  zPre2q < rN2ZSHo  >   Vi7  )  : INDENT public class nwQ extends bAJ4wh7vA9 .
 FPG9YnQH6e0  ,
 fORXHiu   : INDENT pass DEDENT     private interface hX : INDENT private operator Lu (
 s3dytDh <
 uYuiO <
 gpB
 , jLgfE  >   , Lj_PV_8 <
 tqHrE  , FhiJgX  >   >   e
 )  -> nothing   DEDENT     DEDENT
 internal class GNd0PD1bn8 extends avtGUZ
 .  GqAd   implements ZHc .
 V0vFXaw   : INDENT protected abstract function j ( hdkJ9u0zdxJ  m7tBD5mX  , C < Hpgh8clwmb < LOZj < ⨱ >   >
Is internal the same as in Kotlin?
02:27
yo dawg, we heard you liked main functions so we put a main function inside your main function so you can main function while you main function
@user yes (probably)
@Ginger You shouldn't need an abstract modifier for functions either, since your interpreter can just look at it and tell if there's an implementation or not
@Ginger Nice
What is this mess ;-;
I'm not sure protected is useful, though. It's not used all that often in Java
@user sure, but it makes it more clear to me and I'm the person making the lang :b
it'd be nice to have something like private[SomeModule] to make it more granular
02:28
g2g
@Ginger Fair enough lol
questions will be answered tomorrow, bye now
@user I'm not sure anyone does know it. There aren't any ATS answers currently.
da hell is ATS??
God damn JS has be in the habit of ===
02:39
@WheatWizard Oh, that sucks
ATS (Applied Type System) is a programming language designed to unify programming with formal specification. ATS has support for combining theorem proving with practical programming through the use of advanced type systems. A past version of The Computer Language Benchmarks Game has demonstrated that the performance of ATS is comparable to that of the C and C++ programming languages. By using theorem proving and strict type checking, the compiler can detect and prove that its implemented functions are not susceptible to bugs such as division by zero, memory leaks, buffer overflow, and other...
A while back I had an idea for a programming language which was like C but with type safety to prevent common dumb errors, but type erasure to maintain the runtime properties and I explained it to a colleague said something like "Oh so like ATS?" which basically takes my little idea and turns it up to 11.
It's a pity the language seems to be abandoned
What makes you say that?
Wikipedia says the last release was 2 years ago
The code seems to have last been updated in 2020 too
 
2 hours later…
04:28
had to create a Java class called Node. Saved it as Node.js despite thinking "I need to not get confused with the javascript framework when naming this file"
04:58
0
Q: Sorting algorithm

Divyansh Veer singhI am trying to write a sorting algorithm. This is my code, I believe that if I can find out how many elements from a list is smaller than a given element then I can insert that element in that place so it has that many empty spaces to its left. BUt for some reason I am having trouble trying to fi...

Flag pls
05:13
@user ok flagged!
@user flag?
This doesn't seem like it's flag worthy
Vtc sure but not flag
@lyxal ok i vtc too!
@lyxal If you have privilege to VTC ig
I flagged with the Stack Overflow thing
It's been mod closed anyway
downvote it so I can vtd
@lyxal i mean it already has 2 downvote
05:25
Needs a 3rd
welp im one of the two downvoters so gotta wait ig
 
1 hour later…
06:31
is, certainly a flex.
07:14
@ATaco lol wow, there are so few questions with that tag...
 
4 hours later…
10:53
0
Q: I'm really cold and my heating is broken! Please write a rust or python program that will heat my laptop up

Blue7I'm working from home and the heat of my laptop on my lap is the only thing keeping me warm. I have a Dell G3 Laptop with an NVidia GEForce GTX CPU. I have tried writing a rust program with 5 threads that calculates and prints the Fibonacci sequence in an infinite unthrottled loop, but that only ...

Um ok that's a interesting new winning critera
huh, i don't think we've had temperature as a winning criteria before
I guess it's objective technically, the 30 minute deadline is a bit unfortunate though
11:19
@NewPosts interesting lol
11:57
@NewPosts huh
@RydwolfPrograms opinions on making regex part of Rabbit? (using the \...\ syntax)
@mousetail It isn't, in the same way "write the fastest code" isn't objective
12:20
@cairdcoinheringaahing He did specify the computer it would be tested on in a good amount of detail
Unless they test it with some kind of physical setup to objectively measure how much heat the laptop produced, it is not objective
Any processor has a heat sensor, but yes that should be specified
12:58
@lyxal maybe .collect() is sequence_ :P
That doesn't excuse the fact it's still a function with side-effects being lazy mapped over a collection
I've tried to lazy map things like print over collections enough times to know that you just don't :p
🌈monads🌈
clearly int stands for... uh... I/O and Number Type
5
that doesn't sound right
I thought int stood for Is Not To(be used)
all lowercase obviously
if you have a type for zero-bit integers with only one value, is that I'm Not Truthy
last year, it would have meant It's Norbin' Time, and anyone who used it would proceed to norb over anyone who touch the program
13:26
@Seggan okay, what if I made internal the default access modifier
should Rabbit have a Java-style module line?
14:03
me when the ANTLR examples don't work
0
Q: "Candy Crush" a string

FhuviGiven a non-empty string (or an integer if you prefer) composed exclusively of digits in the range [1-9], your task is to write a function (or a whole program) that applies a "Match-3 type of rule" from left to right and outputs the resulting string, like this : [parameter] "12223" -> [returned v...

14:48
@NewPosts It's very annoying that these isn't a way to check if x > 2 in a single byte in Jelly, given how much it comes up :/
can a mod unfreeze Japt
@cairdcoinheringaahing
thank you :o
15:15
I love how Kotlin's basically like "Build a Kotlin app in your favorite IDE! (as long as your favorite IDE is IntelliJ)"
how do you install Kotlin? who knows!
I finally found a direct download buried deep in the docs, with a giant warning at the top that says "YOU SHOULD USE INTELLIJ IDEA INSTEAD! [DOWNLOAD HERE]"
@Ginger Backslashes?
Absolutely no way
Nuh uh
oh, whoops
that was an accident
oh lol
phew
Wait how did you accidentally perform the herculean task of properly including backslashes in code formatting
don't ask, because I'll have to code-format the code-formatted backslashes
and I don't want to have another "This message has been edited 9 times"
nope
15:31
@Ginger What is .collect()?
@mousetail I think it's "30 minutes to make my laptop warm" not "you can only post an answer within 30 minutes"...at least...I hope it's that lol
15:45
@RydwolfPrograms Oh like that. I don't think anything past the first minute could conceivably make a difference though
16:02
@Ginger i dont like the concept of internal
as in the kotlin definition of internal
i like javas package-private
@Ginger wait really?
@user oh trust me, it is
lol tricking Rust into giving you invalid code is fun:
@Ginger as in package in java
LDQ: Should I include ++/-- in my language?
I'd probably only do the postfix ones
Disadvantages include ambiuguity with x + (+y)/x - (-y), and it possibly allowing for some slightly bad code
@RydwolfPrograms yes
(but personally, I increment things fairly often, having a shorthand for it is nice)
16:15
@Seggan yes
@Seggan at least the VSCode extension I'm using can
0
Q: How are there faster solutions to integer addition in Rust?

fredThe leetcode problem Sum of Two Integers reads Given two integers a and b, return the sum of the two integers without using the operators + and -. However, I did use the + operator and my solution was just a + b. My submission was slower than 10% of submissions and used more memory than 21% of ot...

me when off-topic
@Ginger imo yes
@NewPosts this may be on topic as
16:46
@Seggan but I'm not sure how useful it'd be
very
really? Rabbit modules are pretty obvious to the interpreter
@Seggan how exactly does it work in Java again?
0
Q: Is github.dev acceptable for fastest-code questions?

12944qwertyAre sites like github.dev acceptable for fastest-code questions? They do specify the specs and are free. What about gitpod, repl.it, and others?

@Ginger package seggan.whatever allows your class to be import seggan.whatever.TheClass
why's that useful again?
16:51
because you can set your package wherever you are in the file tree
uhhhhhh
17:10
@Seggan what'd you tell gradle init?
just... gradle init?
ah as in what it asks you?
use the kotlin dsl
erm i forgot the other qs
basic project? that's what I'm confused abt
screenshot?
Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4]
application
17:13
tried that and it generated like 3 source folders
Rol just seems to have src/main
whats the source folders names
one is app, I forgot the rest
common?
yeah do basic
aight
ok i just ran init for myself
.gradle can be gitignored, gradle is required for gradle to work
tbh a better way to generate the project would be through intellij
you dont have to configure gradle as much
17:19
CMQ coding question. I have to lists of number list1 and list2. I want to compute the sum of the distances of all points in list2 to their closest number in list 1. What is a clever way to do that in Python?
so each number in list2 should have one distance associated with it and it those that I am adding
two lists of numbers
17:58
I guess you would sort both lists then do it like the merge step in merge sort?
@Simd You can do it very efficiently with a btree but with less than a few thousand points normal is probably faster
I don't see how sorting would help at all
18:13
@mousetail that sounds interesting but I don't understand it.if they are sorted, start with the smallest number in list two and step through until you find the closest point in list one. Then carry on from there for the next point in list two
Where points are just numbers
Oops I thought points in 2 dimentions, yea then you could sort it for O(n)
@mousetail but I am not sure I would get it right
You only need to check which one of two numbers nearest is closest
Any help much appreciated
Actually it would be O(n log n) since you need to sort the list
18:16
@mousetail yes
@mousetail yep
18:29
Maybe you should do binary search to find the next closest number
18:39
No that would be slower
Depends I guess
18:51
LDQ: Should I have a metadata file for listing dependencies or have the interpreter/packager figure it out from imports?
IMO your imports should include all of the information necessary
It feels much cleaner that way IMO
And allows simple scripts to be distributed as single files, even if they have dependencies
Which is pogchamp and very yes
hm, how about something like import module >= 1.0 and < 2.0
or maybe import module where module >= 1.0 and <= 2.0
That'd work yeah. My envisioned syntax is import image_recognizer{2.2} or {2.2.*} or {2.2 - 2.4}
I don't like the curly brackets
maybe angle brackets?
import module<2.2-2.4>
nah
18:59
Using < could cause a tiny bit of confusion, since if you want to say 2.2.x for example, you need to do < 2.3 which feels weird
that's what carets are for
import module [^2.2.0]

« first day (4409 days earlier)      last day (732 days later) »