« first day (1895 days earlier)      last day (2948 days later) » 

5:00 PM
Customer: "Yes, I applied thermal paste."
 
Oh. Ow. Why? Oh god why?
 
What kind of paste are they using that doesn't spread at all?!
Did they just lay the cpu on top and not screw it in?
 
It looks like a "natural" paste.
 
@Morgan'Venti'Thrappuccino ಠ_ಠ
 
5:02 PM
Looks like they tried to make waffles
 
I've always wanted to try CPU waffles
4
they probably taste better than tin-can waffles
 
@Downgoat I couldn't eat that without chips on the side. bad-um tss
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Is my question looking better?
 
What are the two stages of evaluating a program? Parsing, and ______
@Solver Which one?
 
5:09 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ Execution?
 
Just about to place a link...
 
@Zgarb Oh, thanks!
 
I actually have three stages for Pytek: parsing, conversion, execution.
 
"conversion"? As in, to Python?
 
Conversion is where I convert the AST into a form that's better suited for execution.
 
5:10 PM
AST?
 
0
Q: Create a Boolean parser

SolverWhat you need to do is create a Boolean parser. Boolean expressions, in case you haven't heard of them yet, have two inputs and one output. There are three 'gates' in boolean arithmetic, namely OR (represented by +), AND (represented by .), NOT (which are used a bit like brackets : / and \) an...

 
Abstract Syntax Tree
 
It's what the parser produces.
 
5:11 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ That was the question.
 
There may also be several optimization stages.
 
@Solver Looking at it now :)
 
@El'endiaStarman is my question better now?
@CᴏɴᴏʀO'Bʀɪᴇɴ Thanks.
 
:28835480CCould you give me a quick example?
 
A268754 (from Electrons bouncing in a wire) was just published!!! :D
9
 
5:13 PM
@Solver It looks fine!
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Thanks! Hopefully it will be reopened soon :P
 
It is open...
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Didn't notice :/
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Who was this reply intended to?
 
That's awkard.
@El'endiaStarman (try 2) Could you give me a quick example?
@Zgarb To El'
@El'endiaStarman Wow, only 2 months! I think that's good
 
5:20 PM
hi all
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Okay, for example, the first stage, parsing, knows what a function looks like. The second stage, conversion, will convert the AST_function object produced into a pFunction object that knows what to do. The third stage, execution, will then do the thing. I also simplify some structures during the second stage and build a symbol table for variables and functions.
 
@El'endiaStarman Oh, I see. So, your conversion stage assigns each object an effect?
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Not necessarily. AST_number objects become pInteger or something similar also, and those have no effect beyond being themselves.
 
@El'endiaStarman Oh, okay.
 
@El'endiaStarman Nice!
 
5:23 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ My previous one took just short of two months as well. :D
 
@El'endiaStarman Haha, pretty consistent! Almost exactly 6 to 8 weeks.
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Hahaha, indeed, although 2 months is properly about 9 weeks. :P
 
oops. I mentally dropped a week
Could someone take a look at Dyia? I could use some suggestions on the parsing phase (i.e. am I doing it correctly?)
 
Months are usually thought of as four weeks, though there are really a few extra days at the beginning and/or end, so when you put two months together, you get another full week (usually).
 
Whoa . never realized that
 
5:28 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ You're not using regex anywhere are you? [looks] Okay good, you aren't. :P
But why are there two outputs?
 
@El'endiaStarman I am, but only for character validation.
 
I don't understand why my answer here is still attracting votes: codegolf.stackexchange.com/questions/4230/…
 
Someone posted a link to it
 
@El'endiaStarman Initial parse (conversion of text -> tokens) and shunted tokens (shunting yard algorithm)
 
@PhiNotPi because you posted it in chat
 
5:30 PM
I lost the game
 
I lost the game
 
I won the game! :D
@CᴏɴᴏʀO'Bʀɪᴇɴ Oh I see. Okay cool. Seems to work for this specific example. What other operators are available?
 
My friend does that all the time... coincidence
 
@El'endiaStarman Currently, I've only +, -, *, %, ^, ., and =:, along with the adverb ~.
@El'endiaStarman but he doesn't read xkcd o_o
 
5:31 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ Haha. I actually decided that I won the game well before I read this comic. :P
 
@El'endiaStarman :D that's perfect
 
Awww the octopi and plants are back to their normal size. Okay, I wonder what will mutate next.
 
Haha, wow.
@CᴏɴᴏʀO'Bʀɪᴇɴ Try a=:3+4*5+6.
 
@El'endiaStarman Cool, that works as expected (I don't care about order of operations)
But a regular period doesn't parse D:
 
5:35 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ Do I understand correctly that the first part of output is the tokens in the order they are parsed, and the second part has a "stack based" order?
 
@Zgarb Yes, that's correct.
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Eh what? o.O You don't care that the operators are going in the wrong order? Oh, you don't have any precedence rules yet, do you?
 
@El'endiaStarman No, but neither does J. I could implement it, but I don't see much benefit.
 
@Dennis ;-;
 
5:37 PM
a=:~3+~4~ looks funky. :P
 
I can't undelete it now.
 
@CᴏɴᴏʀO'Bʀɪᴇɴ So I would need parentheses?
 
@El'endiaStarman ... yes. But I forgot to implement those :(
Good thing you're looking at it XD
 
@Dennis Was that actually a bug, though?
 
@Zgarb Oh, thanks. that reminds me, I have to move adverb parsing before shunting happens, and add "unadverbable" verbs
 
5:40 PM
Should a=:*3 and a=:3* give the same AST?
 
@PhiNotPi The fact that a non-challenge remained undeleted for so long was most definitely a bug, yes.
 
@Zgarb No, but I don't know how to prevent that with shunting yard
 
@Dennis Oh, I was thinking along the lines of a technical bug.... anyways, it's fine.
 
The second ideally would throw an error.
 
@CᴏɴᴏʀO'Bʀɪᴇɴ I'm actually gonna have to basically solve this problem soon for Pytek. I'll be supporting both infix and unary minus, so I have to be able to pick one or the other based on what's before.
 
5:42 PM
@El'endiaStarman can you define define operators in Pytek?
 
Incidentally, I modified the shunting yard algorithm to handle operators with an arbitrary number of left and right arguments.
 
@El'endiaStarman Oh, cool! We'll go through it together :P
@El'endiaStarman o_o good job wow
 
@EᴀsᴛᴇʀʟʏIʀᴋ Yep. Not implemented yet, but you will be able to.
 
Is shunting yard the only way to parse something?
 
@El'endiaStarman \o/
 
5:43 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ I wouldn't say only, but maybe. (At least in the context of parsing infix operators.)
 
@CᴏɴᴏʀO'Bʀɪᴇɴ if you really need more parsing practice, help me with FOG.
 
@El'endiaStarman So languages like JS and Python use shunting yard?
 
@CᴏɴᴏʀO'Bʀɪᴇɴ no, but it's a popular algorithm used in operator-presedence stuff
@CᴏɴᴏʀO'Bʀɪᴇɴ JS does
which means shunting yard must be good
 
@Downgoat Oh, okay, cool. That means it's possible :P
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Python probably does.
 
5:44 PM
^^^ :D
 
@CᴏɴᴏʀO'Bʀɪᴇɴ This is why I like to use Haskell for implementing languages. Parsec is an awesome parsing library that does all things for you.
 
@Zgarb Note to self: learn Haskell. Isn't that the functional language?
 
@Zgarb don't know haskell.... :(
@CᴏɴᴏʀO'Bʀɪᴇɴ yeah
 
I am definitely learning that before summer's over.
 
And the one with a lot of lists.
 
5:45 PM
@EᴀsᴛᴇʀʟʏIʀᴋ Maybe when I get back to my native environment
 
Which is? Home not school?
 
home is.
I'm at school rn
 
@CᴏɴᴏʀO'Bʀɪᴇɴ s/the/a/ :P
 
@El'endiaStarman There are others (that are useful)?
 
5:47 PM
J is, but it's highly impractical for full programs
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Lisp dialects are functional languages as well.
 
@CᴏɴᴏʀO'Bʀɪᴇɴ Look at the source of Grime. The entire expression parser is on lines 60-127.
 
@El'endiaStarman Oh, right, the shiv language.
@Zgarb Which file?
 
@CᴏɴᴏʀO'Bʀɪᴇɴ grime.hs
 
Thanks
L81: _ -> Var $ Just c I feel like it's speaking to me.
@Zgarb Wow, that's rather succinct.
 
5:52 PM
Some examples would be nice for Grime :/
It sounds neat though
 
This could do with voting (up/down/close...)
 
@RenderSettings There's some here. The option syntax has changed, but otherwise they work as such.
 
@EᴀsᴛᴇʀʟʏIʀᴋ 2nd from the top left.
@trichoplax
 
waffles
 
5:55 PM
chips
 
@CᴏɴᴏʀO'Bʀɪᴇɴ That was quick :)
 
@trichoplax Yup! The Chat + Mod Hammer.
 
@CᴏɴᴏʀO'Bʀɪᴇɴ I think it's actually at the left side of the third row from bottom.
Smaller than the rabbits.
 
there's only one rabbit with a turned ear :o
it must be that one
 
@CᴏɴᴏʀO'Bʀɪᴇɴ no.
@CᴏɴᴏʀO'Bʀɪᴇɴ nope.
 
5:58 PM
What about El'endia's?
--------------------^ best word to spell
 
I thought it was just a part of a rabbit's belly.
 
@EᴀsᴛᴇʀʟʏIʀᴋ It's the only one that looks like that.
 
@El'endiaStarman 10/10 correct answer.
 
5:59 PM
@El'endiaStarman true.
@CᴏɴᴏʀO'Bʀɪᴇɴ bai
 

« first day (1895 days earlier)      last day (2948 days later) »