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]