ChanServ changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.23.1 | 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
astronavt has quit [Quit: Leaving...]
astronavt has joined #crystal-lang
sz0 has quit [Quit: Connection closed for inactivity]
aroaminggeek[awa is now known as aroaminggeek
aroaminggeek has left #crystal-lang ["Textual IRC Client: www.textualapp.com"]
ashirase has quit [Ping timeout: 255 seconds]
ashirase has joined #crystal-lang
vivus has quit [Quit: Leaving]
woodruffw has quit [Ping timeout: 246 seconds]
woodruffw has joined #crystal-lang
woodruffw has quit [Changing host]
woodruffw has joined #crystal-lang
chrisarc1nd is now known as chrisarcand
astronavt has quit [Remote host closed the connection]
astronavt has joined #crystal-lang
woodruffw has quit [Quit: And then he took off.]
woodruffw has joined #crystal-lang
woodruffw has quit [Changing host]
woodruffw has joined #crystal-lang
snsei has joined #crystal-lang
woodruffw has quit [Remote host closed the connection]
woodruffw has joined #crystal-lang
woodruffw has joined #crystal-lang
woodruffw has quit [Changing host]
rohitpaulk has joined #crystal-lang
<FromGitter> <jwaldrip> is there a way around this without using captured blocks? recursive block expansion: blocks that yield are always inlined, and this call leads to an infinite inlining
<FromGitter> <marksiemers> I gave a presentation at a recent Ruby meetup, take a look if you're curious. ⏎ https://www.youtube.com/watch?v=G8o_PWw_D4Q&list=PLrIKo1gDPIPtb9r7iXQw8NMHQ7YktLGTT
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
<FromGitter> <marksiemers> The presentation is about 30 minutes, and a second video has the Q&A portion. ⏎ I made some statements and claims that I want to double-check and either confirm or clarify. These points in particular: ⏎ ⏎ 1) Crystal is mostly implemented high-level, with Crystal. It uses something called LLVM to get it to low-level…Crystal goes to LLVM byte code and that gets compiled. ⏎ 2) Crystal is much
<FromGitter> ... faster than Elixir in a single thread - 5-6 times faster ... [https://gitter.im/crystal-lang/crystal?at=5a2f610e87680e6230fea3e3]
snsei has quit [Remote host closed the connection]
<FromGitter> <marksiemers> If anyone can confirm or correct those statements, LMK.
snsei has joined #crystal-lang
<FromGitter> <jwaldrip> there is a caveat, there are some dynamically linked libraries
snsei has quit [Remote host closed the connection]
<FromGitter> <jwaldrip> i.e. Bohem GC, LibreSSL, LibYAML
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<FromGitter> <marksiemers> For each app that you build, those are dynamically linked?
<FromGitter> <jwaldrip> yep
snsei has joined #crystal-lang
<FromGitter> <marksiemers> ok, thanks
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<FromGitter> <drosehn> [ @mjago & rx14 ] After my post 22 hours ago, I got caught up unrelated issues at work, so I haven't had time to catch up on gitter until just now. And I need to head home soon to catch up on sleep, but I'll check the page at stackoverflow and see if that helps me.
<FromGitter> <drosehn> Note, however, that I was *already* using `Process.run()`, but I'm obviously missing some important details. I have something which seems to work well enough for my purposes, but *it* always ends by raising * kill: No such process (Errno)*. I am not calling `kill`. I'm not quite that stupid, not even when I'm really tired.
<FromGitter> <drosehn> I got my code to work by putting a rescue around my call to `Process.run()`, so I can capture that `kill`-related error. But I can't believe that is how it's supposed to work. I'm sure I'm missing something which is super-obvious to anyone who understands the `IO::FileDescriptor` stuff. I'm going to be heading home soon, but hopefully that page at stackoverflow will point me in the right direction. Thanks!
pabs has quit [Ping timeout: 260 seconds]
pabs has joined #crystal-lang
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 255 seconds]
ashirase has quit [Ping timeout: 240 seconds]
ashirase has joined #crystal-lang
astronavt has quit [Quit: Leaving...]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 255 seconds]
<FromGitter> <mjago> @drosehn Its probably worth having a read through the specs on this one - they are pretty thorough and show how to read the various streams including error stream, and the process status (exit_code): https://github.com/crystal-lang/crystal/blob/master/spec/std/process_spec.cr
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 255 seconds]
flaviodesousa has joined #crystal-lang
Ven`` has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
mark_66 has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
flaviodesousa has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
snsei has joined #crystal-lang
flaviodesousa has joined #crystal-lang
snsei has quit [Ping timeout: 255 seconds]
brycek has quit [Ping timeout: 258 seconds]
brycek has joined #crystal-lang
rohitpaulk has joined #crystal-lang
Groogy_ has quit [Quit: WeeChat 1.9.1]
mbarbar has joined #crystal-lang
<FromGitter> <bararchy> I want to do something like this in Crystal ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ But because our `select` call is a big no no, how should I go implamenting this? [https://gitter.im/crystal-lang/crystal?at=5a2fa5e2a2be4668288f6b36]
<FromGitter> <bararchy> Oh, I just understood that IO is IO, so eventloop "non_blocking which is actually blocking but Crystal has your back" thingy is working for Files too and not just Sockets
<FromGitter> <bararchy> so, NVM
rohitpaulk has quit [Ping timeout: 268 seconds]
dhk has joined #crystal-lang
csk157 has joined #crystal-lang
csk157 has quit [Ping timeout: 250 seconds]
snsei has joined #crystal-lang
dhk has quit [Quit: Leaving]
snsei has quit [Ping timeout: 240 seconds]
<jokke> where can i read about the current state of "real" concurrency for crystal?
<FromGitter> <bararchy> There is no "real" state, there is a. Dead fork, and no one is working on this feature right now
<jokke> oh really?
<jokke> i thought this was a major priority for 1.0 release
<FromGitter> <bararchy> It is, but 1.0 is not here anytime soon
<jokke> :/
<jokke> how come?
<jokke> is manas pulling off resources?
<FromGitter> <bararchy> jokke, manas resources for Crystal are really minimal to begin with, moreonver, there lack of comunication makes following what they actually do really hard, right now as far as I can tell, non-manas core team is the most Active, which is essentilly....RX14 XD
<jokke> lol
<jokke> what's up with jhass? isn't he active any more?
<FromGitter> <bararchy> he isn't Manas employee as far as I know
<jokke> but he's not doing any work on the compiler afair
<jokke> no he's not
<jokke> but RX14 isn't either
<FromGitter> <bararchy> that was my point :)
<jokke> yeah
<jokke> well i'm doing what i can to promote crystal in my circle
<FromGitter> <bararchy> The only manas I see is @mgarciaisaia , who is the comunnity manager
<FromGitter> <bararchy> he closes releases
<jokke> hm ok
<RX14> You forgot about ysbaddaden
<FromGitter> <bararchy> Oh, true
<FromGitter> <bararchy> he is manas
<RX14> No
<RX14> No he's not
<jokke> that's a shame :/ I really wish there was an alternative for go with a solid language design...
<RX14> There is, crystal
<jokke> not without proper concurrency
<jokke> non blocking io is great, but it's not much better than node in that sense (except that it has much better single thread performance of course)
<RX14> We have concurrency
<RX14> Just not parallelism
<jokke> yes okay. Sorry
<RX14> Please don't get them mixed up
<FromGitter> <bararchy> yasbaddaden isn't manas? wow... so this means no one from manas has been activly working on code for the last 3 months or so
<RX14> Yes, that's true
<RX14> Well not really
<RX14> There has been some pulls
<RX14> Theres a time pr from bcardiff
<RX14> Its not nothing
<RX14> They're doing their best
<jokke> i'm sure they are
<RX14> But manas is going through a tough spot right now
<FromGitter> <bararchy> looking at the whole year
<FromGitter> <bararchy> bcrdiff was the on;y manas working on Crystal
rohitpaulk has joined #crystal-lang
<jokke> asterite is manas
<FromGitter> <bararchy> no he isn't
<jokke> what?!
<jokke> really? :D
<FromGitter> <bararchy> he left manas long time ago
<jokke> he's invested as hell then!
<FromGitter> <bararchy> don't really remember when
<jokke> aah ok
<FromGitter> <bararchy> yeha @asterite does great work :)
<jokke> no wonder manas is in a tight spot if he left ;)
<RX14> Ary left earlier this year
<FromGitter> <bararchy> RX14 - I'm sure manas are doing there best, It's not that I'm blaming, it's just the notation of Crystal == Manas is kinda false now days
<RX14> But he's still very much friends with the manas lot
<RX14> And that's a good thing @bararchy
<FromGitter> <bararchy> well, in that case they shouldn't be getting payed for it no?
<FromGitter> <bararchy> and you. and jhass and yasbad should be
<jokke> you mean by donations?
<RX14> That's not how open source works
<RX14> Lol
<RX14> I do it because I love it
<FromGitter> <bararchy> it's not, but taking donations while not doing work is kinda ....
<FromGitter> <bararchy> I know dude
<RX14> If someone wants to employ me to work on crystal I would say yes any day
<jokke> well i guess they're paying for the server infrastructure
<RX14> But that doesn't seem likely
<FromGitter> <bararchy> I still think that if donations are given in false pretence that Manas are having 2 half time devs on Crystal
<jokke> ^
<jokke> well.. they've raised 8.5k with bounty source... that's nothing
<FromGitter> <bararchy> It's not much, that's true, but if this money can go dynamiclly to the biggest contrubuter each month, that would be more fair
<FromGitter> <bararchy> anyway, back to topic, RX14, is there a way to timeout on File.gets ? it seems that `f = File.open; f.read_timeout = 0.5` doest not timeout
<jokke> as soon as you start rewarding people for commits things go to shit
<FromGitter> <bararchy> jokke, could be, I didn't really thought this thouru, just saying that it feels wierd right now
<jokke> mmh
<FromGitter> <bararchy> I have this example https://play.crystal-lang.org/#/r/38d6
<FromGitter> <bararchy> It seems that the "return" never happens
<FromGitter> <mjago> yasbad hehe ~ even I can remember how to spell that
<FromGitter> <bararchy> XD too long
alex`` has joined #crystal-lang
alex`` has quit [Client Quit]
rohitpaulk has quit [Read error: Connection reset by peer]
rohitpaulk has joined #crystal-lang
<FromGitter> <bararchy> Compiling Crystal code staticlly and getting sigfault when Exceptions occur...this is anoying XD
alex`` has joined #crystal-lang
alex`` is now known as alexherbo2
alexherbo2 is now known as alex``
rohitpaulk has quit [Ping timeout: 255 seconds]
rohitpaulk has joined #crystal-lang
snsei has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
snsei has quit [Ping timeout: 250 seconds]
<faustinoaq> How is possible crystal package size is only 3MB but installation uses 60MB storage?
<faustinoaq> Is crystal package so well compressed?
<FromGitter> <bararchy> packed as sources?
<faustinoaq> No, is binary, I tested it, I just need to download 3MB using `sudo pacman -S crystal`
<faustinoaq> Is insane, way smaller that other languages...
<faustinoaq> except Lua, Lua is impressive small
<faustinoaq> Crystal package (3.1MB) is even smaller than Ruby (3.7MB) and Python(60MB+). Also compared with other compiled languages crystal is very tiny, by example Julia (10MB+), Nim (17MB), Rust (60MB+) and Go(60MB+). Just elixir is smaller(2.9MB) but needs OTP VM
<faustinoaq> We still have the Clang dependency (50MB), or GCC(30MB+)
<faustinoaq> RX14 Do you think would be possible to use tinyc or some other small c compiler, instead of clang/gcc?
<RX14> We don't need a compiler
<RX14> We just need a linker
<RX14> Its something to be fixed
<RX14> But its nowhere near a priority
<FromGitter> <alehander42> for a lot of those languages packages are not the recommended way to install tho
<faustinoaq> Oh, I understand +1
<RX14> Please use packages
<FromGitter> <alehander42> but 3 mb is impressive
<RX14> Distro packages are the best
<FromGitter> <alehander42> depends on the project RX14
<RX14> Why?
<FromGitter> <alehander42> I've seen some young languages recommending prebuilt binaries, some of them can be upgraded using their own packaga managers or tools
<faustinoaq> Like Rust?
<FromGitter> <alehander42> e.g. I update Julia using binaries
<FromGitter> <alehander42> yeah rust like that
<FromGitter> <alehander42> for Nim, I directly pull devel and compile, as its exctremely quick to compile
<FromGitter> <alehander42> etc
<RX14> Well I don't mind rustup
<RX14> Rustup is pretty much the only good way to do a version manager
<RX14> And you should install rustup as a system package
<FromGitter> <alehander42> yeah, packages especially after v1.0 are best ofc, but people still do a lot of different things
<faustinoaq> @alehander42, Well, crystal is not too fast to compile, but is acceptable, I can compile crystal-master in less than one minute without --release flag
<FromGitter> <alehander42> maybe, I haven't analyzed a lot rustup itself, what is it doing better
<RX14> It doesn't mess with the shell
<FromGitter> <alehander42> nah, I compile nim in release in 10 seconds, but that's not too important, just showcasing different approaches
<RX14> It has wrapper binaries in /usr/bin which call the real binaries
<faustinoaq> Oh, We also have https://github.com/pine/crenv
<RX14> Yeah that messes with the shell faustinoaq
<RX14> And sucks
<FromGitter> <alehander42> nice, is it easy to use several versions of rust with it? I used only one
<faustinoaq> Yeah, I used to use crenv but have some issues with LLVM
<faustinoaq> s/have/had/
<faustinoaq> Nim compile times are very impressive +1
<FromGitter> <alehander42> yeah, that's one of it major plus-es I guess, but afaik it's harder with llvm
<faustinoaq> Yeah, LLVM is a great tool, but it has some downsides
<faustinoaq> like slow compilation
<faustinoaq> I guess why go/nim don't use it
<FromGitter> <alehander42> at least nim has a lot of different garb collectors and eventually a gcless mode, go has very special light threads, so I guess that too
<FromGitter> <alehander42> btw what is the reason there is no windows version?
<FromGitter> <alehander42> I thought the same llvm code can map easily different os-es
<RX14> It can compile code for windows but that doesn't help if the apis are different
<RX14> Think about it: using clang doesn't magically make Linux programs magically work on windows
<RX14> Otherwise we'd all be doing that
<FromGitter> <alehander42> of course, just it seems supporting at least most of the correct windows api-s shouldn't be too difficult
<FromGitter> <alehander42> but it might be harder than I think
<FromGitter> <bitmappergit> wait, i can use C libraries with crystal or am I misunderstanding
<RX14> You can
<RX14> We use libc and libevent and all sorts in the stdlib
<FromGitter> <bitmappergit> that makes things a lot easier for me
<FromGitter> <bitmappergit> is there any bugs/issues with using c libraries
<FromGitter> <bew> Is there a way to fix this? https://carc.in/#/r/38dp
<FromGitter> <bew> I want to store a proc that will always return Nil
<FromGitter> <bew> and I want to have the arguments types in a constant, to do sth like https://carc.in/#/r/38dq
<FromGitter> <bew> hmm seems that `*T` in `initialize` is not recognize as the correct `T`..
<foxxx0> how do i create an empty Set?
<foxxx0> groups = Set.new
<foxxx0> in day12.cr:24: can't infer the type parameter T for the generic struct Set(T). Please provide it explicitly
<foxxx0> how do i supply the type parameter there? and what if i have nested sets?
<FromGitter> <bew> @foxxx0 Set(Int32).new
mbarbar has quit [Ping timeout: 240 seconds]
<foxxx0> bew: thanks
<foxxx0> and what is the crystal equivalent to Ruby's Enumerable#find_all?
<foxxx0> simply select?
<FromGitter> <bew> yeah should work the same
rohitpaulk has joined #crystal-lang
<foxxx0> thanks!
ashirase has quit [Ping timeout: 248 seconds]
ashirase has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 240 seconds]
<faustinoaq> Hi @marksiemers, at minute [1:00](https://youtu.be/wYSX9ftk5s8?list=PLrIKo1gDPIPtb9r7iXQw8NMHQ7YktLGTT&t=60) on your Q&A video, Somebody says: an post by an "expert" claimed that you should never use Crystal, Did you found that post?
<RX14> i would love to read it
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 240 seconds]
rohitpaulk has joined #crystal-lang
<FromGitter> <Willamin> Is there a simple way to redefine the default integer type?
<FromGitter> <bew> don't think so
<FromGitter> <Willamin> :(
<FromGitter> <Willamin> thanks anyways
<FromGitter> <bew> it's currently hardcoded in the compiler
<FromGitter> <bew> iirc
<FromGitter> <Willamin> gotcha
<RX14> it would break most of the stdlib if you did @Willamin
<faustinoaq> Good reading about Crystal state, https://qiita.com/yahhonob/items/6a5e7e22ce79b26497f9
<faustinoaq> The post is written in Japanese, but you can translate to English, sometimes google translator is very good
<FromGitter> <bew> who wrote this?
<FromGitter> <bararchy> @yahhonob apparently
<FromGitter> <bararchy> Not sure who it is thogu
<FromGitter> <marksiemers> @faustinoaq and @RX14 - I followed up and the guy can't find the post anymore (go figure). The person who asked the question is pretty reputable. I don't think there was any malice in his question. If it turns up, I'll post it here.
<RX14> hmm
<faustinoaq> @bew @yahhonob is part of Crystal Japan the same team of @at-grandpa and @MakeNowJust :-)
<FromGitter> <bew> oh ok, cool!
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 276 seconds]
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
<jokke> hmm
<jokke> is kemals send_file broken?
<jokke> in lib/kemal/src/kemal/helpers/helpers.cr:120: 'Flate::Writer.new' is not expected to be invoked with a block, but a block was given
<FromGitter> <sdogruyol> @jokke you need to Kemal master with 0.24.0
<jokke> ok
<FromGitter> <sdogruyol> need to use*
<jokke> hm how do i do this?
<jokke> version: 0.24.0 doesn't work
mark_66 has quit [Quit: Leaving.]
<jokke> ah
<FromGitter> <sdogruyol> what do you mean?
<jokke> m(
<jokke> i'm just an idiot
<jokke> hmmm
<jokke> no
<jokke> yup branch: master did the trick
<FromGitter> <sdogruyol> great 👍
<jokke> thanks!
<FromGitter> <sdogruyol> thank you :)
sauer2 has joined #crystal-lang
hightower2 has joined #crystal-lang
<sauer2> Hi, is there a way to use macros to generate code in two different places per macro instanciation?
<FromGitter> <Sija> sth like ```
<FromGitter> <Sija> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=5a30169b51915d962afd06e8]
<sauer2> @Sija: Thanks, but what does the :: do?
<FromGitter> <Sija> see https://carc.in/#/r/38ex
<FromGitter> <Sija> references top-level scope
<FromGitter> <Sija> but that code doesn’t seem to work, in this case removing `::` fixes it
<FromGitter> <Sija> `::` is used in case you’d have `Foo::Bar` which might get referenced instead
<sauer2> @Sija But doesn't that only change Bar? I should probably more specific...
<FromGitter> <Sija> depends on what’cha wanna do
<FromGitter> <Sija> example I’ve given reopens `Bar` class adding new method to it
<FromGitter> <Sija> what are *two different places* you’ve mentioned about?
<sauer2> @Sija: Non-hypothetical example: I have an interpreter that has a class hierachy for registered functions. One subclass is functions defined in the script and another is for foreign functions written in Crystal... [cont]
<sauer2> In order to add functions, you need to subclass this second one and create an instance of your custom subclass to inject it into the interpreter.
<sauer2> Now, that involves two steps, because anonymous classes don't exist, apparently:
<sauer2> 1. Creating a custom function subclass and 2. creating and adding an instance to the interpreter object.
<FromGitter> <Sija> ad #1: it’s possible to define classes through macros
<FromGitter> <Sija> ad #2: it’s possible to use for example `Hash` constant to keep track of defined instances
<sauer2> In the top-level scope I could probably use a macro to do this all in once, but in the standard library modules where I want to do this I can't declare a class and at the same time call methods on objects that don't exist yet...
flaviodesousa has quit [Ping timeout: 240 seconds]
<FromGitter> <Sija> maybe adding another compiler pass would be a way to go?
<sauer2> @Sija: What do you mean? Should I somehow nest macros into macros?
<sauer2> Is there a guaranteed order of expansion?
<sauer2> Nvm, documentation says it's possible.
<sauer2> @Sija: Thanks a lot.
<FromGitter> <Sija> yw!
snsei has joined #crystal-lang
sauer2 has quit [Quit: Page closed]
snsei has quit [Ping timeout: 255 seconds]
<jokke> any idea what this means: crystal: /var/cache/omnibus/src/llvm/llvm-3.8.1.src/lib/CodeGen/LexicalScopes.cpp:160: llvm::LexicalScope* llvm::LexicalScopes::getOrCreateRegularScope(const llvm::DILocalScope*): Assertion `cast<DISubprogram>(Scope)->describes(MF->getFunction())' failed.
<jokke> /usr/bin/crystal: line 102: 33 Aborted (core dumped) "$INSTALL_DIR/embedded/bin/crystal" "$@"
<FromGitter> <sdogruyol> are you using --release with --no-debug ?
<jokke> no
<jokke> only --release
Ven`` has joined #crystal-lang
<jokke> should i use --no-debug?
<oprypin> yes
<jokke> ok
<jokke> great!
sauer2 has joined #crystal-lang
<jokke> now it fails with something different though
<jokke> /usr/bin/ld: /opt/crystal/embedded/lib/../lib/libgc.a(os_dep.o): undefined reference to symbol '_end'
<jokke> /usr/lib/x86_64-linux-gnu/libsodium.so.18: error adding symbols: DSO missing from command line
<jokke> collect2: error: ld returned 1 exit status
<FromGitter> <sdogruyol> do you have openssl installed?
<jokke> i'm running the build in a docker container FROM crystallang/crystal
<oprypin> ugh
<sauer2> @Sija: What I can't find in the docs -> Is it possible to create and manipulate variables that exist at compile time only? For example, if I were to create a macro that creates a class and registers the class name at a compile time variable and use this information in a second macro pass somewhere else?
<oprypin> you can do that but please don't
<oprypin> ABC = [] of nil; {% ABC << "def" %}
<FromGitter> <Sija> @sauer2: you could use constants for that
<FromGitter> <Sija> exactly
rohitpaulk has quit [Ping timeout: 248 seconds]
<sauer2> Thanks guys!
<FromGitter> <ondreian> on Ubuntu 16.04, I have a system `pcre` which does not have utf-8 support, however the embeded pcre version of Crystal is compiled with pcre support, but when I compile using `crystal build` it does not seem to be using the utils in `/opt/crystal/embedded/bin`
rohitpaulk has joined #crystal-lang
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven`` has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 268 seconds]
sauer2 has quit [Quit: Page closed]
Ven`` has quit [Read error: Connection reset by peer]
Ven`` has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
<jokke> i'm still trying to compile a statically linked binary (i have done this successfully before), but it fails with: https://p.jreinert.com/6uA/
<jokke> i wonder why, because i'm passing -lsodium to the linker
sauer2 has joined #crystal-lang
<sauer2> @oprypin Remember when you said, please don't do that? Don't worry, it apparently isn't possible right now, because of Error in line X: can't use Class as generic type argument yet, use a more specific type
<sauer2> And if that worked, instanciation and passing methods would probably have been the next showstoppers.
csk157 has joined #crystal-lang
csk157_1 has joined #crystal-lang
csk157 has quit [Ping timeout: 255 seconds]
<hightower2> I would like to do something like: class X; @@var; macro x() class MyCreatedClass; @@var.push something end end end. So the question in essence is, how do I access @@var from the macro? And I can't use X.var because I need "X" to always refer to the parent class, not be fixed.
<hightower2> Let me know if I should clarify the question better
rohitpaulk has joined #crystal-lang
<FromGitter> <drosehn> (a guess) Could you do the `macro` part of that as a module that you would include in other classes where you want this?
snsei has joined #crystal-lang
<FromGitter> <bew> Use a constant instead of a class variable?
<FromGitter> <bew> What kind of thing are you trying to push in that var?
snsei has quit [Ping timeout: 255 seconds]
Liothen has quit [Ping timeout: 260 seconds]
_whitelogger_ has joined #crystal-lang
lacour has joined #crystal-lang
_whitelogger has quit [Remote host closed the connection]
andrewzah has joined #crystal-lang
dannyAAM has joined #crystal-lang
phase[m] has joined #crystal-lang
sevensidedmarble has joined #crystal-lang
Liothen has joined #crystal-lang
braidn[m] has joined #crystal-lang
daemonwrangler_ has joined #crystal-lang
sauer2 has quit [Quit: Page closed]
thews has joined #crystal-lang
thews has joined #crystal-lang
thews has quit [Changing host]
TheGillies has joined #crystal-lang
<crystal-gh> [crystal] docelic opened pull request #5378: Minor: s/inlcude/include/ (master...master) https://git.io/vbzDm
dostoyevsky has quit [*.net *.split]
<hightower2> drosehn, bew: I managed to somehow do what I want, by passing "self" to the macro, and then using it. But it looks silly because now I write like: class X; my_macro X, the_rest(of, stuff); end. If there is a method accessible within macros that expands to name of current class, that'd solve my problem
dostoyevsky has joined #crystal-lang
<FromGitter> <bew> Yes, `@type`
<FromGitter> <bew> Which is the TypeNode of the current type
<FromGitter> <bew> But it's not usable everywhere iirc
<hightower2> Fabulous, got it. Thanks!
rohitpaulk has quit [Ping timeout: 248 seconds]
thews has quit [*.net *.split]
thews has joined #crystal-lang
thews has quit [Changing host]
thews has joined #crystal-lang
foxxx0 is now known as bsd
bsd is now known as foxxx0
DTZUZU has joined #crystal-lang
<FromGitter> <unreadable> 2 days ago etherum was around $300 and now it's $600, wth cryptocurrencies oO
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 246 seconds]
<FromGitter> <HCLarsen> Is there a time frame for 0.24.0?
<oprypin> HCLarsen, assuming you mean 0.24.1. no but it could be even this week from what i've heard
<oprypin> could be never for all i know. nothing official
<FromGitter> <HCLarsen> Wouldn't 0.24.0 come before 0.24.1?
<FromGitter> <HCLarsen> Yeah...
<FromGitter> <HCLarsen> If this is the pre-release of 0.24.0, the proper release of 0.24.0 should follow...
<oprypin> that's not how it works tho
<oprypin> let's put it in a different way: https://github.com/crystal-lang/crystal/tags
<oprypin> and retracting tags is a huge no-no
<FromGitter> <HCLarsen> That's how version usually works.
<FromGitter> <HCLarsen> But if you guys want to break convention, that's up to you.
<oprypin> i'm not affiliated btw
<oprypin> this was a botched release, the "pre-release" thing is just a bad cover-up
<FromGitter> <HCLarsen> Ohh, ok. That explains it.
<oprypin> the convention is, if it's a normal version without a -suffix, then it can't be a pre-release
<oprypin> so the only thing breaking convention is calling it one
Ven`` has quit [Ping timeout: 248 seconds]
Ven`` has joined #crystal-lang
<RX14> @HCLarsen if it was 0.24.0-pre1 then yes we would release 0.24.0
<RX14> it's not
<RX14> it's 0.24.0 with no prerelease designation
<RX14> so we must release 0.24.1
<FromGitter> <HCLarsen> Right, got it.
<FromGitter> <HCLarsen> @RX14, is there an expected release for 0.24.1?
<RX14> a date? no
<FromGitter> <HCLarsen> Ok.
Ven`` has quit [Ping timeout: 256 seconds]
Ven`` has joined #crystal-lang
Ven`` has quit [Ping timeout: 248 seconds]
Ven`` has joined #crystal-lang
<FromGitter> <HCLarsen> Has anyone here worked with ysbadden's minitest shard?
<FromGitter> <JonnyCodewalker> ah...i was wondering what was going on with 0.24 xD
<FromGitter> <HCLarsen> Is your name a play on the whisky brand?
pabs has quit [Quit: leaving]
alex`` has quit [Ping timeout: 255 seconds]
pabs has joined #crystal-lang
<crystal-gh> [crystal] luislavena opened pull request #5380: Execute 128bits Hasher specs that are now passing (master...execute-128bits-hasher-specs) https://git.io/vbgJI
<FromGitter> <JonnyCodewalker> mine? no, i thought about Shmi Skywalker (anakins mum) or rather the skywalkers in general
<hightower2> Hey, why I seemingly can't just pass a block as-is without having to specify its type? https://play.crystal-lang.org/#/r/38gz
<hightower2> HCLarsen: also check out https://github.com/docelic/specreporter-spec
faustinoaq has quit [Quit: IRC client terminated!]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 255 seconds]
<FromGitter> <HCLarsen> @JonnyCodewalker ok, I just instantly thought of Johnnie Walker whisky when I saw your name.
<FromGitter> <HCLarsen> hightower, I think I'll try figuring out this shard before I start worrying about formatters and other stuff.
<FromGitter> <HCLarsen> Especially considering that he just told me that I need Crystal 0.24.0 in order to use it.
<FromGitter> <drosehn> FWIW, here's another web site which let's anyone paste in snippets of code, and gives the user a link which they can pass along to others to see. And you can select what language the code is, for formatting and helpful coloring of keywords: https://paste.ofcode.org
<FromGitter> <marksiemers> @hightower2 - On line 19, you are passing a block that takes an argument - the `{ |x|`
<FromGitter> <marksiemers> This might not be what you want, but you can overload your `add_to_blocks` method: https://play.crystal-lang.org/#/r/38h0
<hightower2> marksiemers: no, my problem is that I do want to pass a block which takes an argument. But for some reason it doesn't work when I want to do it "indirectly" via add_to_blocks and without specifying the block signature there
<hightower2> I was hoping that passing the blocks as-is through add_to_blocks would work, but it doesn't
<FromGitter> <marksiemers> With blocks, the return value can be generic, but the number and type of args cannot, unfortunately.
<hightower2> marksiemers: seems like my answer could be on https://crystal-lang.org/docs/syntax_and_semantics/block_forwarding.html, but need more reading to figure it out
<FromGitter> <HCLarsen> Is there a way to use an older version of a shard?
<FromGitter> <marksiemers> @HCLarsen - In your shards.yml, you should be able to use a version, branch, or commit hash
<FromGitter> <HCLarsen> I had an older version in the shards.yml, and shard install still gave me the newest version.