00:15
bcardiff has joined #crystal-lang
00:41
notfowl has joined #crystal-lang
00:43
notfowl is now known as fowl
01:02
datanoise has joined #crystal-lang
01:07
datanoise has quit [Ping timeout: 258 seconds]
01:09
bcardiff has quit [Quit: Leaving.]
01:11
vikaton has joined #crystal-lang
01:23
vikaton has quit []
01:32
waterlink1 has joined #crystal-lang
01:34
waterlink has quit [Ping timeout: 272 seconds]
01:43
waterlink1 has quit [Ping timeout: 245 seconds]
01:57
DerisiveLogic has quit [Remote host closed the connection]
01:58
DerisiveLogic has joined #crystal-lang
02:23
kulelu88 has quit [Quit: Leaving]
02:51
datanoise has joined #crystal-lang
02:56
datanoise has quit [Ping timeout: 245 seconds]
03:46
willlll has quit [Quit: willlll]
04:03
willlll has joined #crystal-lang
04:04
willlll has quit [Client Quit]
04:08
datanoise has joined #crystal-lang
04:12
willlll has joined #crystal-lang
04:14
unshadow has quit [Quit: leaving]
04:34
JBat has joined #crystal-lang
04:38
havenwood has quit [Ping timeout: 250 seconds]
04:52
datanoise has quit [Ping timeout: 256 seconds]
05:02
willlll has quit [Quit: willlll]
05:13
willlll has joined #crystal-lang
05:13
willlll has quit [Client Quit]
05:17
willlll has joined #crystal-lang
05:17
willlll has quit [Client Quit]
05:24
havenwood has joined #crystal-lang
05:25
willlll has joined #crystal-lang
05:26
willlll has quit [Client Quit]
05:36
willlll has joined #crystal-lang
05:38
willlll has quit [Client Quit]
05:38
willlll has joined #crystal-lang
05:42
willlll has quit [Client Quit]
05:48
datanoise has joined #crystal-lang
06:21
datanoise has quit [Ping timeout: 255 seconds]
06:27
willlll has joined #crystal-lang
06:37
willlll has quit [Quit: willlll]
06:38
willlll has joined #crystal-lang
06:43
willlll has quit [Client Quit]
07:05
DerisiveLogic has quit [Ping timeout: 240 seconds]
07:18
datanoise has joined #crystal-lang
07:23
datanoise has quit [Ping timeout: 264 seconds]
07:28
JBat has quit [Quit: Computer has gone to sleep.]
07:59
ponga has joined #crystal-lang
08:36
unshadow has joined #crystal-lang
08:42
JBat has joined #crystal-lang
09:07
datanoise has joined #crystal-lang
09:12
datanoise has quit [Ping timeout: 265 seconds]
09:23
BlaXpirit has joined #crystal-lang
09:41
waterlink has joined #crystal-lang
09:45
waterlink1 has joined #crystal-lang
09:45
waterlink has quit [Read error: Connection reset by peer]
10:07
<
unshadow >
Is there a TO-DO list for future versions ? (or a road map)
10:11
<
unshadow >
>> a = [] of Int32; a.class == Array(Int32)
10:12
<
jhass >
unshadow: that question has been asked to the mailing list very recently ;)
10:15
<
unshadow >
A miling list ? I'll join at once ! :)
10:18
<
unshadow >
jhass, is the mailing list via the google groups, or do we have a real one ?
10:18
<
jhass >
it's a real one
10:18
<
jhass >
you don't need a google account
10:21
<
unshadow >
jhass, how can I join ? is there a link to the list ?
10:22
<
jhass >
I just linked a thread in it?
10:23
<
jhass >
just send an empty mail to crystal-lang+subscribe@googlegroups.com
10:23
<
unshadow >
Ok, so it is the google group, thats ok, I joined
10:46
Aleios has joined #crystal-lang
10:57
datanoise has joined #crystal-lang
11:01
datanoise has quit [Ping timeout: 258 seconds]
11:58
datanoise has joined #crystal-lang
12:04
datanoise has quit [Ping timeout: 240 seconds]
13:31
datanoise has joined #crystal-lang
13:36
datanoise has quit [Ping timeout: 264 seconds]
13:41
_havenn has joined #crystal-lang
13:41
havenwood has quit [Ping timeout: 256 seconds]
14:14
unshadow has quit [Quit: leaving]
14:31
Aleios has quit [Quit: WeeChat 1.1.1]
14:43
datanoise has joined #crystal-lang
14:58
datanoise has quit [Read error: Connection reset by peer]
15:32
_havenn is now known as havenwood
16:22
unshadow has joined #crystal-lang
16:29
DerisiveLogic has joined #crystal-lang
16:29
DerisiveLogic has quit [Remote host closed the connection]
16:30
DerisiveLogic has joined #crystal-lang
16:31
unshadow has quit [Ping timeout: 264 seconds]
16:32
unshadow has joined #crystal-lang
16:42
unshadow has quit [Quit: leaving]
17:09
ponga has quit [Quit: Leaving...]
17:27
CraigBuchek has joined #crystal-lang
18:01
shadeslayer has quit [Ping timeout: 272 seconds]
18:02
CraigBuchek has quit [Quit: Leaving.]
18:02
shadeslayer has joined #crystal-lang
18:08
willlll has joined #crystal-lang
18:16
bcardiff has joined #crystal-lang
18:29
willlll has quit [Quit: willlll]
18:29
shama has joined #crystal-lang
18:33
willlll has joined #crystal-lang
18:37
willlll has quit [Client Quit]
18:37
kulelu88 has joined #crystal-lang
18:41
willlll has joined #crystal-lang
18:42
willlll has quit [Client Quit]
18:44
shama has quit [Quit: (╯°□°)╯︵ɐɯɐɥs]
19:00
unshadow has joined #crystal-lang
19:40
JBat has quit [Quit: Computer has gone to sleep.]
19:41
<
kulelu88 >
Does anyone have a Dockerfile to install Crystal?
19:46
<
jhass >
mh, do you really need one?
19:47
<
jhass >
I mean do you use a dockerfile for gcc?
19:48
strcmp1 has quit [Ping timeout: 252 seconds]
19:53
<
kulelu88 >
jhass: I use docker as my virtualization tool.
19:54
<
jhass >
so that's a yes?
19:54
<
kulelu88 >
I'd like to keep all my dev environments separated
19:54
willlll has joined #crystal-lang
19:54
<
kulelu88 >
Hopefully my base ubuntu install has the gcc. but don't I need llvm?
19:55
<
jhass >
well, I'm not aware of any, but writing one should be easy, just embed the regular install instructons
19:55
<
kulelu88 >
from source?
19:58
<
jhass >
that's for the latest development version though
20:01
bcardiff has quit [Quit: Leaving.]
20:02
willlll has quit [Quit: willlll]
20:05
<
kulelu88 >
jhass: If I have a base-ubuntu, what can I strip away?
20:06
<
jhass >
dunno, I only have a core list of packages for arch
20:06
bcardiff has joined #crystal-lang
20:14
bcardiff has quit [Quit: Leaving.]
20:28
<
kulelu88 >
jhass: who is manastech?
20:29
<
kulelu88 >
oh a company
20:29
<
jhass >
the company where the authors of crystal work at
20:33
<
kulelu88 >
I'm trying to see what I can strip out
20:35
<
jhass >
533M sandboxes/crystal/0.7.1/
20:36
<
jhass >
gonna get hard to get below that I think ;)
20:36
<
kulelu88 >
jhass: from the dockerfile I mean
20:36
<
kulelu88 >
I seem to have found a nice alternate dockerfile though
20:37
<
kulelu88 >
Just to be clear, Crystal is a statically typed, compiled language, right?
20:38
<
kulelu88 >
are there any performance benchmarks I can see?
20:40
<
kulelu88 >
jhass: and running a crystal webapp is as simple as dropping in a binary on a server?
20:41
<
jhass >
note that both, crystal and its eco system are still in quite early development
20:42
<
kulelu88 >
I'm going to test out a binary on a server. Will be fun
20:42
<
jhass >
it's good to toy, it's good to contribute to a developing community, I wouldn't base business critical stuff on it yet
20:43
<
kulelu88 >
not even simple webapps that serve ads?
20:47
<
jhass >
if you put a reverse proxy in front to hide any quirks not considered in the shipped http server implementation, maybe
20:47
<
kulelu88 >
jhass: yeah, I would probably run nginx in front
20:47
havenwood has quit []
20:47
<
kulelu88 >
nobody should ever use their own http server =D
20:48
<
jhass >
I still think binding lwan so you could embed it could be fun
20:49
<
kulelu88 >
I just want to compare writing Crystal vs. writing Nim
20:50
<
jhass >
look through my last link, there are a couple of early frameworks and sites built with them
20:51
<
kulelu88 >
I'm glad there's support for postgres and a web framework, which means basic CRUD stuff is possible
20:55
<
kulelu88 >
jhass: Can Crystal be considered a powerful language for building high-performance webapps?
20:56
<
jhass >
at the current stage, if you're willing to fill the holes in the standard library and build the webframework as you go with it, yes
20:57
<
kulelu88 >
holes? What's lacking?
20:57
<
jhass >
crystal has an open class system, I often monkey patch stuff into stdlib while working on a project and upstream the patches later
20:57
<
kulelu88 >
can you show an example of this?
20:57
<
jhass >
stuff, you'll simply run into holes from time to time
21:03
<
kulelu88 >
the syntax looks so simple.
21:06
<
jhass >
do you know Ruby?
21:06
<
kulelu88 >
I know Python
21:06
<
kulelu88 >
but the syntax is similar
21:06
<
jhass >
crystals syntax is heavily inspired by Ruby
21:06
<
kulelu88 >
I wonder how much cleaner it would've looked had it been Python
21:08
<
jhass >
I guess it'd look like Nim? :P anyway, cleaner is entirely subjective
21:08
<
kulelu88 >
Nim does not look like Python
21:08
<
kulelu88 >
Well not to me that is
21:08
<
jhass >
I'm happy it looks like Ruby and not like Python
21:09
<
jhass >
because I like Ruby ;)
21:09
<
kulelu88 >
haha. Well I don't mind. As long as I can use it for performance-based things, It's cool.
21:10
<
kulelu88 >
Can't be hoping for someone to build something like that when Crystal seems good enough
21:10
<
jhass >
fun fact: crystal was written in Ruby before it became self hosted
21:11
<
kulelu88 >
How exactly does 1 go about writing a new language?
21:11
<
jhass >
it's a program
21:12
<
jhass >
like when you write a program that takes CSV and turns it into SQL INSERT statements
21:12
<
jhass >
just a bit more text processing and analysis involved
21:12
<
kulelu88 >
a program or a DSL?
21:12
<
unshadow >
>> a = 2 ; a == Int32
21:13
<
kulelu88 >
how do you get to go from "written in Ruby to compiled in Crystal itself?" ?
21:13
<
jhass >
you write a new compiler in the language you've written a compiler for in another language
21:13
<
jhass >
until you have a compiler that can compile its own code
21:14
<
kulelu88 >
like recursion?
21:14
<
kulelu88 >
well not the technique, but the principle
21:14
<
jhass >
a self hosted compiler probably has some recursive aspects, have to think about it :P
21:15
<
unshadow >
Who compiled the first compiler ? gcc or something
21:15
havenwood has joined #crystal-lang
21:15
<
jhass >
though it's an iterative process, you usually ensure compiler generation n can compile compiler generation n+1
21:15
<
kulelu88 >
I should try this. Would be fun to be a language author of my own language. Then I can overlord and tell people to "feck off"
21:15
<
jhass >
unshadow: pretty sure the first assembler was entered into the machine with raw opcodes
21:16
<
unshadow >
Hmmm interesting read :)
21:16
<
BlaXpirit >
well of course
21:16
<
jhass >
now the philosophical part begins whether you consider a CPUs instruction set a language ;)
21:17
<
kulelu88 >
It's all in the name though. What is longer or more dangerous than a Python?
21:17
<
kulelu88 >
What do you guys think of Viper?
21:17
<
kulelu88 >
Cobra is taken :(
21:17
<
kulelu88 >
So is Anaconda :(
21:17
<
unshadow >
Rattle snake
21:17
<
havenwood >
kulelu88: Common Garden Snake?
21:18
<
unshadow >
Black mamba
21:18
<
kulelu88 >
What about Baselisk? =D muhahahaha
21:18
<
unshadow >
Snake::snake
21:18
<
kulelu88 >
it's not a base or based on lisp, it is a baselisk
21:19
<
unshadow >
Snake::snake.to_snake
21:19
<
kulelu88 >
I shall officially, as the first action of language philosophy, ban ::
21:20
<
kulelu88 >
no Perl Lisp stuff here
21:20
<
unshadow >
How can you know which is class and which is module ?
21:20
<
unshadow >
Module::class.method
21:20
<
kulelu88 >
There shall be no OO also.
21:20
<
kulelu88 >
If you want that, there is C++
21:21
<
unshadow >
>> puts "new snake language sounds .... Mha..."
21:22
<
unshadow >
brb , rebooting a new rom
21:24
<
jhass >
>> Class.is_a? Module
21:25
<
jhass >
well, that's true, in theory
21:25
<
jhass >
>> Module === Class
21:25
<
jhass >
oh, right we still don't have Module faked
21:25
<
jhass >
>> module A; end; A.class
21:26
unshadow has quit [Ping timeout: 244 seconds]
21:28
unshadow has joined #crystal-lang
21:29
<
unshadow >
I want 0.8 to come :)
21:29
<
unshadow >
jhass , what is usually the time between versions ?
21:29
<
jhass >
unshadow: so from the theoretical point of view, Class is a specialization of Module, it's a Module you can make instances of
21:31
<
unshadow >
Interesting, you cant create an instance of a module ?
21:33
<
jhass >
There's no Module#allocate, only Class#allocate
21:34
<
unshadow >
require "openssl"
21:35
<
unshadow >
>> require "openssl"; s = OpenSSL::SSL::Socket.new
21:35
<
DeBot >
unshadow: Error in line 4: wrong number of arguments for 'OpenSSL::SSL::Socket#initialize' (0 for 1, 2, 3) -
http://carc.in/#/r/4n
21:35
<
unshadow >
Well.. Isnt OpenSSL an instance ?
21:37
<
jhass >
s points to an instance of Socket
21:38
<
unshadow >
Also , i see new versions are around once a month +/-
21:38
<
jhass >
OpenSSL is a constant that points to an instance of Module, SSL is a constant that points to an instance of Module, Socket is a constant that points to an instance of Class
21:38
<
unshadow >
and new initiate the class of socket
21:39
<
unshadow >
Im not that good with terminology :(
21:40
<
jhass >
yes, (well, actually allocate does, new is def self.new(*args, &block); obj = allocate; obj.initialize(*args, &block); obj; end;, basically
22:13
BlaXpirit has quit [Quit: Quit Konversation]
22:13
strcmp1 has joined #crystal-lang
22:19
orliesaurus has quit [Ping timeout: 246 seconds]
22:36
willlll has joined #crystal-lang
22:46
bcardiff has joined #crystal-lang
22:58
bcardiff has quit [Quit: Leaving.]
23:00
vikaton has joined #crystal-lang
23:05
zz_Cidan has quit [Ping timeout: 252 seconds]
23:13
Cidan has joined #crystal-lang
23:21
Cidan has quit [Ping timeout: 250 seconds]