gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
oriba has quit [Quit: oriba]
ulfdoz_ has joined #ocaml
ulfdoz has quit [Ping timeout: 246 seconds]
ulfdoz_ is now known as ulfdoz
<cyphase> for anyone who doesn't know, GCJ 2012: http://code.google.com/codejam/
Tobu has quit [Ping timeout: 260 seconds]
Submarine has quit [Ping timeout: 265 seconds]
brendan has joined #ocaml
tomprince has joined #ocaml
mob` has joined #ocaml
Tobu has joined #ocaml
mob` has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
iago has quit [Quit: Leaving]
Zedrikov has quit [Quit: Bye all, see you next time!]
larhat has quit [Quit: Leaving.]
silver_ has quit [Remote host closed the connection]
emmanuelux has quit [Remote host closed the connection]
smerz_ has joined #ocaml
mal`` has quit [Ping timeout: 260 seconds]
mal`` has joined #ocaml
r126f_ has joined #ocaml
r126f has quit [Ping timeout: 265 seconds]
emias has quit [Ping timeout: 265 seconds]
Obfuscate has quit [Ping timeout: 265 seconds]
noj has quit [Ping timeout: 265 seconds]
comak has quit [Ping timeout: 265 seconds]
emias has joined #ocaml
noj has joined #ocaml
strlen has quit [Ping timeout: 265 seconds]
strlen has joined #ocaml
Obfuscate has joined #ocaml
comak has joined #ocaml
bzzbzz_ has quit [Quit: leaving]
smerz has quit [Remote host closed the connection]
smerz_ has quit [Remote host closed the connection]
Tobu has quit [Ping timeout: 260 seconds]
Tobu has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
cdidd has joined #ocaml
Tobu has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
larhat has joined #ocaml
fantasticsid has joined #ocaml
Submarine has joined #ocaml
andreypopp has joined #ocaml
Tobu has joined #ocaml
rby_ has joined #ocaml
rby has quit [Ping timeout: 248 seconds]
Tobu has quit [Ping timeout: 260 seconds]
Tobu has joined #ocaml
fantasticsid has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
avsm has quit [Quit: Leaving.]
ggherdov has joined #ocaml
Zedrikov has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
<adrien> morning
Anarchos has joined #ocaml
bobry has joined #ocaml
xlq has joined #ocaml
Tobu has joined #ocaml
Zedrikov is now known as NamelessOne
Derander has quit [Ping timeout: 260 seconds]
ggherdov has quit [Remote host closed the connection]
ggherdov has joined #ocaml
Derander has joined #ocaml
Anarchos has quit [Quit: must investigate this X server]
ggherdov has quit [Remote host closed the connection]
ggherdov has joined #ocaml
ftrvxmtrx has quit [Ping timeout: 260 seconds]
larhat has quit [Quit: Leaving.]
ftrvxmtrx has joined #ocaml
pango is now known as pangoafk
Tobu has quit [Ping timeout: 272 seconds]
ggherdov has quit [Remote host closed the connection]
ggherdov has joined #ocaml
pheredhel has quit [Ping timeout: 276 seconds]
russel-athletic has joined #ocaml
<russel-athletic> hiho
<russel-athletic> does anybody know how fast ocamlgraph is in comparison to pythons networkx?
pheredhel has joined #ocaml
eikke has joined #ocaml
emmanuelux has joined #ocaml
Anarchos has joined #ocaml
<mrvn> pippijn: type t = { private mutable x : int; } then to make it clear it is mutable but deny others to mutate it.
<pippijn> mrvn: yes, that's nice
<xlq> Who gets to mutate it?
<xlq> Just the module it was defined in?
<pippijn> yes
<mrvn> Or type t1 = { x : int; } type t2 = { mutable x : int; } let (conv : t1 -> t2) = function x -> Obj.less_magic x where less_magic only allows conversion of types with the same memory representation.
<xlq> Not nice.
<mrvn> would be better than Obj.magic
<mrvn> unfortunately one can't give a type for such a Obj.less_magic.
<pippijn> so less_magic needs more compiler magic
<mrvn> or some camlp4 and GADT magic.
<flux> mrvn, but then values of t1 would could vary seemingly in magical fashion..
<mrvn> flux: that would be the "magic" part of the function name.
<xlq> Perhaps it should be more_magic then.
<mrvn> There are use cases where a function builds a value internally and is much simpler/faster with mutables but then wants to return the value as immutable.
<mrvn> xlq: No, it would be less magic than Obj.magic since it only allows types with the same memory structure.
Tobu has joined #ocaml
<xlq> mrvn: But it'd be more magic because the type of the function would be much more complicated :)
russel-athletic has quit [Quit: Konversation terminated!]
ViciousPlant has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
Anarchos has quit [Remote host closed the connection]
ggherdov has quit [Remote host closed the connection]
ggherdov has joined #ocaml
larhat has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
pangoafk is now known as pango
Tobu has joined #ocaml
Modius_ has quit [Quit: Leaving]
iZsh has quit [Ping timeout: 245 seconds]
ulfdoz has joined #ocaml
larhat has quit [Quit: Leaving.]
ftrvxmtrx_ has joined #ocaml
ftrvxmtrx has quit [Read error: Operation timed out]
Submarine has quit [Ping timeout: 240 seconds]
eni_ has joined #ocaml
eni_ is now known as eni
hefner has quit [Quit: Leaving]
ftrvxmtrx__ has joined #ocaml
Cyanure has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
Submarine has joined #ocaml
ftrvxmtrx_ has quit [Ping timeout: 252 seconds]
<adrien> hmm, no bindings to a library to handle EXIF data (from pictures)?
Tobu has joined #ocaml
rwmjones has quit [Quit: Terminated with extreme prejudice - dircproxy 1.2.0]
rwmjones has joined #ocaml
eni has quit [Ping timeout: 248 seconds]
smerz has joined #ocaml
iago has joined #ocaml
ikaros has joined #ocaml
agarwal1975 has joined #ocaml
agarwal1975 has quit [Client Quit]
eni has joined #ocaml
dark has quit [Ping timeout: 246 seconds]
<thelema> adrien: I imagine that'd be pretty easy to write using bitstring, read only a good start?
<pippijn> if you want to reimplement something that is robustly implemented in libexif :)
andreypopp has quit [Quit: Computer has gone to sleep.]
<thelema> native ocaml has value
<thelema> although bitstring has c support... :(
Cyanure has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
<Ptival_> thelema: what did you say?
<thelema> Ptival_: bitstring uses c code for some of its low-level operations
<Ptival_> yes
Ptival_ is now known as Ptival
<Ptival> "native ocaml has value"?
lorill has joined #ocaml
<thelema> oh yes, there's some value to a program being written entirely in ocaml, as opposed to using external libraries
<Ptival> oh @__@
<thelema> first is in just dealing with the interface; this leaves opportunities for bugs
<Ptival> I misunderstood the sense of "value" :D
<thelema> second is that the progrm should work cross platform
<thelema> ah, yes.
<mrvn> C is pretty portable
<thelema> yes, but is often platform specific
<mrvn> hardly
<thelema> ??
<Ptival> also, ocaml code wouldn't segfault on you as much :d
<mrvn> Ptival: Pure ocaml code without Obj.* or marshaling can't segfault
<thelema> mrvn: well written C code is portable, but it's pretty common to use compiler extensions and/or platform specific libraries
<hcarty> mrvn: Yes it can
<thelema> mrvn: Unsafe_
<Ptival> mrvn: yes, while I had some segfaults using bitstring because of missing bound checks
<pippijn> mrvn: with -unsafe
<hcarty> Even without unsafe
<pippijn> unsafe array and string indices
<mrvn> pippijn: that then is your own fault
<thelema> hcarty: stack
<pippijn> yes
<hcarty> thelema: Yes
<mrvn> thelema: all the unsafe functions are C code
<hcarty> mrvn: A stack overflow can cause a segfault without any C calls outside of the core language
<mrvn> hcarty: ok, althout it depends on your arch what error you get on stack overflow.
<hcarty> mrvn: Agreed
<rwmjones> they're in C for absolute speed, rather than because they need to sidestep the language
<rwmjones> it's quite possible to write all those functions in OCaml
<mrvn> just not practical
<rwmjones> next step would be to write them in asm ..
<thelema> actually, string_unsafe_get is an ocaml builtin
<thelema> same with array.
<mrvn> thelema: C code
<mrvn> or MM or what that's called
<rwmjones> (bitstring ... not builtins)
<thelema> meaning that they're not c code, but are assembly inserted by the compiler
<thelema> rwmjones: oh, of course.
<mrvn> thelema: bigarray has builtins too
larhat has quit [Ping timeout: 265 seconds]
<thelema> mrvn: yes, I know.
<adrien> thelema: true, exif with bitstring might be very easy
<adrien> I need to check some things because currently I think that shell script + exiv2 might be enough
<mrvn> Does bitstring have functions to work on bigarrays?
<thelema> mrvn: no
<mrvn> bugger. strings suck as they need an extra memcpy() for io.
Tobu has quit [Ping timeout: 272 seconds]
<hcarty> thelema: For odb, I'd like to change the GODI_LOCALBASE detection to something more generic. The current GODI support should work well for ocamlbrew + odb installing to the default site-lib.
<hcarty> thelema: As opposed to the current default which tells odb to install to a separate location
Tobu has joined #ocaml
<hcarty> thelema: This would hopefully make ocamlbrew + odb a bit more seamless
<hcarty> Without this change, ocamlfind needs to have -destdir provided in order to remove an odb-installed library.
larhat has joined #ocaml
<thelema> hcarty: I'm up for making odb work better with ocamlbrew - do you want me to detect one of the ocamlbrew environment variables?
<thelema> wait, you're not setting the ocamldestdir to your ocamlbrew ocamlfind directory?
larhat has quit [Ping timeout: 244 seconds]
<hcarty> thelema: The current default ocamlbrew configuration has odb install everything to $HOME/ocamlbrew/ocaml-3.12.1/odb/(bin|lib|...)
<hcarty> I want to change that to the more 'normal' $HOME/ocamlbrew/ocaml-3.12.1/lib/ocaml/site-lib/
<hcarty> and use the same bin/ dir as ocaml(c|opt|...)
<hcarty> thelema: Which, IIRC, was something you suggested a long time ago :-)
<thelema> :)
<hcarty> Setting GODI_LOCALBASE to point to the root of the ocamlbrew'd OCaml install does the right thing
<hcarty> So the simplest thing to do may be for me to add something like an OCAMLBREW_LOCALBASE definition in ocamlbrew. Then odb could detect that and do the exact same thing it's doing with GODI_LOCALBASE.
<thelema> ok, do you want a BREW_LOCALBASE?
<hcarty> thelema: I think so. Let me do a few tests here then confirm one way or the other.
<thelema> no problem
xlq has left #ocaml []
<hcarty> thelema: Ok, a few tests later - how does OCAML_BASE sound (or OCAMLBASE)? Something relatively generic that would work for GODI, ocamlbrew, and hand-built OCaml installations.
<thelema> sounds good to me.
<hcarty> thelema: Do you have time to make the change? If not I can make it later and submit a pull request.
<hcarty> thelema: Once odb is updated I'll push an update to ocamlbrew
<hcarty> s/Once/After/
<thelema> I can change this now, one sec
mfp_ is now known as mfp
<thelema> hcarty: pushed, please test
<hcarty> thelema: Looks good!
<hcarty> Thanks
<hcarty> thelema: ocamlbrew update pushed as well
larhat has joined #ocaml
Xizor has joined #ocaml
<Ptival> typerex is being bitchy about two embedded for loops
<pippijn> embedded?
<pippijn> is that another word for nested?
<Ptival> oh my bad
<Ptival> pippijn: yes that's what I meant
<Ptival> I had messed up one keyword
avsm has joined #ocaml
Drakken has joined #ocaml
avsm has quit [Quit: Leaving.]
lorill has quit [Quit: Ex-Chat]
ikaros has quit [Quit: Ex-Chat]
larhat has quit [Ping timeout: 252 seconds]
eni has quit [Ping timeout: 260 seconds]
ftrvxmtrx_ has joined #ocaml
ftrvxmtrx__ has quit [Ping timeout: 245 seconds]
Tianon has quit [Ping timeout: 272 seconds]
Tianon has joined #ocaml
Tianon has quit [Changing host]
Tianon has joined #ocaml
iago has quit [Ping timeout: 246 seconds]
cdidd has quit [Remote host closed the connection]
Tobu has quit [Ping timeout: 272 seconds]
Tobu has joined #ocaml
Submarine has quit [Quit: Leaving]
avsm has joined #ocaml
Xizor has quit []
BiDOrD has quit [Ping timeout: 276 seconds]
iratsu has quit [Read error: Connection reset by peer]
andreypopp has joined #ocaml
eikke has quit [Ping timeout: 265 seconds]
eikke has joined #ocaml
iago has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
fraggle_ has quit [Read error: Connection reset by peer]
fraggle_ has joined #ocaml
NamelessOne has quit [Remote host closed the connection]
Tobu has joined #ocaml
iago has quit [Ping timeout: 240 seconds]
larhat has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
Zedrikov has joined #ocaml
Zedrikov has quit [Client Quit]
Zedrikov has joined #ocaml
eikke has quit [Remote host closed the connection]
larhat has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
larhat has quit [Client Quit]
andreypopp has quit [Quit: Computer has gone to sleep.]
ggherdov has quit [Remote host closed the connection]
Tobu has quit [Ping timeout: 260 seconds]
Zedrikov has quit [Remote host closed the connection]
Tobu has joined #ocaml
smerz has quit [Remote host closed the connection]
oriba has joined #ocaml