<FromGitter>
<j8r> @watzon in the future the compiler could be able to automatically generate iterators
<FromGitter>
<j8r> Constructed with inline loops
zorp_ has quit [Ping timeout: 246 seconds]
<FromGitter>
<watzon> That would be a wonderful thing
<FromGitter>
<watzon> So it appears as though `URI#relativize`doesn't make absolute urls like `/foo` relative to the given URI? Seems as though they just stay the same rather than becoming `./foo`.
<FromGitter>
<Daniel-Worrall> I could have sworn there was a crystal tool format thing for vscode
<FromGitter>
<wyhaines> That would be handy.
<FromGitter>
<wyhaines> I really wish that there was good Crystal support for RubyMine instead of just having to leverage the Ruby syntax checking. I love RubyMine, but it seems like vscode is the only editor that has decent support (although it was a huge hassle to get it to work with a Crystal that is installed on WSL1).
<FromGitter>
<watzon> @Daniel-Worrall there is though
<FromGitter>
<Daniel-Worrall> Mine doesn't seem to be working
<FromGitter>
<watzon> If you have the Crystal Language plugin made by Faustino it should work
<FromGitter>
<Daniel-Worrall> I have the Crystal Language plugin
<FromGitter>
<Daniel-Worrall> maybe it's a windows misconfiguration thing
<FromGitter>
<Daniel-Worrall> since I moved to WSL2
<FromGitter>
<watzon> Hmm could be
<FromGitter>
<Daniel-Worrall> ty, I wasn't going crazy
<FromGitter>
<Daniel-Worrall> Well, at least I'm getting output now
<FromGitter>
<Daniel-Worrall> actually wtf am I doing ... just`bash -c "/home/d/.anyenv/envs/crenv/shims/crystal %*"`
<FromGitter>
<watzon> Well you're using WSL2 now, right?
<FromGitter>
<watzon> You shouldn't have to hack around it like that with WSL2 if you have the "Remote -WSL" extension installed.
<FromGitter>
<Daniel-Worrall> Hah
<FromGitter>
<Daniel-Worrall> No way am I running VSCode in Remote - #WSL
<FromGitter>
<Daniel-Worrall> overhead city
<FromGitter>
<thelinuxlich> I do it
<FromGitter>
<thelinuxlich> but with WSL 2
<FromGitter>
<Daniel-Worrall> I have WSL 2
<FromGitter>
<watzon> Overhead? It's not that bad haha
<FromGitter>
<watzon> All it does is runs code in the WSL context instead of Windows
<FromGitter>
<Daniel-Worrall> and the filesystem
_whitelogger has joined #crystal-lang
<FromGitter>
<watzon> Ok, well I just completely rewrote Arachnid and got it working with Crystal 0.35.1. Still need to do some work on making things concurrent, but the code is much cleaner than previously since this is fully original code rather than being a port of a Ruby library.
<FromGitter>
<watzon> Gonna work on updating Marionette next and then create an HTTP::Client wrapper for it so that it Arachnid can be used with it.
_whitelogger has joined #crystal-lang
<FromGitter>
<grkek> Nice
r0bby has joined #crystal-lang
oprypin has quit [Quit: Bye]
oprypin has joined #crystal-lang
alexherbo2 has joined #crystal-lang
Jesfre has quit [Quit: Leaving]
oddp has quit [Ping timeout: 246 seconds]
<jhass>
twosecslater: which OS are you using? :)
<twosecslater>
Alpine
<jhass>
ah
<jhass>
I think mps wants to push a aarch64 package to repos today :D
<FromGitter>
<j8r> Don't know exactly, several months probably
<FromGitter>
<j8r> master is `1.0.0-dev`
<mps>
aha, good
<mps>
it will be probably ready for next Alpine stable release
<mps>
j8r: did you had any progress on your armv7 porting work
<mps>
jhass: I'm finishing upgrade to 0.35.1 for alpine linux with your patches, and I would like to mention you and your work in git commit message. do you agree?
<jhass>
I've turned off tabs in sublime and recently got a plugin that continously sorts the the open files sidebar by MRU
<yxhuvud>
I am fairly certain my emacs sort buffers by LRU order. Which is a behaviour I like and I don't know how grouping would make sense in that context.
<oprypin>
Kate has LRU coloring and directory-tree grouping
deavmi has quit [Quit: Eish! Load shedding.]
deavmi has joined #crystal-lang
deavmi has quit [Read error: Connection reset by peer]
<FromGitter>
<Blacksmoke16> Reject Nil from the generic types?
<jhass>
property! x : T
<FromGitter>
<didactic-drunk> `C(T)` is a generic class that takes nillable input, filters out `nil` and sends to `Channel(T - nil)` that it instantiates.
<jhass>
typeof(T.new.not_nil!) xD
<jhass>
(nah, that won't work)
<jhass>
does C *always* take nilable input?
<FromGitter>
<didactic-drunk> T may be a union.
<jhass>
maybe T does not need to include Nil in the first place but you can type stuff as T?
<FromGitter>
<didactic-drunk> Not always.
<jhass>
typeof(Array(T).new.first.not_nil!) would probably actually work but there's also a saner way to all this, but idk, I don't have enough material in the question to think on
<jhass>
I mean but I'm sure there's
<FromGitter>
<Blacksmoke16> could prob do something like `Union("#{T.type_vars.reject(&.==(Nil)).splat}")`
<FromGitter>
<Blacksmoke16> oo thanks, i need to release `1.1.1`
<mps>
I'm not in a hurry, just wanted to inform you. when you find time ...
<FromGitter>
<Blacksmoke16> thanks, ill ping you when its done
<mps>
good, thanks
<oddp>
Coming from dlang and taking another look at crystal, this distinction between iterators and enumerables (and also ranges to some extend) leaves a bad taste. Providing only seemingly overhead-free lazy iterators in conjunction with collection methods such as .to_a, .to_h and so on, would have truly been the cherry on top of everything else crystal provides so far. But constantly having to remember whether some function is exclusively available for ranges,
<oddp>
arrays/enumerables, etc. is cumbersome. And on top of that, some iter functions, for example, return arrays which once again forces you to juggle constructs such as `foo.each.bar.each_baz.each.bunz` if you want to stay in lazyland.
<FromGitter>
<didactic-drunk> I agree `Enumerator.most_methods` should return `Enumerator`. It's confusing what runs or doesn't.
<FromGitter>
<Blacksmoke16> @mps `1.1.1` is released now
<oprypin>
jhass, oh wow! `ArgType.indirect(t, nil)` makes Crystal->C work correctly, while `ArgType.indirect(t, LLVM::Attribute::ByVal)` makes C->Crystal work correctly
deavmi has quit [Read error: Connection reset by peer]
deavmi has joined #crystal-lang
deavmi has quit [Ping timeout: 240 seconds]
deavmi has joined #crystal-lang
<oprypin>
tl;dr
<FromGitter>
<yorci> what is changed between 0.35.0 and 0.35.1, it was 9mb binary file compiled with 0.35.0 and i just get a new release with 0.35.1 and its just 1.6mb 😄
<FromGitter>
<yorci> impressive
<FromGitter>
<Blacksmoke16> I don't think that was intentional...
<FromGitter>
<yorci> well, i didnt see any optimization note in change log actually but idk why it reduces that much
<FromGitter>
<Blacksmoke16> Seems kinda odd
<FromGitter>
<yorci> i just change json.map to json::serializable, could be?