10:03 PM
So I just got a newsletter email from an electronics company titled "Iron Man will have nothing on you after you shop here"

That's a lie! How dare you insult me like that!
He'll still have his breakfast.

Where do you draw the line with using pictures from google to illustrate your challenge?

Is it bad to post a picture from cs.virginia.edu if it perfectly explains what my challenge is about?
Obviously, there is more explanation around the picture.
Anyone have thoughts on that?

10:13 PM
you've been n inja'd
@Lynn ;-; i forgot random function in cheddar ;-;
should `rand(n)` return `rand(0,n)` or `rand(1,n)`

Is it 0 or 1 indexed?

what is?
it is `[a, b)`

Cheddar (I assume that's what you're talking about)

yeah
cheddar is 0 indexed

Then it should return `[0, n)`

10:19 PM
and should it return a floating point or a integer?

Absolutely an integer.

If they are no arguments it'll return a floating point 0-1 atm
ok

there should also be `rand_float(a, b)`
or `float->rand(a, b)`
or `float::rand()` or whatev makes the most sense.
Does it have arbitrarily large integers?

It will soon

Will they be the default?
Rather than a different type.

10:22 PM
@Downgoat There are quite a few good ones=)

@DrGreenEggsandIronMan numbers will implicitly promote to bigints

That's what python does. :P

yeah ;_;

@Downgoat RT: Is there something real about python that you dislike, or is it just fun to hate?
Just like I like to make fun of JS but don't have any real complaints against it.

10:25 PM
Fun fact: Unicode Technical Report #51 officially recognizes ಠ_ಠ as an emoticon.

@DrGreenEggsandIronMan i personally just really dislike python, it's design, and everything else about it.

Something more concrete though. What about it's design do you mind?

.___. how do i tell if random funciton is working
```cheddar> Math.rand(6)
0
cheddar> Math.rand(6)
0
cheddar> Math.rand(6)
0
cheddar> Math.rand(6)
0
cheddar> Math.rand(6)
0```

I'm gonna go out on a limb and say it's not.

@Downgoat Relevant XKCD:

10:27 PM
@DrGreenEggsandIronMan it has no syntax. spaces have semantic value. no actual classes, no notion of `this` or `self` or something like that. Programs look like an alphanumeric+underscore mess, devs were too lazy to even make multiline comments. etc, etc.

Are you kidding? Python has classes, self and multiline comments.

@DrGreenEggsandIronMan the fact that taking self as a function argument is hardly native support I'd call it laziness

@flawr Busy launching a Saturn V now...

10:28 PM
idk what i meant when I said no actual classes
though I bet python is like the most popular language here and i dont wanna start a flamewar >_>

I don't really like Python either tbh

:D :D :D +1

@Downgoat Actually, I'm not sure if that's true. I think python and JS are pretty closely tied.

For "professional" things, I use C#

:D i fixed rand!
i was thinking of making an ASCII art builder thing for cheddar but idk if printf counts

10:33 PM
@Downgoat What was the problem?

@LegionMammal978 I did a project in C# recently. I had no experience with it before, but I was blown away by how simple and easy to use it was.
C# is nice. (except for golf)

@DrGreenEggsandIronMan ES6/7 was designed after C# ;)
```cheddar> (0:33).map
Syntax Error: Unexpected token at 1:6
1 | (0:33).map```
ok thats not good

Dat illustration doe:

@LegionMammal978 "Professional"?

10:41 PM
@MᴀʀsUʟᴛᴏʀ Yes, not professional but "professional"

0/10 JS > C#

^
Cheddar >= JS > C#

I only use C# when I want speed, since it's still pretty easy to modify/decompile a C# program, meaning mot many advantages
when I want speed = almost never
@Downgoat source maps

@MᴀʀsUʟᴛᴏʀ cheddar is also pretty fast
an empty programs only takes .5s to run
;_;
i tried so hard to maek it fast

@Downgoat Just make a special case for the empty program

10:45 PM
monring

@Downgoat pls make repl be able to time

@MᴀʀsUʟᴛᴏʀ wat shood UI be

@Downgoat ?

@Quill Good afternoon morning!

@Quill good aftermorning
oh wait thats not right :P

10:46 PM
@Downgoat ui for waht

for making it show time
should there be like a button?

???

Or are you talking about the console version rather than the online REPL?

@Downgoat There's an online repl?

haven't got the auto-updating script working yet
still need to encrypt my SSH key

10:48 PM
TIL I've been offline for too long

it's running v0.3.0 but current version is pre-1.0.0-beta.9

Just in some corner with empty space, 'Calculation took <time>s'
In the console version, just console.log that

maybe when you open the REPL with a flag or somethin

@Downgoat I was thinking something like `cheddar -t` and `cheddar --time`

okay
dont have time to figure out how to do that rn but ill do it later

10:50 PM
Should we have a tag?

note: you should use minimist for flag handling

I'm using commander
I think
CLI is pretty weird ATM
it's some crazy handoff between shell a node forking script, the CLI manager, the REPL, and the program executor

@DrGreenEggsandIronMan seems a bit meta

```require('minimist')(process.argv.slice(process.argv.indexOf('index.js' + 1)), {
alias: {
time: 't'
},
booleans: ['time']
})```
^something like that would work with minimist

@Quill yeah, I suppose.

10:52 PM
> I change my mind. This is very important so I'm targetting targeting it for v1.0.0

oh wait no I'm using nopt i think
@Quill :|
thats not good
i think I should merge the last stable release (v1.0.0-beta.7) but idk :/

This kinda scares me

one more checkbox left on cheddar :^)

@Downgoat I realized a couple weeks ago that it'll basically be pointless to implement a specific ternary operator. If you want to do `x = a ? b : c`, the Pytek equivalent is `x = \if(a){b}{c}`.

0

A heap, also known as a priority-queue, is an abstract data type. Conceptually, it's a binary tree where the children of every node are smaller than the node itself. (Assuming it's a max-heap.) When an element is pushed or popped, the heap rearranges itself so the the biggest element is the next ...

11:02 PM
@Downgoat Freedom, metaprogramming, functional programming, dynamic typing, extensibility, and generators

ok so i need generators in cheddar

btw did you do the `(op)`?

no >_> I have to figure out why `(0:13).foo` is borked

because foo isn't a property of the former?

@CᴏɴᴏʀO'Bʀɪᴇɴ like it causes left recursion which is really weird
@MᴀʀsUʟᴛᴏʀ THANK YOU SO MUCH YOUR SOLUTION WORKS 10/10 YOU ARE THE BEST.
@MᴀʀsUʟᴛᴏʀ can you make CheddarShuntingYard support CheddarParenthesizedExpression? :3
@El'endiaStarman huh nice

11:21 PM
?|🟀🞡🞯🞵?🞻

ahahahaha
idk whats with me and premature celebrations

Oh, yeah, still have to work on rationals...

@Downgoat Generators are extremely easy
At least the actual data structure part.

@quartata idk i haven't even designed them yet
@quartata oh im like a guru at parsing shit now

But basically you're going to want a linked list i.e `class Node { var data; var nextNode; }` or something like that

Then you want a "promise" class, which should be like a special anonymous function in place of the next node that calculates more of the list
When you traverse the list and hit a "promise", you execute the promise and set the first node it returns to the nextNode (or tail)
So basically you have a lazy linked list.
Then you chunk up the function so that everything up to the first `yield` is a promise, etc..

oh hey I did one of those the other day

It's pretty simple
If you just make the generator function return an appropriate one of those you can iterate over it and all that good stuff

```cheddar> (1+1)+1
3```
yay \o/ \o/

yeah, I was arguing something about IEnumerable being similar to promise stacks

11:36 PM
i never thought i'd fix that bug

@Downgoat You get the idea?

I get the feeling he's not paying attention <_<

@Quill :|
I'll read it in a sec just gotta write this commit message
okay I'll read it now, right after the tests finish running

@Quill Those are really cool! I especially like the first one.

TIL Github is not counting my cheddar activity wtf

11:58 PM
0

In as few bytes as possible, output the current time, expressed as Swatch Internet Time. For example, if the current time is UTC 23:47, the output would be 032. Output it to standard output (or equivalent). Must be a complete, runnable program. Use any language you like. Languages with built-in...