jhass changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.7.3 | Paste > 3 lines of text to https://gist.github.com | GH: https://github.com/manastech/crystal - Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Logs: http://irclog.whitequark.org/crystal-lang
bcardiff has joined #crystal-lang
emancu_ has joined #crystal-lang
bcardiff has quit [Quit: Leaving.]
emancu_ has quit []
vikaton has joined #crystal-lang
datanoise has quit [Ping timeout: 255 seconds]
bcardiff has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
bcardiff has quit [Quit: Leaving.]
bcardiff has joined #crystal-lang
bcardiff has quit [Client Quit]
bcardiff has joined #crystal-lang
datanoise has joined #crystal-lang
shama has quit [Remote host closed the connection]
datanoise has quit [Ping timeout: 246 seconds]
mdz_ has joined #crystal-lang
waj has joined #crystal-lang
datanoise has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
<travis-ci> will/crystal#6 (master - e202d54 : Ary Borenszweig): The build passed.
<willl> what, why is my fork showing up here ?
shama has joined #crystal-lang
<willl> I would have thought that travis variable encryption would be tied to the account, and encrypted values not value on other's accounts. that seems not good
<willl> oh nevermind, the encrypted one is for some slack account not irc. irc just happens
shama has quit [Quit: (╯°□°)╯︵ɐɯɐɥs]
waj has quit [Quit: waj]
mdz_ has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
vikaton has quit [Quit: Connection closed for inactivity]
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
datanoise has quit [Ping timeout: 246 seconds]
<crystal-gh> [crystal] asterite pushed 1 new commit to master: http://git.io/vLcex
<crystal-gh> crystal/master 55f9634 Ary Borenszweig: Allow initializing a BitArray to true
<travis-ci> manastech/crystal#2501 (master - 55f9634 : Ary Borenszweig): The build passed.
bcardiff has quit [Quit: Leaving.]
datanoise has joined #crystal-lang
datanoise has quit [Ping timeout: 252 seconds]
BlaXpirit has joined #crystal-lang
willl has quit [Quit: Connection closed for inactivity]
unshadow has joined #crystal-lang
unshadow has quit [Client Quit]
sandelius has joined #crystal-lang
datanoise has joined #crystal-lang
datanoise has quit [Ping timeout: 250 seconds]
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
unshadow has joined #crystal-lang
BlaXpirit has quit [Quit: Quit Konversation]
<unshadow> !memo datanoise What do you think about allowing the socket.accept from the SSL_Socket object ? this will be more Ruby like.
<DeBot> unshadow: Added memo for datanoise.
Ven has joined #crystal-lang
havenwood has quit [Ping timeout: 256 seconds]
datanoise has joined #crystal-lang
datanoise has quit [Ping timeout: 265 seconds]
splattael has joined #crystal-lang
<splattael> hi, I'm trying to install crystal debian package but I keep getting 403 for e.g. .http://dist.crystal-lang.org/apt/
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<splattael> debian installation worked on another machine 2 days ago smoothly
<jhass> I think that the index 403s is normal on S3
<jhass> but the database does too or what?
<splattael> yes - `apt-get -o Debug::pkgProblemResolver=true -o Debug::Acquire::http=true update` shows a lot of 403's
<jhass> for example?
<jhass> well, doubt that exists or is harmful
<splattael> here
<jhass> I don't think any of these is harmful, let me update my debian jessie chroot
<splattael> sadly `apt-get install crystal` fails afterwards
<splattael> see updated gist
<jhass> what's your architecture?
<jhass> it works fine here
<jhass> root@jessie-9cb93d166cc56740:~# crystal --version
<jhass> Crystal 0.7.3 [bf72b07] (Sun Jun 7 16:37:14 UTC 2015)
<splattael> Linux x86_64
<jhass> weird
<splattael> yes, because http://dist.crystal-lang.org/apt/dists/crystal/main/binary-i386/Packages.gz is empty ... and .. "binary-i386"?
<jhass> uh
<jhass> so you're actually running 32bit?
<splattael> wtf
<jhass> there are only 64 bit (amd64) packages available for the moment
<splattael> *nod* ok, got it. so this machine is br0ken. let me see. thanks for your help :)
<jhass> yw
<splattael> great, thanks. have to migrate this system to 64bit. it's running a 64bit kernel on 32bit base system OMG
<splattael> *facepalm*
<jhass> that's actually quite an achievement :D
<splattael> cu, migration begins - wish me luck :D
splattael has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
flaviu has quit [Remote host closed the connection]
flaviu has joined #crystal-lang
BlaXpirit has joined #crystal-lang
bcardiff has joined #crystal-lang
Ven has joined #crystal-lang
bcardiff has quit [Quit: Leaving.]
<crystal-gh> [crystal] asterite pushed 1 new commit to master: http://git.io/vLWYt
<crystal-gh> crystal/master ef54ad4 Ary Borenszweig: HTTP::Response: raise "unexpected end of http response" if first line is nil. Related to #822
havenwood has joined #crystal-lang
<unshadow> jhass: I'm with you regarding the Exception handeling, but right now we have like maybe 10 subclasses, so the thing to do is to create more Exceptions subclasses for each module so this could work
<jhass> yeah, I see no issue in doing that
mdz_ has joined #crystal-lang
bcardiff has joined #crystal-lang
<unshadow> jhass: maybe i'll take the weekend to go over some modules and intorudce needed exceptions, though maybe it is better to do a list of modules -> exceptions, this way it will be easier to implament
<unshadow> like IO -> EOFError , IO -> BrokenStream, IO -> READ_WRITE errors etc..
<unshadow> Or maybe I should just find the Ruby counterparts and import those ..
<crystal-gh> [crystal] asterite pushed 1 new commit to master: http://git.io/vLWab
<crystal-gh> crystal/master 702df90 Ary Borenszweig: Fixed #821: wasn't checking macro expansions for early return expressions
NeverDie has joined #crystal-lang
waj has joined #crystal-lang
splattael has joined #crystal-lang
<splattael> jhass: migration to 64bit was successful. debian installation works like a charm. thanks again :)
Ven has quit [Ping timeout: 276 seconds]
<jhass> great!
Ven has joined #crystal-lang
unshadow has quit [Ping timeout: 276 seconds]
<jhass> waj: uh, re https://github.com/manastech/crystal/issues/788#issuecomment-112817252 doesn't surprise me, I mean you never free?
datanoise has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<waj> yup, but that’s not the problem. Notice that it never uses the whole memory so the OS should not assign the memory pages.
<waj> once the program reaches the “getchar” I expected the RSS to remain stable but it keeps growing instead
<waj> seems like it doesn’t happen on every linux anyway
<waj> I wonder if this is some kind of kernel tunnable parameter that pre-assigns memory pages before a page fault occurs
<jhass> might just be swappiness?
asterite has joined #crystal-lang
<asterite> swappiness is a warm gun
waj_ has joined #crystal-lang
waj has quit [Ping timeout: 256 seconds]
waj_ is now known as waj
bcardiff1 has joined #crystal-lang
splattael has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
asterite has quit [Quit: Page closed]
bcardiff has quit [Ping timeout: 265 seconds]
Guest25 has joined #crystal-lang
<BlaXpirit> finally got time to write an issue about my concerns on the use of C types in Crystal
<Guest25> So I know one of the goals of Crystal is to be very similar to Ruby, but are there any plans to introduce interfaces?
<jhass> I hope not but I'm afraid it's not out of question
<Guest25> Why do you hope not?
<BlaXpirit> there is no need for interfaces when duck typing is so strong in crystal
<crystal-gh> [crystal] asterite pushed 2 new commits to master: http://git.io/vLlcz
<crystal-gh> crystal/master 2b5cd6c Ary Borenszweig: Check byte index out of bounds in Regex#match_at_byte_index
<crystal-gh> crystal/master 6756cfa Ary Borenszweig: Use `.crystal` directory for temporary files. Fixes #676
<jhass> Crystal allows to get a long way with a duck typing programming style, I'd like to see what kind of community develops out of that combined with static typing
<Guest25> but don't you need to use `respond_to?` for Duck typing to work correctly (because then the type system knows whatever object it is doesn't matter because it responds to something)?
<Guest25> I'd rather not see `respond_to?` calls every where.
<Guest25> Forgive me though, I'm really new to the language
<BlaXpirit> Guest25, you are not supposed to need those
<BlaXpirit> when a variable only ever uses types that respond to the same method, you can call this method on them
<jhass> Guest25: ^ you rarely use those, you just call the method assuming it's there, the compiler will figure out whether it is in all cases
<jhass> you actually very rarely need to distinguish between "if x responds to y do z and if x responds to y2 do z2" in a method
<jhass> and if you do it's usually a sign you break SRP on the method level already
<Guest25> Ahh.. ok cool. Sorry, I'm new to this
<jhass> no worries
<jhass> additionally most types define their converter methods to return self
<jhass> so String#to_s, Int32#to_i etc all just return self
<jhass> which means you wouldn't do x = x.to_s unless x.responds_to? :to_s
<jhass> but just do x.to_s.upcase or whatever
<jhass> and the to_s would be optimized away in the case of a string anyway
<Guest25> Cool thanks
<BlaXpirit> [:17:10] <jhass> it's not out of question
<BlaXpirit> why? D:
<Guest25> Is there a roadmap or a list somewhere of features and/or functionality that needs to be implemented... I may want to get involved
<Guest25> For instance anything with STD libs?
<jhass> BlaXpirit: I've seen asterite not ruling it out completely....
<jhass> Guest25: asterite said he'll write something up soon, but in the meantime just look at the issue tracker or just use the language and I'm sure you'll find a hole to fix sooner or later ;)
<jhass> my approach is to just monkey patch stuff into the core classes (you can reopen any class at any point) and later upstream the ones I deem useful
<jhass> Guest25: oh, and one more point why I think interfaces are most likely not needed is that we got multiple inheritance (well, seemingly) via modules, which are sort of like interfaces but carrying implementation
<Guest25> Well so far (and I am very new, so that's not that far) I've had trouble determining if something is intentionally left out or not
<Guest25> String#dup
<Guest25> for instance
<jhass> since Strings are immutable copying them makes not a whole lot of sense ;)
<Guest25> true. Coming from Ruby though the std lib has bang methods for mutation
<Guest25> so I wasn't sure, but good point if you're going to keep all mutation methods out of String
<Guest25> That brings up another point though... I'm having a hard time telling where and when you draw the line to copy something that ruby does vs introduce new convention
<jhass> adhoc, as problems arise
<Guest25> for instance I'm not fond of ruby's inconsistencies with mutation and bang methods. Like I don't understand why sometimes they use `!` for methods that mutate and sometimes they don't
<Guest25> for instance, `Array#concat`
<jhass> the very initial goal was to compile ruby, but then they decided to diverge in order to make a useful language :P
<Guest25> I would expect that to have a bang on the end of it
<jhass> oh, Ruby's rule is actually pretty simple once you know it
<jhass> if a bang method exists, there's one without a bang that creates a copy
<jhass> that holds true for Ruby core & stdlib, the Ruby community diverges from it sometimes, most prominently rails does
<Guest25> Hmm... I would just expect anything that mutates to have a bang, more like clojure
<BlaXpirit> well that's how it usually is
<Guest25> I mean Array#concat is one example. I know there is Array#+ that doesn't mutate, but I would expect `Array#concat` not to mutate
<Guest25> or have a bang
<Guest25> so I know this mimics ruby but in a situation like this I'm wondering when you guys decide to refine conventions vs port Ruby's
<BlaXpirit> sometimes they do exactly that
<jhass> well, we do already have to cope with the "false friends" problem quite a bit already, especially for Rubyists
<BlaXpirit> and i'm all for it, because i don't know ruby :p
waj_ has joined #crystal-lang
<havenwood> Guest25: How many methods in Crystal would then get a bang? Really want all those exclamation marks? Is one convention so much better than the other to warrant a change?
waj has quit [Ping timeout: 245 seconds]
<Guest25> I'm not saying they all have to be changed. I was wondering what the intent was and what drives the intent of these decisions. I have developed in both Ruby and Clojure the past couple years and I like how clojure follows this convention strictly. However, Clojure is also has strong emphasis on immutability whereas ruby does not.
waj_ is now known as waj
<havenwood> Guest25: Yeah, I'm assuming that Matz didn't use a bang everywhere the receiver was modified because he thought it was ugly to have so many bangs. But I dunno.
<Guest25> I mean I would sort of agree with the fact that it can get noisy. Though Ruby's standard lib is pretty huge, at least compared to something like Clojure. I guess I just feel that it is clean to denote the mutation with bangs. Or, at a minimum, having a (seemingly) inconsistent usage of the bang is a bit annoying to me in Ruby. But to be clear I'm not advocating Crystal should go change everything
<Guest25> just trying to get a feel for how closely Crystal is trying to follow ruby
<Guest25> maybe "follow" is the wrong word
<jhass> let's say less and less :P
<jhass> but if there isn't a clear advantage to not doing it, it pretty much still does
Ven has joined #crystal-lang
shama has joined #crystal-lang
wuehlmau1 has joined #crystal-lang
BlaXpirit_ has joined #crystal-lang
BlaXpirit has quit [Killed (barjavel.freenode.net (Nickname regained by services))]
wuehlmaus has quit [*.net *.split]
drizz has quit [*.net *.split]
drizz has joined #crystal-lang
jua_ has joined #crystal-lang
wuehlmau1 is now known as wuehlmaus
fowlduck_ has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fowlduck has quit [Ping timeout: 256 seconds]
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
waj_ has joined #crystal-lang
waj has quit [Ping timeout: 265 seconds]
waj_ is now known as waj
Guest25 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
benjreinhart has joined #crystal-lang
jtarchie has joined #crystal-lang
bcardiff1 has quit [Quit: Leaving.]
BlaXpirit has quit [Ping timeout: 246 seconds]
waj_ has joined #crystal-lang
waj has quit [Ping timeout: 256 seconds]
waj_ is now known as waj
NeverDie has joined #crystal-lang
datanoise has quit [Ping timeout: 255 seconds]
Dreamer3 has quit [Read error: Connection reset by peer]
benjreinhart has quit [Read error: Connection reset by peer]
Dreamer3 has joined #crystal-lang
jua_ has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
grindhold has quit [Quit: No Ping reply in 180 seconds.]
grindhold has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
mdz_ has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 3 new commits to master: http://git.io/vL4SA
<crystal-gh> crystal/master da90aa0 Ary Borenszweig: Optimized HTTP::Headers and HTTP::Request parsing
<crystal-gh> crystal/master e6c033d Ary Borenszweig: Optimized StringIO#gets(Char)
<crystal-gh> crystal/master f05c736 Ary Borenszweig: Remove useless `responds_to?` call (IO defines flush already)
mdz_ has quit [Ping timeout: 276 seconds]
bcardiff has joined #crystal-lang
datanoise has joined #crystal-lang
vikaton has joined #crystal-lang
jeromegn has quit [Quit: jeromegn]
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
<vikaton> asterite, is trying out Rust :O
waj has quit [Quit: waj]
danebalia has joined #crystal-lang
fowlduck_ has quit [Remote host closed the connection]
fowlduck has joined #crystal-lang
danebalia is now known as daneb
daneb is now known as danebalia
danebalia has quit []
daneb has joined #crystal-lang
daneb has quit [Remote host closed the connection]