10:00 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ did I make a mistake?

@quartata no, gross

@orlp `verb = modified_verb+` and `verb = '(' verb ')' / verb_part adverb_part?`

@CᴏɴᴏʀO'Bʀɪᴇɴ which rule is defined twice?

@quartata if this is for a cube, wouldn't it be width, height, depth?

beginning of two sections

10:00 PM
@NathanMerrill I was thinking a triangle

@CᴏɴᴏʀO'Bʀɪᴇɴ oops, that was old code

I was just trying to think of something random off the top of my head

I still think you'd make a sides tuple

@orlp which one? :P

or list

10:01 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ I edited

hmmm...if you had a line object

@NathanMerrill what if I need `(side1 ^ 2 + side2 ^2) / side3`?

I guess `number` is missing

@CᴏɴᴏʀO'Bʀɪᴇɴ then you need better names

10:01 PM
but that one is easy

@orlp yeah, other than that it looks good

because if I was calling your function, I don't know that side 1 and side 3 are different

@CᴏɴᴏʀO'Bʀɪᴇɴ ok, now to try it out

but your equation definitely treats them differently

@orlp okay

10:02 PM
when I write `verb1 verb2`, what does that mean?
e.g. `+ *`

@orlp without anything else?

@El'endiaStarman I know you like the mantra of "give the programmer as much power as you can" (which I don't), but I'm curious if you can give me a reason why disallowing numbers in variable names is a bad idea.

@CᴏɴᴏʀO'Bʀɪᴇɴ well, I assume that one case solves all?

@orlp well, alone it's a verb. I assume we're not applying the verb yet.

`(+ *) +` should just be the result of `(+ *)` combined with `+`, no?

10:04 PM
yes.

so, what happens when I combine two binary operators?

a ternary is born!

a new binary verb is created. it's the same thing as doing it regularly - `3 (+ *) 5 = 3 + * 5`

well, `3 + * 5` is meaningless to me
since that was the whole question
what is `+ *`

operators can be both binary or unary
`3 + * 5 = 3 + (* 5)`
in this case it uses the unary definition of `*`

10:07 PM
then what is the point of the whole verb combining?

it depends on the number of verbs combined
for example, `3 (- * +) 5 = (3 - 5) * (3 + 5)`

so what is the rule behind it?

and `- - * +` = `- (- * +)` which is just an application
@orlp Let `f, g, h` be verbs and `a, b` be numbers. Then, `a (f g h) b = (a f b) g (a h b)`

@CᴏɴᴏʀO'Bʀɪᴇɴ yeah, but what is the underlying rule
e.g. that explains to me what to do for 1, 2, 3, 10, 500 operators

okay
lemme look :P
`e` is also a verb: `e f g h means e (f g h)`
`d` is also a verb: `d e f g h means d e (f g h)`
and finally
```            even:  (a b c ...)    means   hook (a (b c ...))

odd :  (a b c ...)    means   fork (a b (c ...))```
where a, b, c... are verbs
oh wait forks and hooks
```           (f g h) y    =    (f y) g (h y)       monadic fork

x (f g h) y    =  (x f y) g (x h y)     dyadic  fork

(f g)   y    =       y  f (g y)       monadic hook

x (f g)   y    =       x  f (g y)       dyadic  hook```

10:18 PM
yeah this is a bit too much for me to quickly implement :P
that's nothing really to do with the parsing part though

Here's how I think you could parse this super easily. First have class `Verb` and subclasses `Hook` and `Fork`, which store their associated char and any arguments or adverbs, as well as class `Datum`.
Then take your line of code remove the whitespace and split/tokenize appropriately

@NathanMerrill Well, then you cant have `class graphics3d` and `class graphics2d`

Then, take your list of tokens and iterate through it.

@quartata the grammar I gave is correct I believe
the parsing is no longer the problem

10:24 PM
if the arity of the token is 0 create a new Datum out of it, place it in a list and note the index of it in another array. Otherwise create a verb and pace it in the list

the problem is now taking the parse and attaching behavior to it :)

@orlp Oh, nevernind then

okay

I'm on mobile anyways so I'm hppy I do not hve to type this all out

10:26 PM
stupid a key

> yh
ftfy

no more ''

1

Gamma function is defined as It is a well-known fact that for positive integers it coincides with a properly shifted factorial function: Γ(n) = (n - 1)!. However, a less famous fact is Γ(1/2) = π1/2 Actually, the Gamma function can be evaluated for all half-integer arguments, and the res...

We're doing pngrmmtic lipogrms now?

10:27 PM
@phase Did you still need Owk whitelisted for PPCGMC?

@MarsUltor yeah

@NewMainPosts dupe I think

@CᴏɴᴏʀO'Bʀɪᴇɴ why delete?

I think I misred the question

Oh, nevermind.

10:29 PM
yeah
We have one with no builtins, just not with builtins.

No this is different

@EᴀsᴛᴇʀʟʏIʀᴋ i.e. we have the interesting version and now the uninteresting version?

Let's see if I can beat Dennis to a M solution

"M"?

10:30 PM
Q_Q riker.com is taken...
@AlexA. yeah.
:(

@CᴏɴᴏʀO'Bʀɪᴇɴ Dennis' other golfing language

Is it new?

no not really

or very old

10:31 PM
The name is a reference to a German film so only like 3 people in the world will get the reference

Isn't M the same as Jelly but specialized in precision?

It's newer than Jelly

I've never heard/seen it

@AlexA. cough cough

10:32 PM
It's on GitHub somewhere and has been used, however infrequently, here

@EᴀsᴛᴇʀʟʏIʀᴋ you are "HecarimIsBeast" right?

...no

it has rationals which is why it'll be good here

@HelkaHomba I am EasterlyIrk.

in minecraft

10:33 PM
in mc, yes

@HelkaHomba what do you think of my rainbowlify formula?

EasterlyIrk in both.
I used to be brikerw in mc, but changed my name.
who is HecarimIsBeast?
@Downgoat can you help give Irkbot a brain?

@EᴀsᴛᴇʀʟʏIʀᴋ you could use Chatgoats brain

@EᴀsᴛᴇʀʟʏIʀᴋ Ask Geobits for one of Marky's brains. They're in Python with tensorflow

@MarsUltor oooh, good use case

10:39 PM
@EᴀsᴛᴇʀʟʏIʀᴋ Your mc name is EasterlyIrk?

@quartata if irkbot uses Marky, I'm banning it... I cant have a homicidal AI running around Slack

@Downgoat Chatgoat is written in JS so he can't really use it. Plus Marky's old brain was pretty normal.

@Everyone halp should I make my JS class-based or function-based?

This new brain is based on movie quotes which is why he's a little nuts
@MarsUltor If you're using js for OO you're doing it wrong

@quartata ?
Why?
@Downgoat help

10:44 PM
a. js uses prototypes which are weird b. the whole point of js was it was supposed to bring scheme to the web which is why its functional tools are more powerful

@quartata But JS OOP is still really good

what are you making anyways

^^

Some canvas stuff

@Downgoat you just said a couple days ago you hated prototypes make up your mind jeez

10:46 PM
@quartata no wonder I like JS so much
functional ftw

It isn't really all that functional but it has more functional to it than most imperative lnguages

Chat mini challenge: given two integers input in a convenient format, output the reduced fraction form. E.g., 30, 90 => 1, 3 and 300, 300 => 1,1

@quartata yeah i do

0

The task is to generate all the strings from 'a' to '999' including upper case characters like so: 'a','b','c' ... 'y', 'z', 'A', 'B', 'C' ... 'Y', 'Z', '0', '1', 2' ... '8', '9', 'aa', 'ab', 'ac'... 'az', 'aA', 'aB'... 'aZ', 'a0' .. 'a9', 'ba' and so on (filling in the gaps). Input: The amo...

@quartata o_o I probably wont be using any langs less functional than javascript. I am a functional prorammer.

10:48 PM
is 200% a OOP programmer

Human, 9months+18years: input 30,90 => 1,3

2143543523 and 234095235?

@CᴏɴᴏʀO'Bʀɪᴇɴ by the way did I mention to you the glories of racket

@MarsUltor Pure Object Oriented Programming

@quartata what's that racket? :P never heard of it

10:49 PM
its a scheme flavor
it's so up your alley
you'll like it better than haskell

ooo
link?

thank god it has regex

good regex too. pcre

:o
I need to learn pcre now
so wait it has `;;` for comments?
and you can define HTML with it? wow

10:54 PM
It has a couple different comment symbols. `#;` is another

huh. what else?

I'll show you the ropes later

ok
I'm reading their quick tutorial thingy
> After all, a picture is worth five hundred “hello world”s.

Not a day goes by where I don't get the urge to slap a Realtek developer in the face.

@CᴏɴᴏʀO'Bʀɪᴇɴ ES6, 51 bytes: `f=m=>n=>[m,n].map(_=>_/(a=>b=>b?f(b)(a%b):a)(m)(n))`

10:58 PM
wow, way to curry

@CᴏɴᴏʀO'Bʀɪᴇɴ IDK if it works, posted using IE

lemme check, and wow
nope
`[NaN, NaN]`

oh wait

@orlp shiny

`f=a=>b=>b?f(b)(a%b):a;g=m=>n=>[m,n].map(_=>_/f(m)(n))`

11:02 PM
that seems to work
I wonder if uncurrying `f` makes it shorter

@CᴏɴᴏʀO'Bʀɪᴇɴ No, `(a,b)` vs `a=>b`
3 bytes vs 2 bytes, and function call is 4 bytes vs 3 bytes
Wait, it's the same length

yah
I just worked it out myself XD
```f=a=>b=>b?f(b)(a%b):a;g=m=>n=>[m,n].map(_=>_/f(m)(n))
f=(a,b)=>b?f(b)(a%b):a;g=m=>n=>[m,n].map(_=>_/f(m,n))```

I don't think you need the `g=`.

oh, you don't

@mınxomaτ :P Why so?
Stupid internet

11:14 PM
@NewMainPosts holy shit cinnamon gum can totally win this challenge
quick to the computer

@AlexA. It's like they have a fixed quota of how many bugs they have to put into their hardware and drivers. Their stuff is really inconceivably terrible.

What do they make?

OEM components like WiFi/BT modules, integrated audio cards etc.

0

Simple question, I'm drawing an image on the canvas using ctx.drawImage(img, 500, 500); I want to rotate this image around its central axis an undetermined degrees measure (somewhere from 0-360). I know that there is a jQuery library called jQuery rotate. However, I looked at the API of this, and...

@AlexA. For you: Everything that would be produced by Broadcom in a Mac is Realtek in PCs.

11:18 PM
Ah, okay

@AshwinGupta USE JS FOR THE LOVE OF GOD

@CᴏɴᴏʀO'Bʀɪᴇɴ um excuse me? I am I thought.

NO JQUERY

@AlexA. I never use underscores

11:19 PM
ugg why does zopfli take so long

Well 1) JQUERRY is written in JS. 2)Why not, a friend recomended it to me?

@Doorknob I used to but I switched a long time ago and I forget why

less compressing more winning

@AlexA. I use asterisks for both, unless I'm writing something that contains visible asterisks, then I use underscores for both to reduce insanity while editing

@CᴏɴᴏʀO'Bʀɪᴇɴ so how do i use js to do this?

11:20 PM
@AlexA. 𝐓𝐡𝐫𝐨𝐮𝐠𝐡 𝐭𝐡𝐞 𝐦𝐢𝐠𝐡𝐭𝐲 𝑝𝑜𝑤𝑒𝑟 𝑜𝑓 𝑢𝑛𝑖𝑐𝑜𝑑𝑒.
2

lemme think

Reducing insanity is itself an exercise in insanity
@mınxomaτ ._.

k
@AlexA. doesn't only #1 work?
hi

oh shit.
never knew that.
_whats the escape char?_
k got it.

11:21 PM
You can't mix them in a single instance, so you can't use `__hi**` but you can switch back and for so `**hi** __hi__` works
hi** *hi* __hi

hi
hi
Putting the strikethrough inside or outside the bold still works

### Sandbox

Where you can play with chat features (except flagging) and ch...

erm, U didn't see that =/

@Doorknob Oops. Thanks... :)

11:23 PM

Dammit, it compressed to 14 bytes. Not short enough.

@AshwinGupta Nope

yeah just figured that out xD
woop. That was not what I meant to do.

@NathanMerrill I think it's a very common practice to have variable names like `foo1` and `foo2`, which would have to be differentiated in another way if names can't have numbers.

fooone and footwo

11:27 PM
@trichoplax fooo and foot

lol that's even worse

ugggghhh 15 bytes

how about roman numerals.

This is exactly the kind of challenge that Cinnamon Gum is for

11:28 PM
f_I and f_II

but somehow zopfli made it longer and bb96 only compressed the regex by 3 bytes

@AshwinGupta ಠ_______________ಠ my answer will be use jquer

@Downgoat yeah how....

does the canvas rotate function not cut it?
just change the css rotate property

it will rotate the whole canvas though?
I have other stuff that can't be rotated.
Like meh aliens and background and stuff.

11:30 PM
so you want to rotate just an image?

yup

Yeah that's less useful than `alert('please tilt your head')`

missiles, when the aliens fire at angle theta, the missile should be rotated to theta.

@AshwinGupta use canvas save and restore then

Not a problem for user missiles, they are just fired at 90 every time.
Code?
Idk if I get what you mean.

11:31 PM
@AshwinGupta for missiles I'd say to dynamically draw them rather than use bitmaps

I wonder how LZString would do on this.

first google result:
28

jQuery('#carregar').click(function(){ var canvas = document.getElementById('canvas'); var image = document.getElementById('image'); var element = canvas.getContext("2d"); element.clearRect(0, 0, canvas.width, canvas.height); element.drawImage(image, 0, 0, 300, 300); }); jsfiddle.net/braziel/...

@trichoplax currently gonna go w/ that if I can't get an answer.

lol

@quartata LZString uses unicode chars with very high code points too

11:32 PM
@Downgoat oh you mean like w/ the code not an image.

It compresses to 13 bytes which is a byte shorter.
I should probably add LZString as a compression option.

@AshwinGupta yeah

context.rotate(degrees*Math.PI/180);
but that rotates the WHOLE canvas^

it'll be much easier and faster

Not good enough to even beat Pyth though.
urggghhh

11:33 PM
@AshwinGupta ... read the rest ...

@Downgoat yeah but it will look less cool. Btw, how does that help me if they are dynamic, can I rotate dynamic drawings easier?

The first time we get a new kolmogorov complexity challenge that's right up cinnamon gum's alley and the regex is too short to compress well

@AshwinGupta yeah

@AshwinGupta working on your thing

@CᴏɴᴏʀO'Bʀɪᴇɴ oh ok lol ty
@Downgoat mkay.

11:34 PM
the best option would be to make this completely out of absolutely positioned HTML elemnts, that would be faster and more flexible & easier imo

Than drawing images and shapes on a specific graphics canvas? idk..
maybe for chess or something

0

Your task is to write a program that will filter out those who do not belong to pi. You may use an estimate to the value of pi if it cannot be done. 355/113 would be a good estimate. Let's say we received the string "123456781234577812345678". We also have a pointer on pi: 314159265... ^ So...

Do you know the canvas#rotate method @AshwinGupta?

@Dennis Can you pull Cinnamon Gum?
Finally did the escaping correctly lmao

yup, thats what downgoat showed me. Problem is, I don't know if that will work yet, I'm checking it out.

11:38 PM
if there was ever a situation where that backslash xkcd was relevant now would certainly be it

@Downgoat what do you mean by that? You mean the missiles and aliens and stuff?

@quartata Pulled.

@Dennis Thanks.

Dennis is a master of pulling.

What the heck it still doesn't work
this is really starting to annoy me

11:41 PM
@AshwinGupta pretty much. HTML canvas is an absolute pain to work. With HTML you can take full advantage of CSS and its optimizations

Is it just me or is SE really slow?

CSS = Crappy Shit Stick?

@Adnan just you

dammit

@Downgoat I supposed I could. Am I able to pos HTML elements by just specifying x & y coords through JS?

11:41 PM
@Adnan I'm slow

@AlexA. `git pull my-finger`

It should work.

@quartata Use Static!

@Dennis ( ͡° ͜ʖ ͡°)

@quartata he ninja'd you

11:42 PM
@AshwinGupta yeah

@quartata I choose you!

Oh you know what it is
Actually, no
I'm still confused

@Downgoat hm, I'll look into it
It shouldn't change any of my logic, just graphics rendering.

@AshwinGupta make the elemnents `position: absolute` and put everything in a `position: relative` div.

and it would certainly make rotation easier =/

11:43 PM
then just modify `top` and `left` CSS

@Downgoat ok 1 tiny problem, IDK html. I just know enough so I can put the script tag into a blank website.

@AshwinGupta what are you trying to rotate?

@AshwinGupta lemme write up an example document

I suppose its time to learn.
@Downgoat sure ty.
@HelkaHomba missiles. Fired at angle theta, it needs to be rotated that much. Issue is, they are images drawn on canvas.

11:43 PM
Oh, TIL about `re.escape()`

``` <div id="ref">
<canvas id="render"></canvas>
</div>```

@Dennis Can you pull again?

then do something like this to add elements:

@quartata That's when you've broken out once but were recaptured and have to do it again

@quartata In a minute.

11:44 PM
@Dennis All right

@Downgoat if the canvas is the only thing in the div, shouldn't I just directly reference render...?

```var elem = document.createElement('div');
elem.style.position = "absolute";
// more element configuration
document.getElementById('ref').appendChild(elem);```
@AshwinGupta no, because JS doesn't have good insertAfter and insertBefore support

Ok ty :D
@Downgoat oh okay.

@AshwinGupta does context.rotate not help?

@AshwinGupta np, gl on your game.

11:45 PM
ty
@HelkaHomba maybe* see previous discussion. I'll look at it.
ok bye gtg finish hw, will be back soon.

```\$ cpm install math
Attempting to install math...
Attempting to install from github.com/cheddar-lang/cheddar-libs/trunk/math/config.ini...

Retrieved package:
math, "Math Library for Cheddar"```
\o/ \o/ \o/ Cheddar package manager works

YAY!
does my o library work? :3
it prolly wont
nvm don't try it

@quartata

@CᴏɴᴏʀO'Bʀɪᴇɴ That was a minor rollercoaster of emotions. :P

@El'endiaStarman ^^"
\o/ it's almost UTC Midnight!