aemadrid has quit [Quit: Connection closed for inactivity]
ismaelga has quit [Remote host closed the connection]
ponga has joined #crystal-lang
DerisiveLogic has joined #crystal-lang
willlll has joined #crystal-lang
willlll has quit [Quit: willlll]
willlll has joined #crystal-lang
willlll has quit [Client Quit]
havenwood has quit [Remote host closed the connection]
Ven has joined #crystal-lang
strcmp1 has quit [Ping timeout: 265 seconds]
BlaXpirit has joined #crystal-lang
Ven has quit [Disconnected by services]
Ven_ has joined #crystal-lang
DerisiveLogic has quit [Ping timeout: 256 seconds]
ponga has quit [Remote host closed the connection]
ponga has joined #crystal-lang
Ven_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ponga has quit [Read error: No route to host]
ponga has joined #crystal-lang
ponga has quit [Read error: Connection reset by peer]
HakanD has joined #crystal-lang
HakanD_ has joined #crystal-lang
HakanD has quit [Ping timeout: 256 seconds]
HakanD_ has quit [Quit: Be back later ...]
leafybasil has quit [Read error: No route to host]
leafybasil has joined #crystal-lang
HakanD_ has joined #crystal-lang
Ven_ has joined #crystal-lang
<BlaXpirit>
hey, HakanD_. are you doing anything with Crystal or just hanging around?
<HakanD_>
hanging around, for now.
blaix has joined #crystal-lang
sfcgeorge has joined #crystal-lang
j0hnnyk has quit [Remote host closed the connection]
ponga has joined #crystal-lang
ponga has quit [Quit: Leaving...]
ponga has joined #crystal-lang
ponga has quit [Quit: Leaving...]
blaix has quit [Quit: Leaving.]
Ven_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
JBat has joined #crystal-lang
DerisiveLogic has joined #crystal-lang
DerisiveLogic has quit [Ping timeout: 276 seconds]
vikaton has joined #crystal-lang
ssvb has joined #crystal-lang
jeromegn has joined #crystal-lang
HakanD_ has quit [Quit: Be back later ...]
HakanD_ has joined #crystal-lang
ponga has joined #crystal-lang
ismaelga has joined #crystal-lang
strcmp1 has joined #crystal-lang
JBat has quit [Ping timeout: 265 seconds]
strcmp1 has quit [Quit: Leaving]
Ven has joined #crystal-lang
HakanD_ has quit [Quit: Be back later ...]
HakanD_ has joined #crystal-lang
HakanD_ has quit [Read error: Connection reset by peer]
HakanD_ has joined #crystal-lang
Ven has quit [Disconnected by services]
Ven_ has joined #crystal-lang
strcmp1 has joined #crystal-lang
kulelu88 has joined #crystal-lang
<kulelu88>
what is this language comparable to? Go? C? Java?
<jhass>
that's a tricky question
<jhass>
the syntax is deeply inspired by Ruby
<jhass>
0.7 switched the concurrency & IO model _basically_ to Go's
<kulelu88>
okay let me try rephrasing my questions. is this a static language that compiles?
<jhass>
yes
<jhass>
though you often don't have to specify the types, they're inferred
<kulelu88>
inferred types? How does that work?
<jhass>
>> x = 1; typeof(x)
<DeBot>
jhass: Int32
<kulelu88>
oh, it does checking for you at compile time?
<jhass>
yes
<kulelu88>
well that is a brilliant feature
<kulelu88>
can crystal be classified as web-friendly?
<kulelu88>
I've been looking for a static(ish) kind of language geared for the web
<jhass>
the ecosystem is still way too young for such classifications, but a lot of people are toying with basic webframeworks
<jeromegn>
it does have web stuff in its standard lib. like web sockets, oauth..
<kulelu88>
so the language has optional type classification (it will check it by itself if you don't specify it) and it is still static and compiles?
<jhass>
yes
<kulelu88>
I'm liking what I read
DerisiveLogic has joined #crystal-lang
<kulelu88>
only wish it was less ruby and more python
<kulelu88>
but that's a cosmetic issue
<jhass>
:( show more <3 for Ruby
<jhass>
:P
<jeromegn>
Nim is more python-esque
<kulelu88>
Is the aim of the language to "get out of the way" and do more without fighting syntax?
<kulelu88>
jeromegn: I thought so too, but Nim doesn't feel like python
<jhass>
well, I doubt you'll find a language author who claims otherwise... ;)
<kulelu88>
are you the author??? jhass
<kulelu88>
*main*
<jhass>
no, what I'm saying is that if the language achieves that point is highly subjective, thus I'm not sure it's a good goal
<jhass>
it's rather an implicit goal of every language
<kulelu88>
well as honest as we can state, most languages eventually forget that part along the way
<jhass>
as a strong Rubyist I can say Crystal feels a lot like writing Ruby
<kulelu88>
or it could just be me and my pseudo-codish python
<jeromegn>
I would agree
<jeromegn>
been loving it
<jhass>
and well, I'm a strong Rubyist because I find Ruby very expressive ;)
<kulelu88>
I see some Nim lurkers here :D
<kulelu88>
well if you guys say it's very very similar to ruby, i suppose that would be easier to pick up than the other systems languages
<kulelu88>
I initially thought this was "compiled from ruby"
<kulelu88>
glad to see it's another language
<jeromegn>
well, I miss the meta-programming features of Ruby
<jeromegn>
but it’s possible to work around
<jhass>
in Ruby we recently compared list comprehensions to equivalent Ruby constructs, one that came up: Python: [os.path.join(d[0], f) for d in os.walk(".") for f in d[2] if f.endswith(".rst")] Ruby: Dir["**/*.rst"]
<jhass>
:P
<jhass>
* in #ruby
<kulelu88>
maybe you guys disagree, but python is the easiest language to understand even if you don't know how to code
<jhass>
I think any dynamically typed language is equally good and easy to learn as your first one
Ven_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<strcmp1>
python and ruby feel like the same language to me sometimes, as far as knowing one doesn't give you much reason to learn the other. python/ruby are easier to read and understand than most perl
<kulelu88>
debatable, but not for this room :P
<kulelu88>
you guys forget something called PHP =/
<strcmp1>
PHP seems readable most of the time, but if i'm going for a dynamic scripting language id forget PHP and perl
<jeromegn>
somebody needs to build a slim-like thing for cyrstal
<jeromegn>
I miss it dearly
<jeromegn>
and have started building one, but this is my first experience with lexers
shama has joined #crystal-lang
<BlaXpirit>
for anyone wondering, Crystal is by far closer to Python than Nim
<jhass>
PHP poisens your mind with weak typing and mixing map and list into the same datastructure
<jhass>
I had PHP as my first language, unlearning that took time
<BlaXpirit>
:(
<strcmp1>
ha
<strcmp1>
perl was mine
<BlaXpirit>
pascal :I
<strcmp1>
i somehow missed the PHP craze completely
<BlaXpirit>
gawd how much time i wasted on php
<BlaXpirit>
actually.. not that much
<jeromegn>
javascript here :)
<strcmp1>
i wasnt using computers at all when PHP become so popular, when i came back i took a brief look, then moved onto ruby/python, and settled on ruby.
<BlaXpirit>
for what it's worth... i think javascript is worse than php
<BlaXpirit>
big problem is people don't want to admit it's horrible
<strcmp1>
i havent ran into any of its quirks yet, i like the functions-first approach
<jeromegn>
I do like JS
<jeromegn>
best used when not forcing OOP concepts on it
<vikaton>
stacking.money is available if u want to be formal
<kulelu88>
whoa, arabic
<BlaXpirit>
it's just one page.. what part exactly is written in crystal?
<kulelu88>
the static site generator? +D
<kulelu88>
=D
<epitron>
hey llvm-based language enthusiasts! take a gander at this little number: http://ponylang.org/
<BlaXpirit>
dont need a weirder java :|
<vikaton>
BlaXpirit: the view counter :D
<vikaton>
and the updates page
<vikaton>
when u type in 'uptime'
<kulelu88>
you know, hello world really is a shit example to evaluate languages. if every language showed how to build a simple todo like app, java would probably not have survived either
<vikaton>
uhhh
<vikaton>
why would it survive on hello world either lol
<kulelu88>
=D
<kulelu88>
how much can you really learn about a language from this:
<kulelu88>
actor Main
<kulelu88>
new create(env: Env) =>
<kulelu88>
env.out.print("Hello, world!")
<kulelu88>
mehh
<vikaton>
yuck
<kulelu88>
i'm guessing env is the variable and env is the type
<kulelu88>
I mean
<kulelu88>
env = variable
<kulelu88>
Env = type
<kulelu88>
.
<vikaton>
who names a language Pony..
<kulelu88>
would've been more awesome as unicorn ehh
<kulelu88>
or stallion
<kulelu88>
or or or! Hidalgo!!!!
<epitron>
kulelu88: you can read all the language features...
<epitron>
there's a lot of CS in pony
<epitron>
ha
<epitron>
i thought you guys would be excited
<epitron>
i guess you perceive it as a competitor
<vikaton>
not rly
<vikaton>
I just didnt like it
<epitron>
did you see how madly parallel it is?
<Dreamer3>
hey
<Dreamer3>
can someone walk me thru the requirements for building from source so i can update the docs?
<Dreamer3>
(on mac)
<Dreamer3>
docs still say llvm 3.5.1 but i'm pretty sure that's not right
<epitron>
tar zxvf cyrstal-0.7.1.tar.gz
<Dreamer3>
latest recipe for homebrew is still llvm 351 too
<Dreamer3>
Ruby people (well, Rails at least) are mostly Mac
<asterite>
However they lie when they say they don't have a "null" concept. They have None and union types, just like Crystal, so... it's OK for marketing, I guess :-P
<asterite>
But I'm curious about the actors and the concurrent model
<epitron>
hahah
<epitron>
it sounds like there's some hot computer science in pony
<asterite>
Previously you were talking about type inference. The thing that's different in crystal from other languages is that you don't need to specify the types of methods
<asterite>
In Rust, Go, D, etc., you (almost) always need to specify those types, because type inference is local to a method/function
<asterite>
But, as BlaXpirit said, not everyone might like it
<BlaXpirit>
well nim can work without types
<BlaXpirit>
but i don't see people praising it
<Dreamer3>
how do i build the compiler twice?
<BlaXpirit>
you build it and then you build it
<Dreamer3>
right, but Make doesn't want to do anything since it's already built
<Dreamer3>
i know bin/crystal auto swaps the right binary
<BlaXpirit>
change 1 file??
HakanD_ has quit [Quit: Be back later ...]
<Dreamer3>
is that going to recompile EVERYTHING? i don't know if there are object files from partial compile steps that might leave around?
<BlaXpirit>
hm that's strange. sorry.
<BlaXpirit>
i don't know
sfcgeorg_ has joined #crystal-lang
asterite has quit [Quit: Page closed]
<Dreamer3>
well it compiles itself
asterite has joined #crystal-lang
<Dreamer3>
with llvm 3.5.1
<Dreamer3>
so that's something
<asterite>
you do bin/crystal src/compiler/crystal.cr
asterite has quit [Client Quit]
<Dreamer3>
nope that blows up
asterite has joined #crystal-lang
<Dreamer3>
ok the distributed version works
<Dreamer3>
so my llvm is the problem then?
<asterite>
you need the patched llvm 3.5.1
sfcgeorge has quit [Ping timeout: 256 seconds]
<asterite>
I thought 3.6 works, but I experienced some crashes :(
<Dreamer3>
why does the makefile list llvm36?
<Dreamer3>
oh
<asterite>
Check the Contriubuting.md
<asterite>
and how it blows up?
<Dreamer3>
hmmmm
<Dreamer3>
is there any info on the patch? i'd like to write a homebrew recipe that users the official LLVM sources and then just applies the patch, for transparency
<ytti>
You will see that QR.rb is the same as QR2.rb.
<ytti>
$ diff QR.rb QR2.rb
<ytti>
this blows my mind
<ytti>
how on earth is that possible
<ytti>
these transformations shouldn't be reversible
<ytti>
it makes no sense
<jhass>
it's not reversible, it doesn't go back, it forms a circular chain
vikaton has quit [Read error: Connection reset by peer]
vikaton has joined #crystal-lang
vikaton has quit [Client Quit]
vikaton has joined #crystal-lang
willlll has joined #crystal-lang
<willlll>
Is thre a way to get the size of a type if you only have a variable pointing to the type? sizeof() requires the actual type to be there it seems
<vikaton>
willlll: maybe this?
<vikaton>
>> "hi".bytesize
<DeBot>
vikaton: Sorry, that took too long.
<vikaton>
well then...
<vikaton>
>> "hi"
<DeBot>
vikaton: "hi"
<vikaton>
>> "hi".bytesize
<DeBot>
vikaton: 2
<vikaton>
^
<BlaXpirit>
>> sizeof(5.type)
<DeBot>
BlaXpirit: Syntax error in eval:3: expecting token 'CONST', not '5'
<BlaXpirit>
>> sizeof((5).type)
<DeBot>
BlaXpirit: Syntax error in eval:3: expecting token 'CONST', not '5'
<fowl>
>> X= 5.type; sizeof(X)
<DeBot>
fowl: Error in line 3: undefined method 'type' for Int32
<BlaXpirit>
sizeof seems to be fiction
<BlaXpirit>
and it's .class not .type
<BlaXpirit>
ah no, sizeof indeed works only on type literals
ismaelga has joined #crystal-lang
<willlll>
yeah looks like it’s built into the parser
<crystal-gh>
[crystal] yyyc514 opened pull request #624: bin/crystal should hook up LLVM path on OS X (master...bin_crystal_llvm) http://git.io/vJ6DD
aemadrid has joined #crystal-lang
<vikaton>
haha
<crystal-gh>
[crystal] yyyc514 opened pull request #625: macro should support string concat (master...macro_support_string_concat) http://git.io/vJ6QV
<vikaton>
>> 'a'.ord
<DeBot>
vikaton: 97
<vikaton>
>> 'a'.ord.to_u8
<DeBot>
vikaton: 97
<vikaton>
whats the diff?
<jhass>
>> 'a'.ord.class
<DeBot>
jhass: Int32
<jhass>
>> '☃'.ord.class
<DeBot>
jhass: Int32
<sfcgeorg_>
Wow I just made my app over 20x faster by using StringIO#puts instead of String#+=. 20s runtime now under 1s.
<jhass>
>> '☃'.ord
<DeBot>
jhass: 9731
<jhass>
>> '☃'.ord.to_u8
<DeBot>
jhass: 3
<vikaton>
>> 'a'.to_u8
<DeBot>
vikaton: Error in line 3: undefined method 'to_u8' for Char
<sfcgeorg_>
\msg NickServ regain sfcgeorge
<sfcgeorg_>
oops sorry O:)-
sfcgeorg_ is now known as sfcgeorge
<vikaton>
whats ord short for?
<crystal-gh>
[crystal] yyyc514 opened pull request #626: Int@to_s should return only lowercase "digits" (master...lowercase_hex_int_to_s) http://git.io/vJ65N
<Dreamer3>
ordinal?
<vikaton>
o
BlaXpirit is now known as BlaXpirit_
BlaXpirit_ is now known as BlaXpirit
BlaXpirit has quit [Remote host closed the connection]
BlaXpirit has joined #crystal-lang
BlaXpirit has quit [Client Quit]
<crystal-gh>
[crystal] will opened pull request #627: Try, but fail, to reorder structs (master...failed-attempt-to-reorder-structs) http://git.io/vJif2
<crystal-gh>
[crystal] asterite pushed 2 new commits to master: http://git.io/vJiJO
<crystal-gh>
crystal/master 2e25e19 Ary Borenszweig: Change: type variables can now only be single letters, same as free vars. Error on unknown types in restrictions (on instantiation). Fixes #487, and it actually uncovered a few bugs/mistakes.
<crystal-gh>
crystal/master 79989b7 Ary Borenszweig: Replace leading tabs with spaces in error messages so we can highlight the correct locations
<travis-ci>
manastech/crystal#2295 (master - 79989b7 : Ary Borenszweig): The build is still failing.