<FromGitter>
<anamba> oh hey, i got part 1. i don't know why i am still working on this though
Raimondi has joined #crystal-lang
Raimondi has quit [Ping timeout: 240 seconds]
<FromGitter>
<DanilaFe> I stayed up till 3 am my time to finish it so I wouldn't have to do it today
Raimondi has joined #crystal-lang
<FromGitter>
<anamba> @DanilaFe ah geez. i kept inputting the min ap needed for part 2. reading skills...
<FromGitter>
<DanilaFe> reading skills is exactly what this problem strained today
<FromGitter>
<DanilaFe> it's very poorly written imo
DTZUZO has quit [Ping timeout: 250 seconds]
_whitelogger has joined #crystal-lang
<FromGitter>
<proyb6> Day15 may be faster with BFS than A*?
<FromGitter>
<lokeshh> Isn't it possible to use Rubex in the following manner? ⏎ ⏎ I write some Ruby code as I would normally do, I debug is using interpreter and so on. But when I move it to production I use crystal to make it run fast?
<FromGitter>
<lokeshh> Because the only drawback of Crystal is that it turns Ruby to a Compiler language then a interpreted one.
DTZUZO has joined #crystal-lang
<FromGitter>
<anamba> i don't consider that a drawback. interpreted languages in production are a lot more vulnerable (for example, deserialization vulnerabilities are a constant threat)
<FromGitter>
<lokeshh> @anamba Ok. What's the recommended way of debugging? In Ruby I'm use `pry`.
<FromGitter>
<anamba> i might be unusual here, but i don't use debuggers for... anything, really. except Xcode, since it kinda pushes you into that workflow.
<FromGitter>
<anamba> if the code is complicated enough that i can't easily follow it in my head, i fix that :)
<FromGitter>
<anamba> ah, i see `pry` is not a debugger (sorry, never used it before). different definition of debugging. when i need this kind of thing `crystal play` is usually sufficient
<FromGitter>
<anamba> nope changed my mind again :) misunderstood what they meant by "IRB alternative." it definitely does let you look around "running" code. (which again, I think should generally be unnecessary if you've built it right)
Raimondi has quit [Ping timeout: 240 seconds]
<FromGitter>
<anamba> build up functionality incrementally, write specs to make sure each layer is doing what you think it's doing. that usually does the trick
<FromGitter>
<anamba> @lokeshh rubex looks interesting, i wonder how well/how often it actually works in the real world?
<FromGitter>
<DanilaFe> that is true, but I mean speed relative to other solutions.
<FromGitter>
<DanilaFe> How did today go for you, Linus?
_whitelogger has quit [Ping timeout: 250 seconds]
_whitelogger has joined #crystal-lang
<FromGitter>
<DanilaFe> wow, TDD
<FromGitter>
<DanilaFe> that's quite intense for a daily programming puzzle, but good habits :D
DTZUZO has quit [Ping timeout: 244 seconds]
<yxhuvud>
@danila: place 442 globally, so okish. I lost a lot of time due to doing stupid stuff in part2 :&
<yxhuvud>
I wish I took more time to continue with my parser generator ;)
<yxhuvud>
but I'm stuck in a hellish long refactoring so it is a lot of work for few features.
azuri5 has joined #crystal-lang
<FromGitter>
<DanilaFe> well, mine doesn't have a lot of features besides...generating parsers :D
<FromGitter>
<DanilaFe> I made it so that it outputs JSON data, and that means it can generate parsers for different languages via "backends", but then it doesn't have proper support for semantic actions, which is how I believe Yacc does it
<FromGitter>
<DanilaFe> once I'm done with my current project I'll look into it once again
<yxhuvud>
semantic actions as what happens when a rule is completed? I have that (somewhat limited to the first derivation), but otoh I don't support character ranges yet :)
<FromGitter>
<DanilaFe> Yeah, that's what semantic actions are. I've actually spent a considerable amount of time making regex engines (runtime) before, probably starting junior year high school. They're always the same, based on Thompson NFA. This time I just made it generate lookup tables. My main concern is that I want it to be mostly language-agnostic, but semantic actions are very tied to the language of the parser
_whitelogger has joined #crystal-lang
ua has quit [Ping timeout: 246 seconds]
azuri5 has quit [Quit: azuri5]
ua has joined #crystal-lang
ashirase has quit [Ping timeout: 246 seconds]
ashirase has joined #crystal-lang
azuri5 has joined #crystal-lang
azuri5 has quit [Client Quit]
<foxxx0>
hey, might one of the AoC guys provide me with his day12 input and day12p2 result? i'm probably in the off-by-one sort of bugs in my code and would like to have something to validate against :)
<foxxx0>
would be much appreciated!
azuri5 has joined #crystal-lang
<FromGitter>
<asterite> today's AoC was nice, having to guess opcodes (different from the other years where you had to just execute ops). And I'm so glad we have macros :-)
<FromGitter>
<proyb6> We have to learn Crystal and Japanese languages
<mps>
"Yoku mireba, nazuna hana saku. Kakine kana!" when I way young I learnt this haiku :)
<FromGitter>
<greenbigfrog> @jwoertink I thought it was stable, got some errors PoolTimeout again though
<yxhuvud>
asterite: ah yes, macros were nice. Though I have to admit I added them after solving things. In retrospect I think I lost time by not doing it directly.
<yxhuvud>
@asterite: I recognize makejustnow out of the authors, but havn't seen the other 3.
<yxhuvud>
I also noticed the formatter don't like oneline macros.
<FromGitter>
<vladfaust> Because `/src/*` directiories rewrites each other when required as dependency. For example, if shardA had a `src/ext` diredctory, it would be shadowed by my `src/ext` directory
<FromGitter>
<j8r> I doubt
<oprypin>
vladfaust, no
azuri5 has quit [Quit: azuri5]
<FromGitter>
<talbergs> ```code paste, see link``` ⏎ ⏎ Compiler says "Can't infer the type of instance variable '@pane' of Display". How so? I explicitly tell the return type of a method "draw_pane" [https://gitter.im/crystal-lang/crystal?at=5c16b07be86b0460b3aa8436]
azuri5 has joined #crystal-lang
<FromGitter>
<j8r> @talbergs all ivars need to be defined in initialize, or in the main class
<FromGitter>
<j8r> not in methods
<FromGitter>
<j8r> hum
<FromGitter>
<talbergs> @pane is in constructor isn't it