ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.33.0 | Fund Crystal's development: http://is.gd/X7PRtI | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Gitter: https://gitter.im/crystal-lang/crystal
return0__ has quit [Read error: Connection reset by peer]
<FromGitter> <Blacksmoke16> @j8r i did a thing :)
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e619cc053fa513e2870fe30]
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e619ccc90a82958240a41bb]
<FromGitter> <Blacksmoke16> compile time route conflict detection πŸ˜‰
dwdv has quit [Ping timeout: 255 seconds]
<FromGitter> <dscottboggs_gitlab> Oh wow!! @Blacksmoke16 super nice!
<FromGitter> <Blacksmoke16> thanks :) doesnt handle the case where they both have constraints, where a path param is different tho
<FromGitter> <Blacksmoke16> like
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e61ada3ec7f8746aab6e574]
<FromGitter> <dscottboggs_gitlab> that would compile?
<FromGitter> <Blacksmoke16> eya
<FromGitter> <Blacksmoke16> yea
<FromGitter> <dscottboggs_gitlab> huh. well if you got this far...
<FromGitter> <Blacksmoke16> wouldnt be trivial to also account for those, plus idt it'll be too common
<FromGitter> <dscottboggs_gitlab> idk man between PHP and basically living in macro-land you must be a glutton for sifting through ugly-ass code
<FromGitter> <Blacksmoke16> if both routes used `constraints: {"id" => /17/}` it wouldnt compile
<FromGitter> <Blacksmoke16> which would be a more common use case
<FromGitter> <dscottboggs_gitlab> I see that makes a bit more sense
<FromGitter> <Blacksmoke16> ha, *my macro code isnt ugly*:p
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e61ae50d045e2582518d0cf]
<FromGitter> <Blacksmoke16> is what i did
<FromGitter> <dscottboggs_gitlab> oh that's not terrible. but still, `{%` is *kinda* ugly
<FromGitter> <Blacksmoke16> could be worse
<FromGitter> <Blacksmoke16> be better when https://github.com/crystal-lang/crystal/pull/8836 is merged
<FromGitter> <Blacksmoke16> then could use a more OOP approach and unit test them and stuff
<FromGitter> <dscottboggs_gitlab> woah
<FromGitter> <Blacksmoke16> my new fav PR :P
<FromGitter> <Blacksmoke16> could prob hack something together, but im not sure it would solve that exactly
sagax has joined #crystal-lang
<FromGitter> <dscottboggs_gitlab> oh man this really makes a big difference for macro capabilities, holy crap, this is awesome!
<FromGitter> <Blacksmoke16> ikr?
<FromGitter> <Blacksmoke16> https://github.com/athena-framework/dependency-injection/blob/di-refactor/src/service_container.cr was able to refactor my DI shard using it. Is pretty legit now, much cleaner and more powerful than was possible before
<FromGitter> <Blacksmoke16> mainly due to the recursion
<FromGitter> <dscottboggs_gitlab> how is this using #8836?
<DeBot> https://github.com/crystal-lang/crystal/pull/8836 ([Experimental] Allow user-defined macro methods)
<FromGitter> <Blacksmoke16> all the private macros at the top
<FromGitter> <Blacksmoke16> im using those as methods
<FromGitter> <Blacksmoke16> like `parse_arg`, if the argument is an array, i can map over the array calling `parse_arg` again for each one
<FromGitter> <Blacksmoke16> versus having to duplicate the parsing logic in each case
<FromGitter> <dscottboggs_gitlab> huh. ok then, interesting
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e61b1afca2f5a558d6b54d6]
<FromGitter> <dscottboggs_gitlab> ☝️ March 5, 2020 9:12 PM (https://gitter.im/crystal-lang/crystal?at=5e61b18db873303e27817443) oh yeah, nice
<FromGitter> <Blacksmoke16> would be an example of it, essentially allowing the user to tap into the creation of each service and alter them as needed, or to register other services manually like
<FromGitter> <Blacksmoke16> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5e61b1feff6f6d2e888a841c]
<FromGitter> <dscottboggs_gitlab> wow, yeah, that's way less ugly than the normal crystal macros I'm used to
gangstacat has quit [Ping timeout: 260 seconds]
<FromGitter> <Blacksmoke16> which also illustrates how shards can provide reusable macros
<FromGitter> <Blacksmoke16> like `get_service_id` and `get_service_hash_value`
<FromGitter> <Blacksmoke16> i.e. more DRY
<FromGitter> <dscottboggs_gitlab> yes, make things the DRYest possible πŸ˜€
gangstacat has joined #crystal-lang
<FromGitter> <Blacksmoke16> 🎊
<FromGitter> <tenebrousedge> Dune. Macrorrakis. Desert planet.
ur5us has quit [Ping timeout: 240 seconds]
ua has quit [Excess Flood]
ua has joined #crystal-lang
edr has quit [Ping timeout: 260 seconds]
_ht has joined #crystal-lang
return0e has joined #crystal-lang
dostoyevsky has quit [Quit: leaving]
dostoyevsky has joined #crystal-lang
_ht has quit [Quit: _ht]
FromGitter has quit [Read error: Connection reset by peer]
dwdv has joined #crystal-lang
alexherbo2 has joined #crystal-lang
postmodern has quit [Quit: Leaving]
DTZUZU2 has quit [Ping timeout: 256 seconds]
early has quit [Quit: Leaving]
early has joined #crystal-lang
woodruffw has quit [Ping timeout: 265 seconds]
repo has quit [Ping timeout: 265 seconds]
twistedpixels has quit [Ping timeout: 265 seconds]
repo has joined #crystal-lang
twistedpixels has joined #crystal-lang
return0__ has joined #crystal-lang
return0e has quit [Ping timeout: 240 seconds]
DTZUZU2 has joined #crystal-lang
flaviodesousa has joined #crystal-lang
flaviodesousa has quit [Remote host closed the connection]
travis-ci has joined #crystal-lang
<travis-ci> crystal-lang/crystal#80b8c5f (master - Remove DL module (#8882)): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/659140028
travis-ci has left #crystal-lang [#crystal-lang]
travis-ci has joined #crystal-lang
<travis-ci> crystal-lang/crystal#aaad167 (master - Move AtExitHandlers to Crystal (#8883)): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/659141012
travis-ci has left #crystal-lang [#crystal-lang]
<DeBot> https://github.com/crystal-lang/crystal/pull/8883 (Move AtExitHandlers to Crystal namespace)
woodruffw has joined #crystal-lang
Human_G33k has quit [Read error: Connection reset by peer]
gangstacat has quit [Quit: Ĝis!]
gangstacat has joined #crystal-lang
gangstacat has quit [Quit: Ĝis!]
gangstacat has joined #crystal-lang
repo has quit [Remote host closed the connection]
repo has joined #crystal-lang
HumanG33k has joined #crystal-lang
HumanG33k has quit [Remote host closed the connection]
HumanG33k has joined #crystal-lang
FromGitter has joined #crystal-lang
<FromGitter> <stronny> what's a `T.class`? Isn't T already a type?
_ht has joined #crystal-lang
postmodern has joined #crystal-lang
DTZUZU2 is now known as DTZUZU
return0__ has quit [Read error: Connection reset by peer]
return0e has joined #crystal-lang
alexherbo2 has quit [Quit: The Lounge - https://thelounge.chat]
ur5us has joined #crystal-lang
alexherbo2 has joined #crystal-lang
ur5us has quit [Ping timeout: 240 seconds]
olbat has quit [*.net *.split]
hpyc9 has quit [*.net *.split]
f1refly has quit [*.net *.split]
Xeago has quit [*.net *.split]
lvmbdv has quit [*.net *.split]
go|dfish has quit [*.net *.split]
alexherbo24 has joined #crystal-lang
f1refly has joined #crystal-lang
lvmbdv has joined #crystal-lang
olbat has joined #crystal-lang
hpyc9 has joined #crystal-lang
go|dfish has joined #crystal-lang
Xeago has joined #crystal-lang
Vexatos has quit [Remote host closed the connection]
Xeago has quit [Max SendQ exceeded]
hpyc9 has quit [Max SendQ exceeded]
hpyc9 has joined #crystal-lang
Xeago has joined #crystal-lang
alexherbo2 has quit [Ping timeout: 265 seconds]
alexherbo24 is now known as alexherbo2
Vexatos has joined #crystal-lang
ur5us has joined #crystal-lang
_ht has quit [Remote host closed the connection]
ur5us has quit [Quit: Leaving]
alexherbo2 has quit [Remote host closed the connection]
ur5us has joined #crystal-lang
dwdv has quit [Quit: quit]
ur5us has quit [Ping timeout: 256 seconds]
ur5us has joined #crystal-lang
dostoyevsky has quit [Quit: leaving]
dostoyevsky has joined #crystal-lang