12:00 AM
@orlp He's better than me for sure :D But yeah, I want to see some real runs again. Except that I need to sleep

Lemme get busy then

all you really need to do is move it to the STDLIB folder and add STDLIB.Item("Rational") to stdlib.es6

@quartata does it add any items?

@ThreeFx lol the chat

Now for the donation incentive.... ResidentSleeper

12:03 AM
LOL
THERE'S MORE

Invis run. Even more boring

I wanted bethesda
not fucking two hours of this garbage
@ThreeFx I don't even think this guy is good enough to complete 1 of these levels without the game holding his hand by giving him a checkpoint every 5 meters

@MᴀʀsUʟᴛᴏʀ pls halp chedr lambda parsing is borked

@orlp Finally.

holy

12:08 AM
I swear if I hear that motor one more time

PRAISE THE LOARD
NINETY MINUTES?!

@Downgoat My origin/feature-stdlib doesn't seem to want to merge from your upstream/feature-stdlib, would you know why?

@LegionMammal978 conflicts?
add -X theirs

@Downgoat How to resolve them?

1 min ago, by Downgoat
add -X theirs

12:15 AM
@ThreeFx did you see braid earlier?

@Downgoat I don't understand what you mean by that

ohhh
do:

@orlp WHen was that? I was watching Germany lose the UEFA semi finals before I got here

@orlp NOOO
i wanted to watch that

it was a world record RTA

12:16 AM
@orlp what's going on why is chat resident sleeping

git fetch origin
get merge origin/develop -X theirs

@quartata we just had the most boring runner/game of all time

Because the previous "run" was just two dudes failing to play

1.5 hours of some stupid motor cross game that the guy wasn't even good at
it was a let's play more than a speedrun

@EᴀsᴛᴇʀʟʏIʀᴋ At first I thought you meant Braid :p

12:17 AM
@LegionMammal978 that's exactly what we meant

not sure who to feel worse for the runner or you

Oh, a speedrun?

@quartata well, since there were 100.000 of us...
@LegionMammal978 that's what all this is about, gamesdonequick :)

so happy I missed that at any rate

bethesda block starts right now

12:19 AM
@orlp Was just watching the TGM and Trials blocks

Damn you schedule, I have to sleep before my lessons tomorrow

@Downgoat c = (k, r) => r.length ? c(Array(r.pop()).fill(k), r) : k works, but now I need to take the fill element from an array. halp

@ThreeFx screw sleep!
screw lessons!
games done quick!

@CᴏɴᴏʀO'Bʀɪᴇɴ wat
such golf very wat

@LegionMammal978 You too? You can see orlp and me complaining all the time in the transcript :D

12:20 AM
call as c(0, [rank array])
ooo wait

Can't you golf r.length to just r

no
I'm not golfing, and [] is truthy

@Downgoat So move the whole extension to develop?

yeah

@orlp I don't want to be the source for accidents tomorrow. But this run should be fine. I'm fineee :D

12:22 AM
@Downgoat You know what, this is getting too confusing, ima just copy the relevant files and nuke the fork from orbit

plzhalp XD

\o/ I just made it to a score of 50 for the first time in my SE life!

gaot is very confused

time for a force push?

@DrGreenEggsandIronMan \o/ \o/ \o/ \o/ \o/ \o/ :D :D :D congrats!!!

12:23 AM
@LegionMammal978 That is what I always do

@DrGreenEggsandIronMan gratz :D

@DrGreenEggsandIronMan I will give a full line of \o/s once you get 100

One of these days...

I could do this with regex... but that would be such awful coding

12:24 AM
oh my god no why

because I'm confused :/
and idk how to do this

cheddar> var a = (a,b) -> a + b
Symbol(MALFORMED_TOKEN)
>:| You're a malformed token!

What are you trying to do @CᴏɴᴏʀO'Bʀɪᴇɴ

Proud of c = (k, r) => r.length ? c(Array(r.pop()).fill(k), r) : k but unable to fill it with a custom array. I wish there was a "fit" function

12:26 AM
@quartata I'm trying to implement J's list type, given a rank and its contents. Like rank $contents I have rank$ 0, but not rank $contents @Downgoat I see that you've de-messified the branches @CᴏɴᴏʀO'Bʀɪᴇɴ What's the problem? @ThreeFx read @LegionMammal978 is that a compliment? if so thanks :) @Downgoat yw 12:28 AM tanks again @CᴏɴᴏʀO'Bʀɪᴇɴ So shape a list right? Doesnt sound so bad one second @quartata yeah, basically. that's what I've been doing on-and-off for the past hour btw @DrGreenEggsandIronMan oh my god that indentation we need to find him and restrain him 12:30 AM Sure the indentation is bad, but that design though! > 112 > Your number is odd! @CᴏɴᴏʀO'Bʀɪᴇɴ JS amuses me to this day: c([0], [2]) => [ [ 0 ], [ 0 ] ] c([0], [2,3]) => [ [ [ 0 ], [ 0 ], [ 0 ] ], [ [ 0 ], [ 0 ], [ 0 ] ] ] c([0], [2,3,4]) => [ [ [ [Object], [Object], [Object], [Object] ], [ [Object], [Object], [Object], [Object] ], [ [Object], [Object], [Object], [Object] ] ], [ [ [Object], [Object], [Object], [Object] ], [ [Object], [Object], [Object], [Object] ], [ [Object], [Object], [Object], [Object] ] ] ] @ThreeFx that's not a quirk of JS, that's a quirk of not displaying deeply nested objects, and for good reason. @CᴏɴᴏʀO'Bʀɪᴇɴ youtube.com/watch?v=_yF_IOHKbYw 12:32 AM imagine if you had an image array, filled with pixels. Would you rather see the first few elements, or the entire 232000 bloody elements? :P all Gimme all teh pixels @EᴀsᴛᴇʀʟʏIʀᴋ meeeeeeeeeeee hahaha @CᴏɴᴏʀO'Bʀɪᴇɴ new taunt, go buy it and become premium @Downgoat Is it possible to create object instances using the STDLIB? 12:33 AM @EᴀsᴛᴇʀʟʏIʀᴋ I don't have money :( @LegionMammal978 waddya mean? @CᴏɴᴏʀO'Bʀɪᴇɴ brb mailng$5

result = [[] * rankY] * rankX
\for[i]((0, |list|]) {
result[i // rankX][i % rankY] = list[i]
}
\return(result)

@CᴏɴᴏʀO'Bʀɪᴇɴ here: 💵💵💵💵💵💵💵💵

@Downgoat Like having Rational.create(num, den) that creates a non-primitive Rational instance
Or would Rational still have to be a primitive?

12:34 AM
yeah. Do something like:

@quartata is that the solution?
or just for two ranks

class Rational extends cheddar.class {
static Scope = new Map([
["create", new cheddar.func( .... ) ]
]);
}
@LegionMammal978 ^

Oh shit multiple ranks. Hurr.

12:36 AM
@Downgoat Which file would I put that in?

@LegionMammal978 wherever you defined the Rational class
so that would be
stdlib/ns/Rational.es6

@Downgoat As in, where in the folder structure
@Downgoat k
Actually, let's discuss this in the Cheddar room

Wait, what's this thing about ranks?

@El'endiaStarman implement j's $or apl's rho in js Number of dimensions in an array 12:38 AM IS A FUNCTION FOR GODSSAKE Symbol(MALFORMED_TOKEN) WTAF ^ me, all the time @ThreeFx But I don't know what either of those are. They shape a 1D list to a multi dimensional one @ThreeFx dude he's super good at picking up that scroll :O @Downgoat That splits optionals to an option with and without the optional part 12:43 AM let's find that guy and kill him for that indentation @LegionMammal978 eye twitches they fucked up tf2 :( @MᴀʀsUʟᴛᴏʀ so converts: YES! Finally! V Works again! 12:48 AM this.grammar(true, [[['a', 'b', 'c']]] ); into: this.grammar(true, ['a', 'b', 'c'], ['a', 'b'], ['a', 'c'], ['b', 'c'], ['a'], ['b'], ['c'] ); ? @CᴏɴᴏʀO'Bʀɪᴇɴ like wasm? @Downgoat Not this.grammar(true, ['a', 'b', 'c'], [])? @MᴀʀsUʟᴛᴏʀ oh ok yeah, duh idk anything about anything Ok guys I need sleep, cya tomorrow maybe! bai! func:reshape(array, dimensions){ \while(dimensions){ array = \chunk[\pop(dimensions)](array) } } @quartata: I think that's how you could do an n-dimensional array reshape in Pytek. 12:52 AM @El'endiaStarman is pytek kinda like ruby in the fact that you can have a code block associated with a function? i.e. foo.each { asdfadsf } I don't follow (yet). Is that like mapping? But that doesn't make sense for a code block. like you can add a code block e.g. { foo } and it's treated like a function. so foo { a } is like foo(function(){ a }) @El'endiaStarman that's how you do it? :| @CᴏɴᴏʀO'Bʀɪᴇɴ Well, lists, \chunk, and \pop haven't been implemented yet, but yeah. @El'endiaStarman Wait, no builtin chunking in subscript syntax? 12:56 AM @MᴀʀsUʟᴛᴏʀ Oh yeah, I had been planning on something like that. Notation hasn't been worked out yet though. whoever likes (a,b) -> a + b damn you because that is very difficult to parse @El'endiaStarman I really like pytek ._. I need to implement chunk @CᴏɴᴏʀO'Bʀɪᴇɴ ^_^ @Downgoat for what lambda notation? is it OOP and does it have classes? 12:58 AM @orlp no in expressions what is it supposed to mean @CᴏɴᴏʀO'Bʀɪᴇɴ Pytek? It'll be like Python in that regard. Not strictly necessary, but the tools and features will be there. cool Speaking of which, I'm struggling with notation for methods of classes. Functions are supposed to start with a \, and I want to use dot notation for accessing attributes, which implies something like foo.\bar, which looks pretty funky. @El'endiaStarman maybe just do foo\bar it doesn't look that bad. or maybe switch to foo/bar so it looks like file path 1:02 AM @Downgoat The latter is division. foo\bar juuust might work. I just made an intricate, 20 minute Minecraft tutorial =_= @HelkaHomba ooh oh! I did that too one time YES YES YES \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ Cheddar functions work!!!!!!! I really should get minecraft. cheddar> var add = (a,b) -> { a + b } cheddar> add(1,2) 3 1:11 AM @Mego You there? THIS IS AMAZING brb throwing a party I wanna play with you guys on that server. @orlp really? for what @Downgoat Haha, for a minute there, I thought you were celebrating Helka's tutorial. I was like "Damn, I didn't realize you were that passionate about MC!" 1:13 AM :^) I am so fucking happy right now @orlp neat I made a couple mistakes (that are fixed during the video), and didn't have a script so it was a tad longer than it needed to be @DrGreenEggsandIronMan You should :) Though the server is fairly desolate recently afaik but oh well also, talking into a microphone for a video is super weird @DrGreenEggsandIronMan or we could try to convince Helka to make it an offline server ;) 1:17 AM @orlp Agreed. Speaking is hard >_< @Downgoat But then anyone could get on and masquerade as anyone else @HelkaHomba ok that is a good point maybe you could do (white|black)listing based on IP? idk if that's possible or a good idea Ehh. Minecraft is a good game worth the$30. Just buy it

Eww... Minecraft.

Does it ever go on sale? I'm so accustomed to steam sales that I expect everything to be -%85 eventually.

@DrGreenEggsandIronMan is there like a aw but instead of w, is b?
dab isn't working :/

1:25 AM
What would you expect that to do?

Oh in vim?

@Downgoat Nice job by the way :] Lambdas are an accomplishment

@HelkaHomba ^_^ thanks

You should just be able to do daw, it should work the same iirc
dab could be an acronym for bdaw. That's kinda golfy

@Doorknob basically I have my cursor on the last character of a line and I want to remote the previous two words including the one I have my cursor (basically: foo a where i have my cursor on top of a), so I try doing 2daw but that doesn't work and leaves the a there

1:27 AM
@DrGreenEggsandIronMan Not that I know of (though I only bought it once). Though it's actually $26.95 not$30 like I thought.

@Downgoat dv2b

@Doorknob Why v? Couldn't you just do d2b?

er, if it's just one character, dvb
@DrGreenEggsandIronMan That would leave the character under the cursor

Golfier: bD

Where [] is the cursor in foo bar [a], dvb leaves foo while db leaves foo a
@DrGreenEggsandIronMan Oh, that's better :P

1:30 AM
@Doorknob ah, ok. v was what I was looking for. thanks!

@Downgoat More information: :h o_v

Oh that's right. I remember now. If it's already character wise, it turns it to character wise inclusive.
@Doorknob I've asked you this several times before, but it's always been at the wrong time. So I'm gonna try again. What features do you think would make vim golfier?

Ability to work with numbers in a non-terrible way
Conditionals/loops without hackiness (macros/ex mode)

Like math functions or like counts?

Just numbers in general. Which makes sense, since vim is entirely string-based. :P
Oh, a shorter way to type :norm. :P

1:33 AM
<M-n> and <M-N> are :norm and :% norm respectively.

Shorter way to get verymagic/verynomagic regex?
@DrGreenEggsandIronMan What about :g/.../norm etc.?

Even better. :D magicness doesn't affect the length of a regex at all.
Also, adding the g flag takes 0 extra bytes, and trailing slashes are less common.
@Doorknob That's not done yet, but I'm planning on doing it literally within the hour.

Haha, okay

@Maltysen @CᴏɴᴏʀO'Bʀɪᴇɴ Mind testing the new Cheddar beta? I've made lambdas which is awesome but it's probably very very buggy.

will do

1:39 AM
And numbers are slightly better. They're implicitly stuffed into registers, so you don't have to do the whole yw@" shtick.
Another annoyance I've fixed is you can do a macro 'n' times without side affects while you're recording it.

Should an error be thrown if you supply too many arguments to a function?

In regular vim, qqfoobarq<n>@q does foobar one too many times. In V it's just <n><M-q>foobar<M-q>

@Downgoat yes

ok, good

>>> f = lambda a: 0
>>> f(3, 5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: <lambda>() takes 1 positional argument but 2 were given
<lambda>() takes 1 positional argument but 2 were given

1:43 AM
@DrGreenEggsandIronMan Ah, very nice. A hack I've used several times is i foobar <esc>0"qD <n> @q, but that's terrible :P

hello, does anyone remember the name of the language where it allows almost any syntax type?
at least it tries to parse it
it was an esolang I saw in an answer last year or something

@CameronAavik are you talking about foo?

many esolangs are like that
@CᴏɴᴏʀO'Bʀɪᴇɴ also: spy speed is increased to 320, from 300.

ik
lotsa stuff changed

1:45 AM
@CᴏɴᴏʀO'Bʀɪᴇɴ :D :D :D thanks

I don't think I am @Downgoat
it would allow syntaxes from javascript, ruby and other languages iirc

@Doorknob I've seen that, haha.

@CameronAavik no idea then

@CᴏɴᴏʀO'Bʀɪᴇɴ yeah

hmmm

1:47 AM
I'd like to add a "increment/decrement the current count" before an operator.

#define INCREMENTBYONEOPERATOR ++

Considering it's in python, I'm not sure how much affect that would have. :P

Ooh... Pyythonn...
What are you trying to do? I might be of some help :)

I'm writing a golfier version of vim.
@Doorknob oh yeah, recursive macros are way better. None of that qqqqq foobar @qq@q bullshit.

is there a version of "$@" that includes $0? I can't find anything...

1:58 AM
I'm leaving for a weeklong summer camp on saturday, will not be on at all during that time. Bye now, in case I can't say it tomorrow.

@EᴀsᴛᴇʀʟʏIʀᴋ BAI! Have fun!

thanks. :D

When do you get back?

@EᴀsᴛᴇʀʟʏIʀᴋ bai! (will there be goats at the camp?)

yes actually
@DrGreenEggsandIronMan sunday/saturday I think
but probably won't be on until next sunday

2:00 AM
@Downgoat No, only fancifully dressed cats.

@DrGreenEggsandIronMan lel
@Downgoat yes, a goat named "llama"

@EᴀsᴛᴇʀʟʏIʀᴋ WAIT WAT

literally

OMG THATS AWESOME

10 secs ago, by Eᴀsᴛᴇʀʟʏ Iʀᴋ
@Downgoat yes, a goat named "llama"
somebody named him llama, and the name stuck

2:01 AM
Optimizer?

@EᴀsᴛᴇʀʟʏIʀᴋ say hi to him/her from me

¯\_(ツ)_/¯
@Downgoat I will, thanks.
:D

10/10 best camp

Now for dinner (tacos without goat meat), bye!
>_> be back in 30min
@Downgoat ikr, zipline + goats

@EᴀsᴛᴇʀʟʏIʀᴋ i would love to see a goat go down a zipline and stay conscious
@EᴀsᴛᴇʀʟʏIʀᴋ bai again (+1 for no goat meat)

2:12 AM
@feersum is your name intentionally an anagram of sumfree?
or smurfee?

It's a derangement too
much cool

Is this syntax good for casting:
var number = 123;
number ::= String;
that casts number into a string
:: is casting operator

you can do number::String right

It's String::number
which is why idk if how i should do it

Hmmmm

2:20 AM
What's a good word for a not-quite programming language? Like only 0 or 1 can be output

@HelkaHomba esolang :P

@Downgoat no
use String(number)

alternative suggestion?

@orlp A) nah looks ugly B) can;t
String is class not function

2:23 AM
>>> int
<class 'int'>
>>> int("30")
30

@Downgoat Inside a class, it's static Scope = new Map(...), right?

@Downgoat A) disagree B) you can

@LegionMammal978 yeah

@Downgoat lel

@Downgoat How would that work in like printStr(myInt), printStr(myInt::String)?

2:26 AM
@HelkaHomba well print automatically casts but atm you do String::123 + "4" == "1234"

@Downgoat Oh. I'm just confused by the =

@Downgoat groovy does myInt as String

so does swift but foo as= String is just messed up

@Downgoat So it would be key-value pairs with the values being cheddar.funcs, correct?

Why would you ever want to reassign like that
I would always put it in a new variable

2:28 AM
@LegionMammal978 you're gonna need to wrap then in cheddar.var to make them variables
so cheddar.var(new cheddar.func( ... ))

new cheddar.func(...)?

replace the ... with the args

I thought the new wasn't required

it isn't? idk
wait no yeah it is

But apparently it is used that way

2:30 AM
cheddar.func is special
@LegionMammal978 wait wat where

@Downgoat src/stdlib/ns/Math/factor.es6 among others

it has new

@Downgoat That's what I meant

TIL openDNS is shit.

oh i thought you meant without the new

2:33 AM
@EᴀsᴛᴇʀʟʏIʀᴋ openDNS?

@Downgoat neither. I say the entire word

1

Given a list of strings, return that list of strings sorted by their "luck". A string's luck, as I completely just made up for the purpose of this challenge, is determined as so: The base luck for a string is 1. For each consecutive letter it shares with the word "lucky" (case insensitive), mu...

why would you call it openDNS if it's not even open

2:39 AM
^
Was just thinking that

2:59 AM
TIL PHP has Pytek-like functions e.g. \fopen( ... ) @El'endiaStarman