jhass changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.17.4 | Fund Crystals development: http://is.gd/X7PRtI | Paste > 3 lines of text to https://gist.github.com | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Logs: http://irclog.whitequark.org/crystal-lang
vikaton has joined #crystal-lang
paulcsmith_ has joined #crystal-lang
icezimm has quit [Quit: Leaving.]
paulcsmith_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
vikaton has quit [Quit: Connection closed for inactivity]
snsei has joined #crystal-lang
|meta has quit [Quit: Connection closed for inactivity]
matp has quit [Remote host closed the connection]
snsei has quit []
snsei has joined #crystal-lang
matp has joined #crystal-lang
pawnbox has joined #crystal-lang
matp has quit [Remote host closed the connection]
matp has joined #crystal-lang
zodiak has joined #crystal-lang
zodiak_ has quit [Ping timeout: 240 seconds]
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei_ has joined #crystal-lang
snsei_ has quit [Remote host closed the connection]
snsei has quit [Ping timeout: 252 seconds]
mark_66 has joined #crystal-lang
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 272 seconds]
pawnbox has quit [Remote host closed the connection]
<crystal-gh> [crystal] ysbaddaden closed pull request #2708: TLS hostname check (master...tls_hostname_check) https://git.io/vrNJn
pawnbox has joined #crystal-lang
<travis-ci> crystal-lang/crystal#05f67db (master - Merge pull request #2708 from jhass/tls_hostname_check): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134685392
trapped has joined #crystal-lang
triangles2 has joined #crystal-lang
triangles has quit [Ping timeout: 260 seconds]
pawnbox_ has joined #crystal-lang
pawnbox has quit [Ping timeout: 264 seconds]
bjz has joined #crystal-lang
Papierkorb has joined #crystal-lang
steenuil has quit [Quit: Textual IRC Client: www.textualapp.com]
dome22xl has joined #crystal-lang
steenuil has joined #crystal-lang
dome22xl has quit [Ping timeout: 250 seconds]
snsei has joined #crystal-lang
bjz_ has joined #crystal-lang
bjz has quit [Ping timeout: 272 seconds]
snsei has quit [Ping timeout: 260 seconds]
snsei has joined #crystal-lang
icezimm has joined #crystal-lang
pawnbox_ has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
Philpax has quit [Quit: Leaving]
Philpax has joined #crystal-lang
<icezimm> asterite: +1 for adding `easy` labels :)
<jhass> actually question is, "easy" or "simple" ?
<icezimm> maybe for asterite a lot of non-easy may be easy hahah
<icezimm> rails added `first-good-patch`
<jhass> at diaspora we use "newcomer"
<icezimm> interesting
paulcsmith_ has joined #crystal-lang
<jhass> I like both better than easy tbh
<jhass> a first task doesn't have to be easy or quick to do
|meta has joined #crystal-lang
<jhass> just keep complexity low on all but one vector, contributor workflow, implementation complexity, internals knowledge etc
<icezimm> totally agree
<jhass> icezimm: btw github assignments only allow contributors to be assigned
<icezimm> ahhhhh really, totally forgot :~
icezimm has quit [Ping timeout: 244 seconds]
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vrpRo
<crystal-gh> crystal/master f029d2e Ary Borenszweig: Make specs compile with the current compiler
<asterite> jhass: feel free to rename the label, you definitely have more experience than me managing github issues :-)
<asterite> Also... I have a feeling you took the role of making openssl work well in Crystal. Now I'd like to have something like "Crystal heroes" just to mention you :-D
<jhass> eh, s/OpenSSL/TLS/ for now
<jhass> won't touch the ciphers madness :P
<jhass> asterite: newcomer is still my preference I think, though (good-)first-task or (good-)first-patch sounds good to me too, any preference among these or similar?
<asterite> newcomer is good
<jhass> cool, we should also mention it in CONTRIBUTING.md
<BlaXpirit> I like "easy", "newcomer", those others confuse me
<jhass> BlaXpirit: "I like easy and newcomer," or "I like easy, newcomer and"?
<BlaXpirit> oops
<BlaXpirit> I like "easy" and "newcomer". those others confuse me
<jhass> newcomer it is then :)
<travis-ci> crystal-lang/crystal#f029d2e (master - Make specs compile with the current compiler): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134766528
<jhass> asterite: mmh, I'm not so sure about the stdlib specs requirement actually. I mean we would actually want to run make std_spec crystal compiler std_spec then and idk if that isn't going to get a bit slow, besides having to have the testsuite compatible with as you already mentioned
<jhass> as to making Crystal::VERSION work, that'd be as simple as setting CRYSTAL_CONFIG_VERSION while compiling the compiler on travis
<asterite> Maybe we can just add a check that all the specs compile, without running them?
<jhass> well compiling them takes most of the time on my machine actually
<jhass> they run in like 8 seconds for me
<asterite> Oh, right, just the std specs...
<crystal-gh> [crystal] jhass pushed 1 new commit to master: https://git.io/vrpaj
<crystal-gh> crystal/master ca08956 Jonne Haß: Mention newcomer label in Contributing.md [ci skip]
steenuil has quit [Ping timeout: 260 seconds]
steenuil has joined #crystal-lang
<crystal-gh> [crystal] jhass pushed 1 new commit to master: https://git.io/vrpoC
<crystal-gh> crystal/master ea11f0e Jonne Haß: Add file_utils.cr to doc_main.cr
bjz_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
paulcsmith_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bjz has joined #crystal-lang
<travis-ci> crystal-lang/crystal#ea11f0e (master - Add file_utils.cr to doc_main.cr): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134780452
trapped_ has joined #crystal-lang
trapped has quit [Read error: Connection reset by peer]
trapped_ is now known as trapped
paulcsmith_ has joined #crystal-lang
paulcsmith_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Philpax has quit [Ping timeout: 252 seconds]
<jhass> asterite: uh, not sure I get the combination of "draft" "RFC" and "newcomer" :)
<asterite> Oh, I was going to ask you about this... I'd like to propose some features to implement, but they need some discussion before someone can take them
<asterite> I thought about maybe "std + enhancement + needs definition" or something like that
<asterite> Maybe "needs definition" == "draft"?
<jhass> I understood "draft" and "accepted" as "proposed" and "we want this/it will be accepted if implemented"
<jhass> but regular RFC/draft/stdlib seems fine to me?
<jhass> just switch to accepted if the discussion came to a conclusion (and add newcomer then if applicable)
<jhass> so that also means a closed issue with "draft" is "rejected/we don't want this"
<jhass> and a closed issue with "accepted" is "implemented"
<jhass> and it means draft and accepted at the same time makes no sense (you sometimes do that :P)
mark_66 has quit [Remote host closed the connection]
<jhass> asterite: so what was your understanding of these labels?
<asterite> Oh, I see. Sound goods. First rfc + draft, then accepted + newcomer
<jhass> yes
<jhass> so that also means that from time to time it would be good if you'd go through https://github.com/crystal-lang/crystal/labels/draft ;)
paulcsmith_ has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vrp5c
<crystal-gh> crystal/master 38b04f5 Ary Borenszweig: Compiler: move top-level macro methods logic into `macro/methods.cr`
ruslux has joined #crystal-lang
<crystal-gh> [crystal] asterite opened pull request #2723: Macros: add `flag?` method. Part of #2710 (master...feature/macro_flag) https://git.io/vrpdN
ruslux has quit [Ping timeout: 250 seconds]
elomatreb has quit [Quit: mep mep]
elomatreb has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vrpAS
<crystal-gh> crystal/master 36ab7e8 Ary Borenszweig: Compiler: preserve attributes generated by macro code
Raimondi has joined #crystal-lang
<travis-ci> crystal-lang/crystal#36ab7e8 (master - Compiler: preserve attributes generated by macro code): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134808536
Raimondi has quit [Remote host closed the connection]
Raimondi has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vrhkd
<crystal-gh> crystal/master 5fcfdd7 Ary Borenszweig: Merge pull request #2723 from crystal-lang/feature/macro_flag...
<jhass> asterite: mmh, if we can get rid of three more PRs we're back to single page of PRs :P
<crystal-gh> [crystal] asterite closed pull request #2638: Add `now` macro method (release/0.17...feature/macro_now) https://git.io/vrVaJ
<jhass> :D
<jhass> 2 I mean
<crystal-gh> [crystal] asterite opened pull request #2724: Compiler: allow using macros inside lib declarations. Part of #2710 (master...feature/macros_in_lib) https://git.io/vrhL2
<asterite> jhass: yes, I saw the number 28 just now :-)
<asterite> the repo was missing you badly
<asterite> I think you might have dropped the count of issues and PRs by about 100 in a few days
<BlaXpirit> wow, you've already started the work on removing ifdef
<BlaXpirit> and yes, big thanks to jhass
<asterite> The "good" thing about ifdef is that code in dead branches must still parse correctly. With ifdef you can have a dead branch with a syntax error and not notice it immediately. However, I think this small advantage doesn't matter, as you'd still have to test both branches to make sure it works
<asterite> (similar to Ruby/Crystal code and not using it)
<asterite> On the other hand, with macros a dead branch is stored almost as text, so no need to do extra parsing and create nodes that are going to be dropped
<jhass> in the long term we can probably even parse else branches anyway
<jhass> I see no real reason to allow syntactically invalid code in them
<asterite> Finally, ifdef smells like C preprocessor, and macros are the way to do compile-time stuff. And the changes I had to made turned out to be easier than what I thought
<BlaXpirit> asterite, might be a good time to "unify C structs and structs" wink wink
<asterite> I thought about that, but it's not simple
<asterite> for example when you assign something to a struct field, to_unsafe is automatically called if the type doesn't match
<travis-ci> crystal-lang/crystal#5fcfdd7 (master - Merge pull request #2723 from crystal-lang/feature/macro_flag): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134824318
<BlaXpirit> well you can write that to the issue
<asterite> then procs are represented as poiinters, because in C they are pointrers... while crystal structs would hold a proc as a pair of pointers
<asterite> I'd still like to do it though, I think the codegen can take care of all of that
<BlaXpirit> for now, I wonder if assuming the layout of structs and C structs is always the same will get me far
<asterite> another issue is how disable checking nilable variables, because many C structs are created by libraries
<asterite> I'll add all of that to the issue. I still think unifying both would be the best thing to do
TheLemonMan has joined #crystal-lang
<crystal-gh> [crystal] keplersj opened pull request #2725: [WIP] Add 'compile' command as an alias of the 'build' command. (master...compile-command) https://git.io/vrhOm
<BlaXpirit> sigh, can't take pointerof(self). well that ruins my day
<asterite> if the type is a reference you can do self.as(Void*)... don't know what you are trying to do, though
<BlaXpirit> asterite, trying to pass Crystal structs to C code as Void*, of course :|
<BlaXpirit> (see also: earlier message)
<crystal-gh> [crystal] jhass pushed 1 new commit to master: https://git.io/vrh3v
<crystal-gh> crystal/master 93ac92f Jonne Haß: Merge pull request #2724 from crystal-lang/feature/macros_in_lib...
<BlaXpirit> found that issue where you removed it but i still don't get why it has to be so
paulcsmith_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<crystal-gh> [crystal] asterite pushed 2 new commits to master: https://git.io/vrh3w
<crystal-gh> crystal/master aad68c3 Mike Fiedler: Sort prelude.cr...
<crystal-gh> crystal/master 4d9ee07 Ary Borenszweig: Merge pull request #2654 from miketheman/miketheman/prelude...
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vrh31
<crystal-gh> crystal/master 19c1b13 Ary Borenszweig: prelude: add note about `docs_main`
<asterite> because `self` isn't always a pointer, for example for structs or primitives like in
<asterite> int
Raimondii has joined #crystal-lang
Raimondi has quit [Ping timeout: 240 seconds]
Raimondii is now known as Raimondi
<BlaXpirit> asterite, uh OK but it's on the stack, so somewhere in memory, so you can take its address
<BlaXpirit> in C++, anyway, where all things are on the stack, `this` is always a pointer
pawnbox has quit [Read error: Connection reset by peer]
pawnbox has joined #crystal-lang
<BlaXpirit> wow... https://carc.in/#/r/10ji
<BlaXpirit> welp pointerof(self) is just pointerof(@first_member)
paulcsmith_ has joined #crystal-lang
<BlaXpirit> and yes, that's what I would like to do without crazy hacks
<asterite> BlaXpirit: I remember I had LLVM crashes by using pointerof(self), might be something I was doing wrong, not sure
<BlaXpirit> even if so, it could be implemented like this for structs, and in the obvious way for references
Raimondi has quit [Ping timeout: 240 seconds]
<crystal-gh> [crystal] keplersj opened pull request #2726: Update documentation to reflect compiler command change (gh-pages...patch-1) https://git.io/vrhc2
<travis-ci> crystal-lang/crystal#93ac92f (master - Merge pull request #2724 from crystal-lang/feature/macros_in_lib): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134835026
<travis-ci> crystal-lang/crystal#4d9ee07 (master - Merge pull request #2654 from miketheman/miketheman/prelude): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134835969
<travis-ci> crystal-lang/crystal#19c1b13 (master - prelude: add note about `docs_main`): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134836416
Raimondi has joined #crystal-lang
Raimondii has joined #crystal-lang
Raimondi has quit [Ping timeout: 240 seconds]
Raimondi has joined #crystal-lang
Raimondii has quit [Ping timeout: 240 seconds]
Raimondii has joined #crystal-lang
Raimondi has quit [Ping timeout: 240 seconds]
P_raimondii has joined #crystal-lang
Raimondii has quit [Ping timeout: 240 seconds]
P_raimondii is now known as Raimondi
Raimondi is now known as Raimondii
<crystal-gh> [crystal] jhass pushed 3 new commits to master: https://git.io/vrhug
<crystal-gh> crystal/master 97e8db9 Kepler Sticka-Jones: Add 'compile' command as an alias of the 'build' command....
<crystal-gh> crystal/master cd9829f Jonne Haß: Merge pull request #2725 from keplersj/compile-command...
<crystal-gh> crystal/master ab0cade Jonne Haß: Add deprecation notice for the build command
<crystal-gh> [crystal] asterite opened pull request #2727: Add `Union(X, Y)` to denote a union type `X | Y`. Fixes #2659 (master...feature/union_syntax) https://git.io/vrhzn
Raimondii is now known as Raimondi
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 246 seconds]
matp has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<travis-ci> crystal-lang/crystal#ab0cade (master - Add deprecation notice for the build command): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/134861332
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
<BlaXpirit> https://carc.in/#/r/10k5 ಠ_ಠ
<jhass> the former seems to have an incorrect error message at least, whether the latter is actually a, I'm not so sure :P
<BlaXpirit> ignore the first example actually. but the 2nd one is sad.
paulcsmith_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<BlaXpirit> when I look at pull requests on github, I wish people followed this convention for emoji: heart means I support this change, thumbs up means I think the implementation is good
<jhass> you won't get a convention set up for this, because people ;)
<BlaXpirit> but what I was getting at, it is impossible to make a StaticArray with a size specified in a constant
matp has joined #crystal-lang
matp has quit [Ping timeout: 260 seconds]
trapped has quit [Read error: Connection reset by peer]
<leafybasil> jhass: regarding SSL issue, I just tried master, and it worked out fine cheers
<jhass> <3
<leafybasil> I'll throw a comment on the thread anyhow, just wanted to say thanks :)
<jhass> welcome, this was needed
matp has joined #crystal-lang