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
arubin has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
arubin has quit [Read error: Connection reset by peer]
sebz has joined #ocaml
dcolish has quit [Quit: Coyote finally caught me]
gnuvince has joined #ocaml
EmmanuelOga has joined #ocaml
EmmanuelOga has quit [Ping timeout: 240 seconds]
zzz_ has quit [Remote host closed the connection]
zzz_ has joined #ocaml
dcolish has joined #ocaml
sepp2k has quit [Remote host closed the connection]
pilki has quit [Quit: This computer has gone to sleep]
dnolen has joined #ocaml
metasyntax|work has quit [Read error: Operation timed out]
metasyntax|work has joined #ocaml
ulfdoz has quit [Quit: deprecated]
vivanov has joined #ocaml
<vivanov> im looking to improve performance of my program -- what tools to use? ocamlviz?
dnolen has quit [Quit: dnolen]
ftrvxmtrx has joined #ocaml
edwin has joined #ocaml
raichoo has joined #ocaml
<Drakken> vivanov do you know about ocamlprof?
thomasga has joined #ocaml
Pepe_ has quit [Remote host closed the connection]
<adrien> vivanov: native code?
<adrien> and as Drakken said: ocamlprof (for bytecode), and ocamlopt -p + gprof for native code
<_habnabit> gprof? heh
<_habnabit> much better is valgrind + kcachegrind
<adrien> valgrind is _much_ slower
cago has joined #ocaml
Cyanure has joined #ocaml
larhat has joined #ocaml
raichoo has quit [Read error: Operation timed out]
raichoo has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
<vivanov> Drakken: no i dont ill have a look
<vivanov> adrien, _habnabit : i need to optimize code -- thx for you advice -- ill have a look
<vivanov> i use oasis to make executables, it creates foo.byte and foo. is 'foo' a native-code executable
<vivanov> ?
<adrien> it creates "foo"? no extension?
<vivanov> exactly
ikaros has joined #ocaml
<vivanov> the directory contains foo.cmi, foo.cmo, ... , foo.byte, foo
<vivanov> foo, foo.byte are executables so i guess foo i native code
<vivanov> ?
<adrien> well, for me it creates a .native file
<adrien> but you can run "file foo" and see what it says
<f[x]> it is bytecode
<adrien> also, if it runs correctly...
<f[x]> check the size
<f[x]> also see what oasis outputs when building, about copying
<vivanov> size same as byte
<vivanov> so it is bytecode
<adrien> could it be a symlink?
<vivanov> how to create native with oasis then?
<vivanov> foo: a /usr/bin/ocamlrun script text executable
<vivanov> ^ file foo
<adrien> ok
<vivanov> so how to create nativecode using oasis ?
<adrien> CompiledObject: native
<vivanov> thx -- ill check it now
eikke has joined #ocaml
destrius has joined #ocaml
<Drakken> Why does Unix.time return a float?
ikaros has quit [Quit: Ex-Chat]
<bnwr> Drakken: according to `man 2 time`, the time system call returns the number of second since epoch
<bnwr> it returns a float, probably to allow more-than-second precision
<Drakken> the fractional part is always zero
<bnwr> might depend on your hardware
<Drakken> maybe so
<bnwr> also, it might use float because max_float might be greater than max_int on 32 bit platforms
<Drakken> that would still be a hack. Int64 would make more sense.
<bnwr> it just returns what the system call returns
<bnwr> precision is probably platform dependent
h0x00 has joined #ocaml
<flux> I guess it's because int64's are more trouble to deal with than floats :/
<flux> but I don't mind, time measurement is imprecise to begin with
<Drakken> Javascript's date.getTime returns milliseconds, and they're not multiples of 1000 on my machine.
<flux> drakken, maybe you want to use Unix.gettimeofday ()?
<flux> in that the float makes perfect sense
<flux> not sure why Unix.time even exists. I guess for historical reasons.
<Drakken> OCaml.Unix.time () is basically JavaScript.date.getTime () / 1000
<Drakken> It seems to be used for timestamps.
<adrien> not really, see 'man 7 time' and friends
<flux> adrien, Sys.time is different from Unix.time
<adrien> Drakken: and 'man ctime'
<flux> drakken, well, yes. and Unix.gettimeofday () is the same as JavaScript.date.getTime() / 1000.0
<vivanov> adrien: thx again i now have native "ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically l ..."
<adrien> :-)
<vivanov> :) interesting size of natives smaller than bytecodes
<Drakken> ?? Why does the name of a function that returns an interval since the Epoch end in "timeofday"?
destrius has quit [Quit: Leaving.]
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
<Drakken> Does anybody know how long it takes to get onto the GODI mailing list? I registered several hours ago and I still haven't received a confirmation email.
<adrien> spam folder?
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
h0x00 has quit [Client Quit]
avsm has joined #ocaml
sebz has joined #ocaml
<Drakken> adrien nope. good idea though
mfp has quit [Ping timeout: 240 seconds]
musically_ut has quit [Read error: Connection reset by peer]
<flux> drakken, because of time(3) and gettimeofday(3), which are both functions in unix implementations
<flux> oops, time(2) actually
<flux> and gettimeofday(2) :)
<Drakken> flux that explains the OCaml names, but I'm still shocked that some Unix devs thought that name was okay.
<flux> drakken, well, I guess they originally only had 'time' and then someone figured they needed more precision..
mfp has joined #ocaml
<Drakken> and more confusion..
<flux> in any case, they are just names. and gettimeofday isn't that bad, as far as names go.
<Drakken> names are documentation.
<Drakken> and *timeofday is an awful name for the time since 1970.
<vivanov> will Printexc.print_backtrace work in code compiled to nativecode?
<flux> vivanov, yes
<vivanov> flux, thx
<flux> vivanov, it maybe requires debug symbols, though (-g)
<vivanov> i guess oasis adds -g by default
<flux> drakken, I wouldn't be awfully surprised that a code doing 'gettimeofday' might get some computer representation of current time.
<vivanov> so i hope i have it :)
<Drakken> flux I would. It should return something like seconds since midnight in the local time zone or a structured tod record.
<Drakken> The name is absurd. I didn't even bother to read its definition because I wasn't looking for the time of day.
<flux> drakken, I think 'time of day' is just an expression for 'now'
<flux> but, maybe I'm wrong, I'm not a native brit/american
<flux> I guess the function is badly typed as well. there should be type epoch = float and then val gettimeofday : unit -> epoch, so its meaning would be quite clear from the type :)
<Drakken> flux whatever. It's not going to change. To me, the meaning of "of day" is obviously about the numbers on my clock and not absolute time.
<Drakken> likewise for the type. I don't mind the type being a number as long as the name of the function tells me what it represents.
vivanov has quit [Ping timeout: 240 seconds]
vivanov has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
KDr2 has joined #ocaml
KDr2 has left #ocaml []
hcarty has quit [Ping timeout: 240 seconds]
<adrien> thelema: I was a bit tired and probably got something wrong about odb+yypkg: would that make it a kind of gentoo? i.e. compile before install?
<flux> CPAN also compiles before install
<flux> (what's yypkg?)
<flux> in any case, I would say it's impossible to build a packaging system for ocaml that isn't based on compiling sources
<adrien> flux: yypkg! ='(
<adrien> (webpage stolen from batteries)
<flux> so yypkg is a source or binary packaging/distribution system or both?
<adrien> binary package manager
<adrien> but it could probably work with source packages
<adrien> and the distribution aspect should be handled too
avsm has quit [Quit: Leaving.]
<adrien> installing a windows virtual machine, I've stopped counting how many time it reboots
fraggle_ has quit [Read error: Connection reset by peer]
hyperboreean has joined #ocaml
thomasga has quit [Quit: Leaving.]
pilki has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
fraggle_ has joined #ocaml
ftrvxmtrx has joined #ocaml
sepp2k has joined #ocaml
edwin1 has joined #ocaml
edwin has quit [Disconnected by services]
edwin1 is now known as edwin
EmmanuelOga has joined #ocaml
eikke has quit [Ping timeout: 268 seconds]
eikke has joined #ocaml
alpounet has quit [Ping timeout: 240 seconds]
ftrvxmtrx has quit [Quit: Leaving]
cago has quit [Quit: Leaving]
avsm has joined #ocaml
raichoo has quit [Quit: leaving]
ulfdoz has joined #ocaml
iago has joined #ocaml
fraggle_laptop has joined #ocaml
h0x00 has joined #ocaml
jonludlam_home is now known as jonludlam_afk
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
h0x00 has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
ikaros has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
eikke has quit [Ping timeout: 248 seconds]
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
hcarty has joined #ocaml
<hcarty> thelema++ for the mailing list post on easing dependency management and related actual efforts toward that goal...
<thelema> :) thanks
<adrien> and I definitely agree
<adrien> <3
h0x00 has quit [Read error: Connection reset by peer]
<hcarty> gildor++ too, for that matter. oasis-db and odb are rather critical tools as I see it.
<thelema> I'm trying to figure out how we can help gildor - oasis has been his one-man show so far, no?
<thelema> And it is a *ton* of code, not so easy to get into from what I can tell.
h0x00 has joined #ocaml
<hcarty> thelema: If there is developer-level documentation, as opposed to end-user documentation, that may help.
<hcarty> I don't know if such a thing exists for oasis or oasis-db
<thelema> maybe the real problem is the roadmap - where is it going? There's a ton of todo items, but I can't say I have any idea what direction the development is taking...
<thelema> s/todo items/issues in bugtracker/
fraggle_laptop has quit [Remote host closed the connection]
<adrien> Libre Office has made different sets of "how-to/what to contribute" with itemms of varying difficulty
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
<adrien> thelema: I have to say that your mail made me much calmer because I believe Alain's proposal is unmaintainable
<adrien> anyway, food, some code, and I guess I'll spend time on yypkg earlier than I though
larhat has quit [Quit: Leaving.]
eikke has joined #ocaml
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
sepp2k has quit [Ping timeout: 240 seconds]
sebz has quit [Quit: Computer has gone to sleep.]
h0x00 has quit [Read error: Connection reset by peer]
h0x00 has joined #ocaml
sepp2k has joined #ocaml
eikke has quit [Ping timeout: 240 seconds]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
ftrvxmtrx has quit [Quit: Leaving]
pilki has quit [Quit: This computer has gone to sleep]
The_third_bug has joined #ocaml
The_third_man has quit [Disconnected by services]
The_third_man has joined #ocaml
eikke has joined #ocaml
Anarchos has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
rixed has quit [Ping timeout: 240 seconds]
oriba has joined #ocaml
The_third_bug has quit []
h0x00 has quit [Quit: Leaving.]
metasyntax|work has quit [Quit: WeeChat [quit]]
rixed has joined #ocaml
ikaros has joined #ocaml
struktured has quit [Ping timeout: 268 seconds]
struktured has joined #ocaml
<Anarchos> Is there a java compiler done in ocaml ?
<adrien> to compile java or to compile _to_ java bytecode?
<thelema> Anarchos: you mean a program written in ocaml to compile java? I'm pretty sure no.
<Anarchos> thelema yes
<Anarchos> adrien to compile java
<thelema> to compile java to java?
<thelema> java to java bytecode
<Anarchos> thelema java to executables :)
<thelema> java to native code? even more no.
<Anarchos> it is to bootstrap a port of java ...
<thelema> good luck.
<adrien> there is a checker of java bytecode, tools for integration of java and ocaml but that, dunno
<adrien> Anarchos: there is gcj from gcc; not ocaml but creates native executables iirc
<Anarchos> adrien i can try to use that , thanks
milosn has quit [Read error: Connection reset by peer]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
Cyanure has quit [Remote host closed the connection]
ulfdoz has quit [Quit: brb]
ulfdoz has joined #ocaml
lamawithonel has joined #ocaml
edwin has quit [Remote host closed the connection]
ftrvxmtrx_ has quit [Quit: Leaving]
bwright has quit [Quit: Lost terminal]
ikaros has quit [Quit: Ex-Chat]
ikaros has joined #ocaml
Morphous has quit [Ping timeout: 252 seconds]
Morphous has joined #ocaml
pilki has joined #ocaml
<adrien> I think I somehow managed to create an infinite recursion in gtk with "regular" ocaml code and triggered a stack overflow/segfault; I'm proud of myself :-)
<_habnabit> is there a way to extend an object, like with the {x with ...} syntax? tried `object x with ... end` and got nothin'.
<_habnabit> specifically I'm trying to replace a method
<adrien> inheriting it?
<_habnabit> yeah, I tried that, but I got told you can only inherit from classes
<adrien> also, the with syntax for records doesn't extend records, it simply makes a copy of the record with one or several fields set to a different value
<_habnabit> well yeah I know
<adrien> _habnabit: hmmm, you're using immediate objects?
<_habnabit> yes.
<adrien> you can't stop using them?
<_habnabit> well, okay, here's my exact use case: I'm trying to make the BatIO.in_channel class compatible with Csv.in_obj_channel
<_habnabit> and so I'm just trying to replace one method
<adrien> they don't define classes?
<_habnabit> which they? BatIO?
<adrien> I would have thought both did
<_habnabit> Csv just defines a class type
<_habnabit> and I think that BatIO just defines a class type too
<adrien> I'm surprised that's not enough but I might be wrong (and I need sleep)
<_habnabit> you mean to inherit from?
<adrien> yeah
lamawithonel has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
pango_ has quit [Ping timeout: 252 seconds]
pango_ has joined #ocaml
pilki has quit [Quit: This computer has gone to sleep]
eikke has quit [Ping timeout: 252 seconds]
ikaros has quit [Remote host closed the connection]