00:16
jtarchie has quit [Quit: Connection closed for inactivity]
00:56
NeverDie has quit [Read error: Connection reset by peer]
00:57
NeverDie has joined #crystal-lang
01:08
fowlduck has joined #crystal-lang
01:08
bcardiff has quit [Quit: Leaving.]
01:25
wuehlmaus has quit [Quit: Lost terminal]
01:25
<
crystal-gh >
[crystal] will opened pull request #871: Update Projectfile and .travis.yml templates (master...templates)
http://git.io/vt4u3
01:32
ozra_ has quit [Ping timeout: 246 seconds]
02:29
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
02:52
fowlduck has quit [Remote host closed the connection]
03:01
havenwood has joined #crystal-lang
03:09
fowlduck has joined #crystal-lang
03:43
datanoise has quit [Ping timeout: 252 seconds]
03:51
shama has quit [Quit: (╯°□°)╯︵ɐɯɐɥs]
03:59
havenwood has quit [Ping timeout: 250 seconds]
04:01
bcardiff has joined #crystal-lang
04:01
havenwood has joined #crystal-lang
04:07
waj has joined #crystal-lang
04:07
bcardiff has quit [Quit: Leaving.]
04:07
waj has quit [Client Quit]
04:10
waj has joined #crystal-lang
04:47
fowlduck has quit [Remote host closed the connection]
05:00
havenwood has quit [Ping timeout: 276 seconds]
05:06
fowlduck has joined #crystal-lang
05:07
waj has quit [Quit: waj]
05:27
<
crystal-gh >
[crystal] hugoabonizio opened pull request #872: Remove useless message (master...hugoabonizio-remove-message)
http://git.io/vt4b8
05:28
fowlduck has quit [Remote host closed the connection]
05:49
havenwood has joined #crystal-lang
05:58
datanoise has joined #crystal-lang
06:03
datanoise has quit [Ping timeout: 264 seconds]
06:07
BlaXpirit has joined #crystal-lang
06:28
BlaXpirit has quit [Quit: Quit Konversation]
06:29
fowlduck has joined #crystal-lang
06:30
BlaXpirit has joined #crystal-lang
06:34
fowlduck has quit [Ping timeout: 264 seconds]
07:21
wuehlmaus has joined #crystal-lang
08:12
unshadow_ has joined #crystal-lang
08:13
<
unshadow_ >
jhass: you know what would be a cool addition to the bot ? an annaouncment here for every new question asked in SO with the crystal-lang tag
08:14
<
jhass >
does SO have an API or would we need an RSS reader?
08:15
ashleyis has joined #crystal-lang
08:17
fowlduck has joined #crystal-lang
08:17
<
jhass >
don't see an API endpoint for it
08:19
<
jhass >
nah, would need to make an account
08:19
<
unshadow_ >
maybe easier is RSS TBH
08:21
<
jhass >
both need state :/
08:21
<
jhass >
I'd want something that I can ask "all new since 10 minutes ago"
08:22
fowlduck has quit [Ping timeout: 248 seconds]
08:22
<
jhass >
/search is actually close but only accepts dates :/
08:23
<
unshadow_ >
>> Time.now + TimeSpan(0,10,0)
08:24
<
unshadow_ >
>> Time.now + TimeSpan.new(0,10,0)
08:32
<
jhass >
anyway, won't have time to hack on it this weekend
08:32
<
jhass >
as always though, contributions welcome
08:33
vegai has joined #crystal-lang
09:14
unshadow_ has quit [Quit: leaving]
09:54
<
crystal-gh >
[crystal] yui-knk opened pull request #874: Add Hash#merge test case (master...fix/test_hash_merge)
http://git.io/vtBwm
10:06
fowlduck has joined #crystal-lang
10:09
<
crystal-gh >
[crystal] yui-knk opened pull request #875: Declear type of arg hash (Hash#merge!) (master...fix/hash_merge_type)
http://git.io/vtBK0
10:10
fowlduck has quit [Ping timeout: 248 seconds]
10:48
<
crystal-gh >
[crystal] yui-knk opened pull request #876: Implement Hash#merge! with block (master...feature/hash_merge_block)
http://git.io/vtBMj
11:06
datanoise has joined #crystal-lang
11:10
datanoise has quit [Ping timeout: 244 seconds]
11:55
fowlduck has joined #crystal-lang
11:59
fowlduck has quit [Ping timeout: 248 seconds]
12:07
datanoise has joined #crystal-lang
12:12
datanoise has quit [Ping timeout: 256 seconds]
13:03
unshadow_ has joined #crystal-lang
13:05
ozra_ has joined #crystal-lang
13:06
<
unshadow_ >
>> a = {} of Hash(Symbol => String)
13:07
<
unshadow_ >
>> a = {} of Hash
13:08
<
unshadow_ >
>> a = {} of String => Hash
13:15
NeverDie has joined #crystal-lang
13:28
wanderer_ has joined #crystal-lang
13:37
<
jhass >
>> a = {} of String => Hash(Symbol, String)
13:37
<
jhass >
unshadow_: ^
13:38
<
unshadow_ >
jhass: thanks :)
13:38
<
unshadow_ >
apperently this also works a = {} of String => Hash
13:40
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"
13:40
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"; a.class
13:41
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"; a["a"][:a]?.class
13:41
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"; typeof(a["a"][:a]?=
13:41
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"; typeof(a["a"][:a]?)
13:41
<
jhass >
interesting
13:41
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"; a[:b] = {} of Int32 => Bool
13:41
<
DeBot >
jhass: Error in line 4: no overload matches 'Hash(String, Hash(K, V))#[]=' with types Symbol, Hash(Int32, Bool) -
http://carc.in/#/r/5p9
13:42
<
jhass >
>> a = {} of String => Hash; a["a"] = {} of Symbol => String; a["a"][:a] = "a"; a["b"] = {} of Int32 => Bool
13:44
fowlduck has joined #crystal-lang
13:48
fowlduck has quit [Ping timeout: 248 seconds]
13:50
ashleyis has quit [Ping timeout: 250 seconds]
13:53
<
unshadow_ >
:( I remmbered the bot knew how to say issues
13:54
<
jhass >
!enable GithubIssues
13:54
<
DeBot >
jhass: Enabled GithubIssues.
13:56
<
unshadow_ >
!disable GithubIssues
13:56
<
unshadow_ >
access control ha ?
14:02
ashleyis has joined #crystal-lang
14:11
flaviu has quit [Ping timeout: 256 seconds]
14:13
<
unshadow_ >
jhass: running this code:
http://carc.in/#/r/5pe , why does it returns "in line 16: undefined local variable or method 'sid'" ?
14:15
<
jhass >
unshadow_: it's called "closures", not "inject stuff into my parent scope"
14:16
ashleyis has quit [Ping timeout: 252 seconds]
14:16
flaviu has joined #crystal-lang
14:18
<
unshadow_ >
hm....I see,
14:18
<
crystal-gh >
[crystal] asterite closed pull request #878: Remove unnecessary space (master...fix/spase)
http://git.io/vtBQM
14:18
<
crystal-gh >
crystal/master 3880f22 Hugo Abonizio: Remove useless message...
14:18
<
crystal-gh >
crystal/master 1c11bc9 Ary Borenszweig: Merge pull request #872 from hugoabonizio/hugoabonizio-remove-message...
14:21
<
crystal-gh >
crystal/master c08aea3 yui-knk: Add Hash#merge test case...
14:21
<
crystal-gh >
crystal/master 0ec7b54 Ary Borenszweig: Merge pull request #874 from yui-knk/fix/test_hash_merge...
14:24
bcardiff has joined #crystal-lang
14:29
ashleyis has joined #crystal-lang
14:30
<
crystal-gh >
crystal/master e43c1c1 yui-knk: Implement Hash#merge! with block
14:30
<
crystal-gh >
crystal/master 5d2572a Ary Borenszweig: Merge pull request #876 from yui-knk/feature/hash_merge_block...
14:34
ashleyis has quit [Ping timeout: 265 seconds]
14:36
<
travis-ci >
manastech/crystal#2574 (master - 0ec7b54 : Ary Borenszweig): The build passed.
14:36
<
travis-ci >
manastech/crystal#2573 (master - 1c11bc9 : Ary Borenszweig): The build passed.
14:36
<
unshadow_ >
!disable travis-ci
14:39
<
jhass >
mmh, I guess we're close to having #crystal-dev or something makes sense
14:39
<
travis-ci >
manastech/crystal#2575 (master - 762a346 : Ary Borenszweig): The build passed.
14:40
<
unshadow_ >
yeha :)
14:41
<
unshadow_ >
btw, in latest HEAD ary changed IndexOutOfBounds to something else, can't find the exception
14:43
<
jhass >
IndexError to IndexOutOfBounds
14:43
<
jhass >
or vice versa?
14:43
<
unshadow_ >
vice versa
14:44
<
travis-ci >
manastech/crystal#2576 (master - 5d2572a : Ary Borenszweig): The build passed.
14:45
ashleyis has joined #crystal-lang
14:47
ponga has joined #crystal-lang
14:49
<
ozra_ >
Anyone know if I can make some block (method, block, whatever) that pass to a macro with undefined references intact (the macro would create a bunch of "de facto" variables the block/func relies on, first then they are available to resolve)
14:52
<
crystal-gh >
crystal/master 32e8b0a Ary Borenszweig: benchmark/ips: use `max_of` instead of `map { ... }.max`
14:52
<
crystal-gh >
crystal/master bec1a3e Ary Borenszweig: Use has_key? in Hash#merge! with block
14:52
<
crystal-gh >
crystal/master e863ed2 Ary Borenszweig: Use `be` expectation instead of comparing `object_id`
14:57
bcardiff has quit [Quit: Leaving.]
14:59
fowlduck has joined #crystal-lang
15:04
<
travis-ci >
manastech/crystal#2577 (master - e863ed2 : Ary Borenszweig): The build passed.
15:04
fowlduck has quit [Ping timeout: 248 seconds]
15:05
ashleyis has quit [Ping timeout: 255 seconds]
15:07
datanoise has joined #crystal-lang
15:08
<
crystal-gh >
[crystal] yui-knk opened pull request #883: Fix to run test case with using `assert` (master...fix/test)
http://git.io/vtRwj
15:12
<
crystal-gh >
[crystal] yui-knk opened pull request #884: Add type to an arg of Hash#merge! (master...fix/hash_merge)
http://git.io/vtRrx
15:15
flaviu has quit [Ping timeout: 256 seconds]
15:17
ashleyis has joined #crystal-lang
15:21
<
vifino >
Hey guys, I'm playing with the idea of binding gstreamer to crystal; How would I go ahead and do that, with all the custom gstreamer-specific types?
15:25
<
epitron >
Do people still use gstreamer? :)
15:26
<
epitron >
I guess gnome's bare bones video player does
15:26
bcardiff has joined #crystal-lang
15:28
<
willl >
vifino: if you just hold onto the types to pass them to other c functions, then you can just make them an alias type for a Void*
15:28
<
willl >
if you need to go in and get things, then you have to do more work
15:29
<
vifino >
willl: I'll try, thanks :)
15:29
flaviu has joined #crystal-lang
15:31
<
vifino >
epitron: Shush you, it is a good backend for an audio player. Not having to worry about what sound driver to use is a wonderful thing. I am using JACK audio, and since that is a quite exotic sound server compared to your usual pulse, I am happy that gstreamer has a backend for it.
15:34
<
epitron >
Hey, if you have a use for it, that's great!
15:34
<
crystal-gh >
[crystal] yui-knk opened pull request #885: Add Bool#to_s tests (master...test/add_to_s)
http://git.io/vtRPX
15:34
<
epitron >
I always liked gstreamer in concept, and it's quite performant and featureful
15:35
<
epitron >
But for some reason, nobody uses it
15:35
<
epitron >
Maybe it's because debian puts all the good codecs in that nonfree repo
15:36
<
epitron >
So nobody can play their videos without adding special packages
15:37
<
epitron >
mpv and ffmpeg and mplayer all get around that somehow
15:38
<
epitron >
So, you're making a crystal music player, vifino?
15:39
<
vifino >
epitron: Yeah, as an mpd user which converted to mopidy, I want something not python :)
15:39
<
vifino >
Everything-but would be okay :P
15:41
<
epitron >
I can't stand anything else after using Foobar2000
15:41
<
epitron >
I use audacious because it's the least attempting to be a music library, which most things suck at
15:42
<
epitron >
I should give mpd another try
15:42
<
vifino >
I really recommend mopidy :)
15:43
<
vifino >
It's python, but it has maaaany features, like playing from youtube or spotify and not only local library
15:49
<
crystal-gh >
crystal/master 37deeb3 Ary Borenszweig: Fixed String#strip when the result is the empty string. Fixes #873
15:52
Ven has joined #crystal-lang
15:53
dtscodefish has joined #crystal-lang
15:54
dtscodefish is now known as dtscode
15:54
bcardiff has quit [Quit: Leaving.]
15:55
strcmp1 has joined #crystal-lang
15:56
<
vifino >
willl: Just a quick noob question: What would the crystal type be for `char **argv[]` for example?
15:56
<
jhass >
vifino: isn't gstreamer gobject based and has introspection?
15:56
<
vifino >
jhass: Think so, yeah.
15:57
<
vifino >
I have no idea what it does, but alright x.x
15:58
<
vifino >
... Even less how to use it >_<
15:59
<
jhass >
it's a bit messy, granted ^.^
16:00
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
16:02
<
travis-ci >
manastech/crystal#2584 (master - 37deeb3 : Ary Borenszweig): The build passed.
16:02
<
vifino >
jhass: You lost me at "entry" x.x
16:03
<
jhass >
it's not thaaat bad
16:03
<
vifino >
But I'm thaaat bad >_<
16:05
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
16:06
<
jhass >
jeez, they managed to split gstreamer into like 20 typelibs?
16:06
<
crystal-gh >
crystal/master 4a71b16 yui-knk: Add Bool#xor
16:06
<
crystal-gh >
crystal/master 5aa9fd4 Ary Borenszweig: Merge pull request #881 from yui-knk/feature/xor...
16:06
<
vifino >
jhass: Yeah ._.
16:07
<
jhass >
gobject stuff is complex, binding it even more so, I'm afraid if you can't dig through what I've done you won't have a fun time in binding it manually either...
16:08
<
crystal-gh >
[crystal] asterite closed pull request #877: Implement Hash#invert (master...feature/hash_invert)
http://git.io/vtBQz
16:08
<
crystal-gh >
crystal/master ed19c92 yui-knk: [ci skip] Fix typo
16:08
<
crystal-gh >
crystal/master df6a17e Ary Borenszweig: Merge pull request #882 from yui-knk/fix/typo2...
16:09
<
crystal-gh >
crystal/master e5bb90d yui-knk: Fix to run test case with using `assert`
16:09
<
crystal-gh >
crystal/master ce47f72 Ary Borenszweig: Merge pull request #883 from yui-knk/fix/test...
16:10
<
jhass >
unshadow_: well I guess methods is empty when you call it
16:10
<
crystal-gh >
[crystal] asterite closed pull request #884: Add type to an arg of Hash#merge! (master...fix/hash_merge)
http://git.io/vtRrx
16:10
<
crystal-gh >
crystal/master 8be11de yui-knk: Add Bool#to_s tests
16:10
<
crystal-gh >
crystal/master e0062b6 Ary Borenszweig: Merge pull request #885 from yui-knk/test/add_to_s...
16:11
<
crystal-gh >
[crystal] asterite closed pull request #886: Add tests for Bool#! (master...test/bool_ban)
http://git.io/vtRP1
16:11
<
vifino >
That's that then, I'mma just do it in C ._.
16:11
<
jhass >
vifino: or try ruby-gir or python-gobject
16:12
<
jhass >
er, python-gobject-introspection it is called iirc
16:13
asterite has joined #crystal-lang
16:13
<
asterite >
willl: a small improvement over aliasing Void is aliasing Void*
16:13
<
asterite >
We use that in the LLVM bindings for example
16:13
<
crystal-gh >
[crystal] yui-knk opened pull request #887: [ci skip] Add docs for Comparable (referenced Ruby doc) (master...doc/add_comparable)
http://git.io/vtRQP
16:14
<
asterite >
less overall typing
16:17
bcardiff has joined #crystal-lang
16:18
bcardiff has quit [Client Quit]
16:20
<
asterite >
willl: fast :-)
16:20
<
travis-ci >
manastech/crystal#2585 (master - 5aa9fd4 : Ary Borenszweig): The build passed.
16:21
<
asterite >
I wonder if we should just keep `alias` and remove `type`. `type` is more type safe, but still...
16:22
<
travis-ci >
manastech/crystal#2587 (master - ce47f72 : Ary Borenszweig): The build passed.
16:23
<
travis-ci >
manastech/crystal#2586 (master - 0814394 : Ary Borenszweig): The build passed.
16:24
<
jhass >
asterite: what's the difference even, I still didn't look it up
16:25
<
asterite >
well, if you have type Foo = Void* and then a C binding returns Foo, the type will be Foo
16:25
<
asterite >
then if you want to pass it to an arg that expects Void*, it won't compile. Neither to a "type Bar = Void*"
16:26
<
asterite >
so basically it's a different name for a same type, but they are not implicitly interchangable
16:26
<
jhass >
mmh, gotcha
16:26
<
asterite >
So maybe if you have lots of `type ... = Void*` it might be worth it, because you might accidentally mix all those void pointers
16:26
<
jhass >
I'm probably missing something, but how about allowing only type inside lib and only alias outside?
16:27
<
asterite >
But you'd still want alias, for example for SizeT
16:28
<
asterite >
the "trouble" is that there's currently no way to create a "type" other than getting it from a C binding
16:28
<
jhass >
mmh, just brainstorming, but what if type's get an autogenerated .cast that accepts their target?
16:28
<
jhass >
make the conversion explicit, not implicit like alias
16:29
<
jhass >
or even just allow some_void_pointer as SomeTypeThatPointsToVoidPointer
16:29
<
jhass >
that is allow casting to them but you have to do it
16:30
<
asterite >
Or maybe we can use `as`
16:30
<
asterite >
so it's just a name change
16:30
<
jhass >
yeah, that's what I meant in the latter case
16:30
<
asterite >
We have to think about it :)
16:30
<
asterite >
oh, sorry, I misread
16:32
asterite has left #crystal-lang [#crystal-lang]
16:32
bcardiff has joined #crystal-lang
16:32
<
travis-ci >
manastech/crystal#2589 (master - e0062b6 : Ary Borenszweig): The build passed.
16:36
<
travis-ci >
manastech/crystal#2590 (master - 2fa417f : Ary Borenszweig): The build passed.
16:41
NeverDie has joined #crystal-lang
16:48
fowlduck has joined #crystal-lang
16:51
datanoise has quit [Ping timeout: 272 seconds]
16:53
fowlduck has quit [Ping timeout: 248 seconds]
16:55
fowlduck has joined #crystal-lang
16:58
<
unshadow_ >
asterite or jhass do you remmber where was the commit (or discussion) about changing IndexOutOfBounds => IndexError ?
17:01
daneb has joined #crystal-lang
17:05
fowlduck has quit [Remote host closed the connection]
17:16
havenwood has quit [Ping timeout: 255 seconds]
17:20
<
ozra_ >
How do you closure a var in the context you're in, in some kind of "function" (callable)
17:24
daneb has quit [Remote host closed the connection]
17:25
daneb has joined #crystal-lang
17:26
<
ozra_ >
Hmm, I got it with proc, but, do you have to use 'call' on it? Any other way of creating a closured lambda, sorts of?
17:39
<
epitron >
This Travis bot is so spammy
17:39
<
epitron >
3 ugly messages per commit
17:42
<
jhass >
ashleyis: but you might want to open a bug report about the error message being not shown for the included macro
17:43
<
jhass >
epitron: yeah, I like the idea but wish they would do single line notices
17:45
<
jhass >
ozra_: blocks & procs are the only things that closure
17:46
<
ashleyis >
Ahhh, thank you jhass didn't realise it wasn't a String
17:53
waj has joined #crystal-lang
17:59
<
epitron >
jhass: totally... Plus shortened links
18:00
<
epitron >
The bot's behaviour should be configurable per channel
18:00
<
epitron >
(like, it would be easy to implement had feature)
18:04
daneb has quit [Remote host closed the connection]
18:06
fowlduck has joined #crystal-lang
18:06
daneb has joined #crystal-lang
18:10
<
willl >
Also if you fork crystal and have travis on, your fork's builds end up in the channel :/
18:10
fowlduck has quit [Ping timeout: 256 seconds]
18:14
<
ozra_ >
jhass: Can you get something callable that's invoced just like a method/func? Without .call()...
18:15
<
ozra_ >
+1 on the bot output epitron, jhass :-)
18:17
<
jhass >
willl: fun fact: I opened an issue about that like 4 years ago
18:17
<
jhass >
ozra_: there's nothing
18:18
<
epitron >
It's probably like +53628 if you include all the channels that bot is in
18:18
<
ozra_ >
jhass: Ok, thanks
18:18
<
epitron >
I don't understand how Travis pays for all their servers
18:19
<
epitron >
Building stuff is pretty CPU intensive
18:19
<
jhass >
there's Travis pro and I think the VM hosts are sponsored, only the container stuff is EC2
18:20
<
epitron >
So free Travis builds are supported by a generous donation from the <your name here> foundation?
18:21
<
crystal-gh >
[crystal] will opened pull request #890: Use only 1 line on travis irc messages (master...single-line-travis)
http://git.io/vt0cg
18:21
<
jhass >
epitron: it least for a while they were
18:21
<
jhass >
willl: ooh, there's an option for that? <3
18:22
<
willl >
just found it
18:22
<
jhass >
epitron: by bluebox iirc
18:22
<
epitron >
willl: nice!
18:23
<
epitron >
Now they just need to make their default template not stuck
18:23
<
epitron >
And do url shortening
18:23
<
jhass >
willl: totally will snap that for somehwere else :D
18:25
<
wanderer_ >
jhass: yo, any idea why git doesn't merge this automatically?: <<<<<<< HEAD fun read_cycle_counter = "llvm.readcyclecounter" : UInt64 ======= fun read_cycle_counter = "llvm.readcyclecounter"() : UInt64 fun bswap32 = "llvm.bswap.i32"(id : UInt32) : UInt32 >>>>>>> 2fa417f6a4b19e71ec5f044951e1b7ff45cbeb85
18:26
<
wanderer_ >
I should get a little more familiar with its diff algo
18:26
<
jhass >
wanderer_: there probably is a merge algo that does xD
18:26
<
jhass >
but no idea from pasting that in one line to IRC
18:26
<
wanderer_ >
the only difference between the first lines are the parenthesis, indentation is the same
18:27
<
jhass >
ah well, it works linewise
18:27
<
wanderer_ >
I would have guessed git would merge it without problems
18:27
<
jhass >
basically both lines were changed from both sides and there it gives up
18:27
<
ozra_ >
jhass: Macros to the rescue worked out fine! :-)
18:28
<
jhass >
er, "the line"
18:28
<
wanderer_ >
what do you mean with "from both sides"?
18:28
<
jhass >
wanderer_: anyway, these are easy for the human, I just git mergetool for them
18:28
<
jhass >
well, you have the base, which was the last merge
18:28
<
jhass >
then you have the stuff you added from that base
18:29
<
jhass >
and the stuff the other side added from that base
18:29
<
jhass >
the line was changed in both of these "stuffs2
18:30
<
jhass >
but I mean just let git mergetool run vimdiff for you, press dd a couple of times and :xa
18:30
<
wanderer_ >
afaik I didn't change anything after the last commit, I just pulled the new changes and got this as a merge conflict
18:30
<
jhass >
takes 20 seconds or so
18:30
<
jhass >
merge, not rebase, right?
18:30
<
wanderer_ >
so I wondered
18:30
<
wanderer_ >
hehe, whut :D
18:31
<
wanderer_ >
I clicked the Pull-Button in SourceTree
18:31
<
jhass >
uh, hope that defaults to a merge then
18:41
<
crystal-gh >
crystal/master 12a9526 Ary Borenszweig: Merge pull request #890 from will/single-line-travis...
18:41
<
crystal-gh >
crystal/master cafe071 Will Leinweber: Use only 1 line on travis irc messages
18:45
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
18:47
<
wanderer_ >
jhass: why is FileDescriptorIO#unbuffered_close private and who can call it this way?
18:47
<
jhass >
FileDescriptorIO can
18:48
<
jhass >
src/io/buffered_io_mixin.cr:216: unbuffered_close
18:48
<
jhass >
I guess mixins can too
18:50
<
wanderer_ >
shouldn't something like `a = FileDescriptorIO.new(x); a.close` be possible, too?
18:51
<
Kilo`byte >
how to get the peer ip from an http request
18:52
<
wanderer_ >
jhass: I'm not sure, I'm atm pulling the new commits and afaik close was replaced by private unbuffered_close, so I'd say there is no public close anymore
18:52
<
jhass >
verify that
18:52
<
jhass >
I bet there is
18:53
<
strcmp1 >
jhass, what is "verify that" in german?
18:53
unshadow_ has quit [Quit: leaving]
18:53
<
jhass >
verifiziere das or überprüfe das
18:54
<
wanderer_ >
you could instead also say "lass uns wo einwandern"
18:54
<
jhass >
though casual use would be teste das I guess
18:54
<
strcmp1 >
thanks :)
18:54
<
Kilo`byte >
wanderer_: that has a completely different meaning
18:55
<
travis-ci >
manastech/crystal#12a9526 (master - Merge pull request #890 from will/single-line-travis
18:57
<
vifino >
jhass: Thanks :) Sadly, I can't run the generator myself :(
18:58
<
jhass >
vifino: yeah I lied, it's stage3.cr that you want to run
18:58
<
jhass >
crystal src/generator/stage3.cr
18:58
daneb has quit [Remote host closed the connection]
18:59
<
vifino >
jhass: Alright >_<
19:00
<
Kilo`byte >
apparently nobody in here has a clue
19:00
<
jhass >
Kilo`byte: I only know for when you're behind a proxy :/
19:00
<
Kilo`byte >
like, from looking at the source it doesn't seem like there is a way
19:00
<
wanderer_ >
jhass: do you think it's harmful to replace mmap/munmap with malloc/free in /fiber/fiber.cr?
19:01
<
Kilo`byte >
jhass: it does not seem to record that anywhere
19:01
<
jhass >
wanderer_: I have no idea, you should ask waj
19:01
<
Kilo`byte >
if socket does support it i can probably implement it myself
19:01
daneb has joined #crystal-lang
19:02
<
waj >
wanderer_: why do you want to use malloc/free ?
19:02
<
wanderer_ >
waj: there is no mmap on windows
19:03
<
waj >
in that case I’d use “ifdef windows” to define a different behaviour
19:03
<
Kilo`byte >
ah socket has peeraddr
19:04
<
Kilo`byte >
idk what type that is though
19:04
<
jhass >
Kilo`byte: would probably be nice to have a version of that plus socket peer ip in stdlib
19:04
<
Kilo`byte >
seems to be a c struct type
19:04
<
Kilo`byte >
from brief look at the code
19:04
<
Kilo`byte >
(IPSocket.cr)
19:04
<
jhass >
that is check for the headers and if none is found return socket peer ip
19:06
<
crystal-gh >
crystal/master 986aca3 Ary Borenszweig: Fixed #889: Error message not being shown for included macro
19:06
<
crystal-gh >
crystal/master 0db9e45 Ary Borenszweig: Added `StringLiteral#camelcase` and `StringLiteral#underscore` in macros. Related to #889
19:07
<
jhass >
well, until I added ignore
19:07
<
jhass >
!disable GithubIssues
19:07
<
DeBot >
jhass: Disabled GithubIssues.
19:07
<
ashleyis >
yay @ 0db9e45 :D i had just finished getting the compiler compiled locally to attempt to add it
19:07
<
jhass >
ashleyis: yeah, asterite's too fast :D
19:07
<
Kilo`byte >
jhass: i just assume DeBot is also written in crystal
19:08
<
Kilo`byte >
open source?
19:08
<
Kilo`byte >
good boy :P
19:08
<
Kilo`byte >
irc bots shall be open source :P
19:08
<
jhass >
but stuck on 0.6.1
19:09
<
ozra_ >
wanderer_: Without knowing, but just hearing mmap/munmap and fiber together indicates to me that it's used of rcommunication (_shared_ memory)
19:09
daneb has quit [Remote host closed the connection]
19:09
<
wanderer_ >
waj: I already did. but there is no harm in using malloc instead of mmap?
19:10
<
waj >
I found it to be much faster with mmap in linux and osx
19:11
<
waj >
no, is no shared memory, all is allocated with MAP_PRIVATE
19:12
<
ozra_ >
waj: Is there an official crystal stdlib lib for mmap, or do I just use c wrappers myself?
19:13
<
ozra_ >
(not related to the fibers.. personal use case )
19:13
ozra_ has quit [Quit: Page closed]
19:13
<
waj >
it’s in the std. No need to define anything
19:13
ozra_ has joined #crystal-lang
19:14
<
crystal-gh >
[crystal] hugoabonizio opened pull request #892: Fix HTTP::Request#keep_alive? method (master...master)
http://git.io/vt0gQ
19:16
<
wanderer_ >
btw to be more specific it's in the posix std, not the c std
19:17
bcardiff has quit [Quit: Leaving.]
19:18
<
wanderer_ >
any idea what is meant with "loc pragma"?
19:19
<
waj >
“loc pragma” is used by macros while expanded, so errors can be pointed to the original source code
19:19
asterite has joined #crystal-lang
19:22
daneb has joined #crystal-lang
19:24
<
asterite >
loc pragma isn't documented, it probably should
19:24
bcardiff has joined #crystal-lang
19:25
<
asterite >
so it basically allows setting a file/line/column with a comment. We use it in ECR so we can make errors in the .ecr files be reported as if the "real" code is there
19:25
<
wanderer_ >
I was able to compile 0.7.3 with my 0.7.2, and now 0.7.4 with that 0.7.3, but when trying to compile 0.7.4 with 0.7.4 I get "unexpected end of file in loc pragma"
19:32
<
asterite >
wanderer_: just tried it on mac and linux vm and it compiles fine. Sure it's 0.7.4? The error is also very strange
19:33
<
wanderer_ >
sorry, not exactly 0.7.3 and 0.7.4
19:34
<
asterite >
wanderer_: what are you trying to do? :)
19:34
<
wanderer_ >
my srces were from 0.7.2 and I pulled everything two weeks ago, merged them and commited, and then pulled everything again just now
19:34
<
asterite >
Maybe bootstrapping in another system?
19:35
<
wanderer_ >
I just want to merge the master-commits with the win32-branch
19:37
fowlduck has joined #crystal-lang
19:38
<
asterite >
so you are getting that error in the win32 branch after the merge?
19:40
havenwood has joined #crystal-lang
19:41
<
wanderer_ >
since my last push to win32 one month ago I pulled everything some weeks ago and the rest just now, I could compile the newest version with the previous one, but I can't compile it again with the compiled one
19:42
fowlduck has quit [Ping timeout: 264 seconds]
19:42
asterite has quit [Quit: Page closed]
19:42
asterite has joined #crystal-lang
19:44
<
wanderer_ >
the cache folder .crystal is the one I used with the last 0.7.2/.3 compiler
19:45
<
asterite >
I think the cache folder shouldn't matter
19:48
datanoise has joined #crystal-lang
19:53
datanoise has quit [Ping timeout: 255 seconds]
19:55
<
wanderer_ >
asterite: I still don't have any exceptions, do you know how I can get more information on this "unexpected end of file in loc pragma"?
19:57
<
asterite >
in which file you get it?
19:57
<
wanderer_ >
that's the problem, I don't know :)
19:58
<
wanderer_ >
exceptions are still simply a printf + exit
20:02
<
asterite >
Oh, I see. You could try printing @filename before that line
20:09
<
wanderer_ >
hm, says "unexpected end of file in loc pragma C:\\Users\\User\\Desktop\\crystal\\src\\compiler"
20:10
<
wanderer_ >
asterite: `raise "unexpected end of file in loc pragma #{@filename}"`
20:12
<
asterite >
that's when you try to compile the compiler? Maybe you can try compiling just some files of the compiler
20:13
<
asterite >
I don't know why @filename ends up being that, but maybe that's the mistake
20:14
<
wanderer_ >
asterite: do you know how to implement exception handling with setjmp/longjmp in LLVM?
20:15
<
asterite >
No idea. waj made the exception handling, I only have a vague idea. But no idea at all about setjmp/longjmp
20:17
<
wanderer_ >
because afaik this would be cross-platform
20:17
<
waj >
wanderer_: for which platform you wish to use setjmp/longjmp?
20:18
<
wanderer_ >
exception handling on windows 64bit is possible with LLVM, ponylang has it, I'm not experienced enough for this, though
20:18
<
wanderer_ >
exception handling on windows 32bit is not possible with LLVM yet, as far as I know
20:19
<
wanderer_ >
setjmp/longjmp should work with both win32 and win64, shouldn't it?
20:19
<
waj >
Maybe but I’d try to avoid it if possible
20:21
<
waj >
using unwind exceptions, doesn’t have any overhead until an exception is raised
20:22
<
wanderer_ >
yes, but's it's more portable
20:22
<
wanderer_ >
and it could be an addition
20:23
<
wanderer_ >
I'm not able to implement exception handling and when trying to mess with the compiler on windows I always get useless exceptions because there is no unwinding
20:24
<
wanderer_ >
and 32bit windows seh is not working with LLVM yet, afaik, so setjmp/longjmp could be a temporary solution
20:25
bcardiff has quit [Quit: Leaving.]
20:34
Ven has joined #crystal-lang
20:38
fowlduck has joined #crystal-lang
20:38
daneb has quit [Remote host closed the connection]
20:38
daneb has joined #crystal-lang
20:40
asterite has quit [Ping timeout: 246 seconds]
20:42
fowlduck has quit [Ping timeout: 248 seconds]
20:45
<
waj >
wanderer_: do you have clang running on windows?
20:48
<
wanderer_ >
waj: no atm not
20:48
<
waj >
because if you did, you could try to see what llvm is using for exception handling
20:49
<
waj >
with: clang++ -S -emit-llvm exceptions.cc -o exceptions.ll
20:50
datanoise has joined #crystal-lang
20:52
<
wanderer_ >
I'll try
20:54
datanoise has quit [Ping timeout: 250 seconds]
21:02
vikaton has joined #crystal-lang
21:16
leafybasil has joined #crystal-lang
21:20
unshadow has quit [Ping timeout: 264 seconds]
21:22
unshadow has joined #crystal-lang
21:27
unshadow has quit [Ping timeout: 255 seconds]
21:42
dtscode is now known as charmander
21:51
datanoise has joined #crystal-lang
21:53
waj has quit [Quit: waj]
21:53
fowlduck has joined #crystal-lang
21:56
datanoise has quit [Ping timeout: 246 seconds]
21:58
fowlduck has quit [Ping timeout: 248 seconds]
22:11
Ven has quit [Ping timeout: 252 seconds]
22:26
Ven has joined #crystal-lang
22:28
<
vifino >
jhass: So instead of just making bindings by hand and stuff, I'll just make a header parser or something for non-gobject stuffs.
22:29
<
vifino >
Not sure if it's that good of an idea, but oh well.
22:29
<
jhass >
vifino: there's a bunch already in fact
22:29
<
vifino >
jhass: Hmm?
22:29
<
vifino >
What do you mean?
22:30
<
vifino >
._. python. Arrrrgh!
22:30
<
vifino >
That seems more reasonable and not-python-y.
22:31
<
BlaXpirit >
jhass, that last one is a stub
22:32
<
BlaXpirit >
fazibear's seems the 2nd best choice
22:32
<
BlaXpirit >
haven't seen farleyknight's
22:32
<
jhass >
I tried none of them, so
*shrug*
22:33
<
BlaXpirit >
is that an actual C parser in Crystal
22:35
<
BlaXpirit >
well that's a lot of work
22:44
<
BlaXpirit >
welp, it doesn't work at all
22:44
<
BlaXpirit >
seems to be for old version of crystal and abandoned
22:45
<
vifino >
BlaXpirit: Yeah, it's a library, I think, not even a tool is included.
22:46
<
vifino >
All the pythons ._.
22:49
<
vifino >
welp, my portable ssd detached, long live the diskless computer
22:51
BlaXpirit has quit [Quit: Quit Konversation]
22:55
daneb has quit [Remote host closed the connection]
22:57
<
vifino >
There, an attached /home feels much better.
23:21
leafybasil has quit []
23:32
<
vifino >
jhass: I'mma grab all the generated stuff and put it in a github repo so it is manageable with crystal deps and requireable, crediting you completely of course.
23:36
havenwood has quit [Ping timeout: 272 seconds]
23:38
<
vifino >
jhass: Oh god, I'm going to have to rip it apart badly ._.
23:41
<
vifino >
jhass: Actually, I'll just make some cheap wrappers like src/gtk/gtk.cr and pr my changes in.
23:42
fowlduck has joined #crystal-lang
23:47
fowlduck has quit [Ping timeout: 252 seconds]
23:57
waj has joined #crystal-lang