<crystal-gh>
[crystal] GrahamGoudeau opened pull request #2588: Fixed initial capacity of Hashes being ignored in some cases (master...hash_size_init) https://git.io/vrYkL
sp4rrow has quit [Quit: Textual]
Philpax has quit [Ping timeout: 252 seconds]
mgarciaisaia has joined #crystal-lang
matp has quit [Ping timeout: 252 seconds]
matp has joined #crystal-lang
mgarciaisaia has left #crystal-lang [#crystal-lang]
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 250 seconds]
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 276 seconds]
<emancu>
anyone from Manas @here ?
<emancu>
i mean, online now
tubbo has quit [Ping timeout: 252 seconds]
pawnbox has joined #crystal-lang
tubbo has joined #crystal-lang
pawnbox has quit [Ping timeout: 252 seconds]
<emancu>
asterite: hey, you mention on the next release we will have named tuples
<emancu>
Are the named tuples flexible as hashes ? I think I have a clever usage for them but I would need to construct a named tuple in several steps
<emancu>
something like:
<emancu>
tup = {x: 1000, z: "asdas"}
<emancu>
tup[:y] = "hope it works"
<emancu>
or, an `append` function
<emancu>
or a way to build a new one based in other tuple if you want to keep tuples immutable (+100)
pawnbox has joined #crystal-lang
A124 has quit [Ping timeout: 265 seconds]
A124 has joined #crystal-lang
willl has quit [Quit: Connection closed for inactivity]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has joined #crystal-lang
soveran has quit [Read error: Connection reset by peer]
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has joined #crystal-lang
tubbo has quit [Ping timeout: 276 seconds]
tubbo has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
Philpax has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
Philpax has quit [Ping timeout: 246 seconds]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
Philpax has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
Philpax has quit [Ping timeout: 246 seconds]
brunto has joined #crystal-lang
mark_66 has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
txdv_ is now known as txdv
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
zodiak_ has joined #crystal-lang
zodiak has quit [Ping timeout: 276 seconds]
matp has quit [Remote host closed the connection]
matp has joined #crystal-lang
soveran has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
soveran has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 265 seconds]
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/vrYpw
<crystal-gh>
crystal/master 9600cdb Ary Borenszweig: YAML: correct line/column info for exceptions. Fixes #2585
pawnbox has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/vrYhh
<crystal-gh>
crystal/master 50a8b9d Ary Borenszweig: Compiler: fixed macros not finding variables declared by multi-assign or rescue, at the top level
<crystal-gh>
[crystal] asterite opened pull request #2590: Compiler: bare splat and required named arguments (master...feature/bare_splat) https://git.io/vrOnH
<asterite>
I think Brian mentioned that he'd like them to have operations to return modified copied... but then big unions will form, and you can't splat unions yet
<asterite>
Mmm... it's complicated
<asterite>
I'd say, if you need to build the options at runtime, it's probably better to not use a named tuple but regular variables
<asterite>
But it's something we will definitely consider, because I know it will be common
<asterite>
jhass: I'm so glad you like #2590, if you were against it I would have my doubts too about it :-)
<jhass>
I think it's intuitive for the most part
<jhass>
so the advanced stuff most people won't need to care about
kulelu88 has joined #crystal-lang
kulelu88 has quit [Changing host]
kulelu88 has joined #crystal-lang
<jhass>
asterite: btw if you're going to drop LLVM 3.5 support, LLVM 3.8 support would be kinda needed
<jhass>
oh, is it 3.7 still? thought 3.8 came out
fryguy9 has quit [Read error: Connection reset by peer]
<jhass>
nope, 3.8 it is
fryguy9 has joined #crystal-lang
<jhass>
3.5 is still around, the fast movers otoh are on 3.7/3.8
<asterite>
The problem is that the debug code will fail to compile
<asterite>
if we migrate to LLVM 3.7 or 3.8
<asterite>
and there's no way to support two versions at the same time
<jhass>
I'd be fine with dropping support for < 3.7
<asterite>
But that's the thing, we can't just drop support for < 3.7
<asterite>
We drop it for all versions, or we are stuck with 3.6
<asterite>
it's compiles fine against LLVM 3.6 but not against LLVM > 3.6
<asterite>
Mmm... maybe we can use an ifdef... I'd have to ask waj because... c++
<jhass>
so we port that to 3.7/3.8 and drop 3.5/3.6 support, after all we're still moving fast so depending on latest versions is a good thing actually IMO
<asterite>
I'll try to talk with waj and see if we can fix this for good
mark_66 has quit [Quit: Leaving.]
pawnbox has joined #crystal-lang
steenuil has quit [Ping timeout: 246 seconds]
pawnbox has quit [Ping timeout: 240 seconds]
mgarciaisaia has joined #crystal-lang
<BlaXpirit>
i'm all for dropping old llvm versions, but that can make building crystal a pain on many distros
<|2701>
can I vote for dropping old versions
<|2701>
that sounds like a rad idea
<BlaXpirit>
radical indeed
brunto has quit [Ping timeout: 276 seconds]
mgarciaisaia has left #crystal-lang [#crystal-lang]
willl has joined #crystal-lang
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 276 seconds]
kulelu88 has quit [Quit: Leaving]
mroth_ has quit [Remote host closed the connection]
|2701 has quit [Remote host closed the connection]
jwaldrip has quit [Remote host closed the connection]
aemadrid has quit [Write error: Broken pipe]
guilleiguaran__ has quit [Write error: Broken pipe]
mroth_ has joined #crystal-lang
aemadrid has joined #crystal-lang
guilleiguaran__ has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 250 seconds]
jwaldrip has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/vrO5M
<crystal-gh>
crystal/master 367991a Ary Borenszweig: Compiler: expand syntax sugar in type declaration's value
|2701 has joined #crystal-lang
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 244 seconds]
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/vrOFm
buggs1 has quit [Read error: Network is unreachable]
<jhass>
hi
buggs1 has joined #crystal-lang
fryguy9 has quit [Read error: Connection reset by peer]
fryguy9 has joined #crystal-lang
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 260 seconds]
<rightfold>
do you think it is difficult to write a different back-end for the compiler?
<jhass>
backend like?
<jhass>
what exactly do you want to achieve?
<rightfold>
e.g. generating Java code instead of LLVM IR
<rightfold>
codegen.cr looks rather trivial but I might be mistaken :P
<jhass>
I could imagine there's a LLVM backend for the JVM
<jhass>
not sure what to gain from that though
<rightfold>
I mean replacing the current codegen.cr implementation by one that generates Java
<rightfold>
not going through LLVM
<jhass>
understood that
<jhass>
question stays
<ragmaanir>
would be cool to have a Javascript backend though, so i would not have to program in javascript
<jhass>
emscripten is the LLVM backend that generates JS
<jhass>
the hard part will be porting the stdlib
<ragmaanir>
oh, emscripten, yeah, i remember googling that a while ago because i wanted to know wether it is possible to generate JS
<ragmaanir>
interoperability with JS libraries might also be a problem, since the like in typescript one would have to write some interface files for everything in order to make the compiler typecheck it
<rightfold>
you have that with C too
<ragmaanir>
true
<jhass>
I still don't get why you want to generate Java though
<tilpner>
Android apps and compatibility with JVM libs come to mind.
<jhass>
NDK is about to happen and iirc there's a way to call into a JVM using C, so should be possible to go through that
<rightfold>
for fun
<jhass>
weird definition of fun :P
<RX14>
well, muleiple backends is one of the major attractions of llvm
<RX14>
so why implement backends on the compiler level
<RX14>
when you can implement a llvm ir -< java compiler
<RX14>
which should be possible
<rightfold>
for example, to take advantage of the java GC
<RX14>
hmmn, yeah
<rightfold>
llvm is very low-level
rightfold has left #crystal-lang [#crystal-lang]
<tilpner>
jhass - NDK doesn't allow writing normal apps though.
rightfold has joined #crystal-lang
<RX14>
well I imagine you could/would implement the UI in java and call into crystal on the backend
<tilpner>
Exactly.
<RX14>
you don't even have to use java for the frontend
<RX14>
use kotlin or something nicer for GUI building