<zamith>
any reason for not going with ruby's naming?
<jhass>
I think they found those names less intuitive
<jhass>
and since those are macros you can pass not just symbols actually
<jhass>
getter foo and getter @foo should work too (never checked the last one though)
asterite has joined #crystal-lang
bcardiff has joined #crystal-lang
<zamith>
according to the docs they do
<zamith>
I though crystal was going for as much ruby compat as possible
<zamith>
this is a major non-compatibility
<zamith>
not that it's problematic in itself, but...
<asterite>
I don’t think you’ll be able to port Ruby code that easily to Crystal, there are some major differences that make it a completely different language
<asterite>
And Crystal is just inspired by Ruby, not a Ruby implementation
<asterite>
I think attr_accessor is too long and not very descriptive, and in other programming languages “property” is used
canhtak has joined #crystal-lang
canhtak has quit [Quit: canhtak]
zamith has quit [Ping timeout: 246 seconds]
shama has joined #crystal-lang
asterite_ has joined #crystal-lang
asterite has quit [Ping timeout: 245 seconds]
asterite_ is now known as asterite
canhtak has joined #crystal-lang
canhtak has quit [Quit: canhtak]
rpag has joined #crystal-lang
zamith has joined #crystal-lang
<zamith>
Is there an equivalent to symbol_to_proc?
<jhass>
sort of, &. is a syntax rewrite to {|a| a. }
<jhass>
so it's actually more powerful
<jhass>
.map &.count('a')
<jhass>
.select &.foo.nil?
<zamith>
cool
<zamith>
thanks
asterite has quit [Read error: Connection reset by peer]
<zamith>
asterite: I'm planning an introductory presentation on crystal for a local ruby meetup. What would you say are the best features and/or selling points?
canhtak has joined #crystal-lang
canhtak_ has joined #crystal-lang
canhtak has quit [Ping timeout: 255 seconds]
canhtak_ is now known as canhtak
leafybasil 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
asterite has joined #crystal-lang
<asterite>
zamith: I see your message right now
bcardiff has quit [Ping timeout: 245 seconds]
<asterite>
Mmm… The things I like about Crystal are (in no particular order): efficiency (similar to C or other low-level languages), Ruby-like syntax (easy to read and write, short, concise), efficient blocks (blocks are just awesome!), static checks (easy to refactor code, less crashes at runtime), macros to generate code, and simple bindings to C (no need to write C code)
<asterite>
zamith
<asterite>
zamith: did you code anything interesting in crystal?
<asterite>
Also: thanks for talking about Crystal! :-)
leafybasil has joined #crystal-lang
rpag has quit [Quit: Leaving]
asterite has quit [Quit: asterite]
<zamith>
no, not yet
<zamith>
just simple examples, trying to port them from ruby
<zamith>
@asterite: what's particular about blocks that make them efficient?
<zamith>
asterite: Also, is there a package manager, or packages for that matter, other than the core?
canhtak has quit [Quit: canhtak]
asterite has joined #crystal-lang
<asterite>
zamith: if you don't capture a block it always gets inlined, and LLVM can optimize better. So for example 3.times { .. } is as efficient as a C for loop
<asterite>
There's `crystal deps`, but it's very basic right now, we need to enhance it
<asterite>
It just pulls github repositories for now, now versionin
<asterite>
We'd like a decentralized approach, which is what we have right now
<asterite>
But it's very basic. And there aren't many packages right now maybe because the language is not popular/used and maybe because of the lack of a good package manager
<asterite>
But the language is still evolving, so I don't mind that much
<zamith>
package managers help grow the community, imo
<zamith>
but as you say, the language is evolving and changing a lot
<zamith>
so maybe just gh for now is not a bad idea
<zamith>
I'll give it a try
<asterite>
It's not documented, but `deps { github "sferik/twitter-crystal" }` would be how to use `crystal deps` (put that inside a Projectfile)