pawnbox has quit [Remote host closed the connection]
<jokke>
jhass: aww come on
<jokke>
hm i think i'll add another method thoguh
<jhass>
no, I'd have the aspiration to do it right, not patch things in as needed but provide an actual more usable abstraction. And not the time for that
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
LastWhisper____ has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 2 new commits to master: https://git.io/vryNF
<crystal-gh>
crystal/master 7181da8 Ary Borenszweig: Replace some `macro def`s with simple `def`s
<crystal-gh>
crystal/master e773e69 Ary Borenszweig: Use splat and double splat restrictions in Tuple and NamedTuple for more type correctness. Fixes #1828
<asterite>
Well, I'd personally close that issue, you can't fork a std library and redefine the same constants. Contributions should go to the openssl module in the standard library (but then we have the issue of who takes care of that, but it's another issue)
<jhass>
oh next thing, be more aggressive about closing issues
<asterite>
We can probably check "question" and "need more info" once a month and close the ones that are old
<asterite>
I'll do that for those, now
<jhass>
yeah
<jhass>
asterite: btw tail recursion is not just a performance thing
<jhass>
it allows certain ways to write stuff in the first place
<jhass>
some problems are much more elegantly expressed using recursion
tomchapin has joined #crystal-lang
<asterite>
True, but I think that style happens more in functional languages, where you have, say, List with tail and head
<asterite>
I'd like to close #2499, until 1.0 I don't see a good reason to start distributing debian packages
<asterite>
(or, if someone wants to distribute an unofficial one, they can do it)
<asterite>
what do you think?
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<jhass>
yeah I agree
<jhass>
we wouldn't want a version < 1.0 to land in stable
<jhass>
!enable GithubIssues
<DeBot>
jhass: GithubIssues is already enabled.
<jhass>
mh
<jhass>
broken I guess
pawnbox has quit [Ping timeout: 246 seconds]
<jhass>
asterite: the popular examples for tail recursive functions are fibonacci and factorial of course
<jhass>
have yet to see a language where the iterative versions would be remotely as elegant ;)
<jhass>
though implicitly recognizing would be a lot nicer than a tag of course
<jhass>
and if you have a tag you kinda want to verify correctness anyway, else you get segfaults I imagine
<asterite>
but I don't know what we can do about it... rewrite a function from recursive to using a stack?
<asterite>
I can leave the issue open, though :)
<asterite>
we could maybe find a solution in the future
<asterite>
Go doesn't have tail call optimization either, and I read in a few places that it's because Go is not a functional language. I really believe that TCO is more for languages that without it can't work. And cases like fact and fib don't happen in real life, and when they do you can write it with a loop
<BlaXpirit>
/agree
<asterite>
Recursion does happen, though, but it usually never consumes the whole stack... and when that happens it's probably a bug in the code
<jhass>
close it, we can easily revisit it after 1.0
<jhass>
btw Ruby has TCO as a compile time flag or explicitly via the RubyVM API or so ;)
<RX14>
what are the downsides to implementing tail call?
<jhass>
work
<RX14>
well, i like tail call really
<RX14>
there has been plenty of time i wished i had TCO in java
<RX14>
it's not top priority though
mgarciaisaia has left #crystal-lang [#crystal-lang]
<jhass>
yup, I too disagree with the "only useful in functional languages" stance, it is mandatory for most functional languages but can still be useful in OOP languages
<RX14>
plus, crystal can be pretty functional
<RX14>
just like ruby
<RX14>
it's not exactly java OOP is it?
<RX14>
even java is becoming more functional
<RX14>
ruby and crystal is a nice mix
<jhass>
well, for ruby I'd argue it's even stronger OO than java :P
<RX14>
thats what i emant
<jhass>
everything but variables and constants are or can be represented by an object
<RX14>
well
<RX14>
yes, it's stringer OO
<RX14>
and it's stronger FP
<RX14>
its both
<jhass>
:)
<RX14>
it's why i like ruby so much
<RX14>
and crystal even more
<RX14>
ruby feels nice but has this kinda dirty feel where you're hoping nothing breaks in the next 5 mins
<RX14>
crystal being compiled and typed doesn't really feel the same
<jhass>
while being self referential I like how even the class hierarchy root is following a OO design in ruby
triangles2 has quit [Quit: Leaving]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/vrSaS
<crystal-gh>
crystal/master ed38949 Ary Borenszweig: Parser: add some missing locations to ast nodes
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
willl has joined #crystal-lang
Raimondi has quit [Quit: The road to wisdom?—Well, it's plain and simple to express: Err and err and err again, but less and less and less. — Piet Hein]
Raimondi has joined #crystal-lang
pawnbox has quit [Ping timeout: 264 seconds]
pawnbox has joined #crystal-lang
<jhass>
oh we broke through the 5k stars today
<wmoxam>
we did it! Ship it!
<asterite>
yes! :-)
<asterite>
something happened lately that more stars and tweets are happening. Maybe it's sidekiq
<BlaXpirit>
:)
tomchapin has quit [Quit: My Mac has gone to sleep. ZZZzzz…]