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>
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…]
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
<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
<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] 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…]
<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