testcocoon has quit [Remote host closed the connection]
testcocoon has joined #ocaml
oriba has joined #ocaml
fantasticsid has joined #ocaml
oriba has quit [Quit: oriba]
testcocoon has quit [Remote host closed the connection]
testcocoon has joined #ocaml
emmanuelux has quit [Read error: No route to host]
emmanuelux has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
wtetzner has joined #ocaml
cdidd has quit [Remote host closed the connection]
Tobu has joined #ocaml
iago has quit [Quit: Leaving]
Tobu has quit [Ping timeout: 272 seconds]
Tobu has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
sivoais has joined #ocaml
andreypo_ has joined #ocaml
datkin has quit [Ping timeout: 248 seconds]
asdfhjkl has joined #ocaml
jimmyrcom has quit [Ping timeout: 260 seconds]
<pippijn>
I found my first use for polymorphic variants
<pippijn>
and it's a good use, I think
<pippijn>
I use it for AST annotations
<pippijn>
not all AST nodes can have the same annotations
<pippijn>
but I want generic functions for retrieving and setting certain annotations
Tobu has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
ezyang has quit [Remote host closed the connection]
asdfhjkl has quit [Quit: Leaving]
Tobu has joined #ocaml
Snark has joined #ocaml
Cyanure has joined #ocaml
Zedrikov has joined #ocaml
avsm has quit [Quit: Leaving.]
<adrien>
ohloh doesn't really enjoy when stuff is in SVN I guess
<adrien>
(or any non-distributed VCS)
emmanuelux has joined #ocaml
jamii has joined #ocaml
Tobu has quit [Remote host closed the connection]
Tobu has joined #ocaml
jamii has quit [Ping timeout: 252 seconds]
<adrien>
(it has downloaded 130 commits out of 5450 in that SVN repo since I mentionned it; that's 260 per hour, it'll take 20 hours to complete)
fschwidom has joined #ocaml
<mfp>
hmm no subtyping for fst class modules? module type S = sig val f : int end module type T = sig include S val g : int end .... Error: Type (module T) is not a subtype of (module S)
<mfp>
of course there's a pb once you have mutable fields or functions operating on abstract types (normal values would be covariant, funcs contravariant in their args, mutable values invariant)
<mfp>
the roundabout way w/ structural polymorphism is OK though
Xizor has joined #ocaml
jamii has joined #ocaml
avsm has joined #ocaml
Tobu has quit [Quit: No Ping reply in 180 seconds.]
Tobu has joined #ocaml
jamii has quit [Ping timeout: 246 seconds]
Kakadu has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
Cyanure has quit [Ping timeout: 245 seconds]
Tobu has joined #ocaml
fantasticsid has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
avsm has quit [Quit: Leaving.]
milosn has quit [Ping timeout: 245 seconds]
err404 has joined #ocaml
avsm has joined #ocaml
Zedrikov has quit [Ping timeout: 264 seconds]
skchrko has joined #ocaml
Cyanure has joined #ocaml
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
<Lor>
Gah. Why does the range of ints have to be architecture-dependent?
<Lor>
I can't see it buying anything, and it's a huge mess for portability.
<adrien>
use Int64, Int32
<Lor>
They are heap-allocated.
<adrien>
as for C ints, if only it were only architecture dependent
<Lor>
No, I mean ocaml ints.
<adrien>
ocaml ints are not even 32 or 64 bits which are commonly-needed sizes
<adrien>
if you want some size, use int64 and in32
<Lor>
No, it's less essential what the range is. But for a given language, it should be constant.
<Lor>
Because now few programs that uses ints behave truly deterministically (i.e. produce the same output for the same input everywhere).
<Lor>
And it doesn't buy anything.
<Lor>
If you want your program to be portable across architectures, you cannot allow your ints to go over the 31-bit range anyway.
<Lor>
And if you know you are going to be running mostly on 64 bit platforms and need the extra range, what's the harm in having then a dedicated 63-bit int type?
<adrien>
it's faster
<adrien>
ocaml absolutely never does anything "automatically"
<adrien>
well, it has a GC but what it does is give you all the tools
<adrien>
and you do what you want with them
<Lor>
No, this wouldn't affect performance at all.
<adrien>
63bit ints on 32bit? it would
<adrien>
have to go now
<Lor>
Whoah?
<Lor>
Int64 is _already_ slower on 32-bit platforms.
<adrien>
int64 is doubly slower on 32bit machines because it requires an extra allocation
<adrien>
too
<adrien>
(bbl)
Tobu has joined #ocaml
fschwidom has quit [Remote host closed the connection]
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
skchrko has quit [Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120314111819]]
avsm has quit [Quit: Leaving.]
iago has joined #ocaml
cdidd has joined #ocaml
asdfhjkl has joined #ocaml
ASau has joined #ocaml
Zedrikov has joined #ocaml
Tobu has joined #ocaml
datkin has joined #ocaml
avsm has joined #ocaml
milosn has joined #ocaml
robin_ has joined #ocaml
<robin_>
hello i have a problem for use ocamlsdl (Error: Unbound module Sdlevent) ??
skchrko has joined #ocaml
lorilan has joined #ocaml
datkin has quit [Remote host closed the connection]
datkin has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
Kakadu has quit [Read error: Connection reset by peer]
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
Sedrikov has quit [Quit: Bye all, see you next time!]
robin_ has quit [Quit: Lost terminal]
<Juzor>
mrvn: here ?
Juzor is now known as JuzorBNC
Tobu has joined #ocaml
tamouse__ has joined #ocaml
<tamouse__>
hi
<tamouse__>
what kinds of things is ocaml suited for? i just found out about it, and while it looks interesting, i'm wondering how i would apply it
yroeht has quit [Ping timeout: 252 seconds]
yroeht has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
<adrien>
particularly suited: compilers, parsing, and actually everything; it definitely doesn't eat memory, is pretty fast, and safe and stable
<mrvn>
fast prototyping
<mrvn>
(and then you notice the prototype is good enough)
Tobu has joined #ocaml
<tamouse__>
nodnod
<tamouse__>
good stuff
<mrvn>
Tons of floating point operations are bad for ocaml and multi core algorithms are tricky too
<mrvn>
But ocaml is really good for fun.
<tamouse__>
:)
<tamouse__>
i like that!
<mrvn>
tamouse__: I have a filesystem written in ocaml, a raid implementation, network block device server, working on a distributed raid.
<mrvn>
One thing that I also think is realy great is that you can't have acidental buffer overflows or segfaults in ocaml (though you can have them in C code you link in).
<mrvn>
security wise a great bonus
<tamouse__>
nod
<mrvn>
One thing that can be taken both good and bad is that with ocaml you get what you write. The compiler doesn't magically optimize stuff away. Good think is that it doesn't break stuff by optimizing and keeps the compiler simpler and error free. Bad is that bad code runs slow.
andreypo_ has quit [Quit: Quit]
JuzorBNC is now known as Juzor
<tamouse__>
ok
<tamouse__>
given that i have quite a bit of experience in languages like perl, php, ruby, c and so forth, where would be a good place to start learning ocaml and it's idioms?
<mrvn>
at the start. :)
<thelema_>
tamouse__: same as any - try using it for something.