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_ is now known as arubin
<thelema> JdpB42: fwiw, I and many others use emacs + tuareg
<rgrinberg> how do you upgrade your version of ocaml in godi?
<thelema> rgrinberg: I've given up on godi, and just manage my path to choose between ocaml installs
<rgrinberg> thelema: how come you don't like godi?
<thelema> I tried bootstrapping ocaml under win32 and it failed in mysterious ways (plural)
<thelema> and long ago, I just used the distro-supplied ocaml, and when I wanted to upgrade, I just downloaded and compiled ocaml itself, which I've succeeded at many times
<thelema> as for libraries, I use odb, which gives me quick install of many libraries
<rgrinberg> interesting... never heard of odb. Will check it out.
<thelema> it's much newer and much simpler, at the cost of being less complete - it requires findlib and ocaml already installed
<rgrinberg> and it works ok on windows too right?
<thelema> I have reports of it working for people under windows, but haven't tested it myself. It has pretty unixy dependencies, but if you're using ocaml/windows, you probably have enough cygwin/mingw installed to support it.
<thelema> s/has pretty unixy dependencies/makes unixy assumptions/
<thelema> for example, it calls `tar -zxvf` to extract a tarball, and requires `curl` to download files
fantasticsid has joined #ocaml
arubin has quit [Quit: arubin]
<rgrinberg> ya commands like rm too
<rgrinberg> or maybe i
<rgrinberg> windows has rm, I'm not sure
dnolen has joined #ocaml
<thelema> cygwin has rm
fantasticsid has left #ocaml []
fantasticsid has joined #ocaml
<JdpB42> thelema: emacs is out of the question .....Lisp :(
<tomprince> vimscript is better than lisp ?
<JdpB42> both are crappy but i can avoid vimscript tomprince
<thelema> JdpB42: your choice, I guess.
<JdpB42> got ocaml syntax highlighting in textmate << ftw
<JdpB42> keep things simple and write code
<JdpB42> i spent years configuring vim and emacs
<JdpB42> its a world in itself
<thelema> I wrote an ocaml highlighter for libgtksourceview2
<thelema> so gedit can highlight
<JdpB42> back in the day syntax highlighting was not even *standard* .....heck if you got that your ahead of the game
<JdpB42> now people want everything
<rgrinberg> ocaml intellisense would be nice
<thelema> rgrinberg: there's some push from ocaml corporate partners to get more advanced .annot generation into trunk
<JdpB42> i know vim in and out ....but just not having the ability to do 200 things sometimes makes things faster
<tomprince> evil is very nice for people who like vim, but need some package available in emacs (proofgeneral, or org-mode for example)
<tomprince> One cool feature, is :s// displays changes as you type, which I now miss using vim :)
fantasticsid has quit [Quit: Leaving.]
dnolen has quit [Read error: Connection reset by peer]
dnolen has joined #ocaml
oriba has quit [Quit: oriba]
<JdpB42> tomprince: old school at all?
<tomprince> hmm .. ?
tcb has joined #ocaml
tcb has left #ocaml []
<JdpB42> tomprince: the vim/emacs jokes
nixfreak has quit [Ping timeout: 244 seconds]
<JdpB42> tomprince: do you ever use ocsigen?
<tomprince> No.
<tomprince> I just like to prothsetlyze about evil to vi/vim users forced to use emacs.
<JdpB42> E: Cannot find findlib package react
<JdpB42> E: Cannot find findlib package ssl
<JdpB42> what is the usual reason for this?
<thelema> JdpB42: you've not installed those findlib packages
<JdpB42> makes sense :P
<JdpB42> but why isn't it doing that?
<JdpB42> thats the point of this bundle install right?
<thelema> yes, the point of doing the bundle install is that godi should automatically install them for you. I've had my fair share of problems with godi and have given up on it.
<thelema> Many people have godi working fine for them, so it's probably not godi's fault
<thelema> at least not entirely godi's fault.
<JdpB42> nice missing meta file for ocamlfind when i try to install anything
<thelema> to ocamlfind install something, you have to specify the META file as well as all the other files to install
<JdpB42> oh blah
<thelema> I guess ocamlfind could find all the useful files in all subdirectories of the current directory and install them all.
<JdpB42> so i have to dl all the stuff and then ocamlfind install it?
<thelema> normally, it's just make, make install
<thelema> if the package supports ocamlfind
<thelema> some packages have install-findlib for ocamlfind installation
<JdpB42> nothing works .....
phoenixsun has joined #ocaml
<thelema> JdpB42: specifics?
<JdpB42> all the required packages are just not found
<thelema> so you're not trying to install react or ssl manually?
<JdpB42> no ....just downloaded and ran make ....and its doing that?
<JdpB42> i think i got it
<JdpB42> macports had most of the ocaml libraries i needed ....installing a few missing c libs ...i think i got it thelema
<JdpB42> yea building lwt now
<JdpB42> goodness ....all this crap it requires
<thelema> yup, dependencies are still a problem in the ocaml world.
<JdpB42> hopefully i dont hit anymore
<JdpB42> now this could be a game changer :P
<JdpB42> e lwt.react -package netstring -package tyxml.parser -c ocsigen_comet.ml
<JdpB42> File "ocsigen_comet.ml", line 377, characters 13-27:
<JdpB42> Error: Unbound value React.E.retain
<JdpB42> make[4]: *** [ocsigen_comet.cmo] Error 2
<JdpB42> make[3]: *** [all] Error 2
<thelema> hmmm... wrong version of react?
<JdpB42> 0.9.0
<thelema> 0.9.2 is available
<thelema> and provides React.E.retain
<JdpB42> no version before that had it?
<thelema> it was added in 0.9.1
<JdpB42> smart man
<thelema> :)
<JdpB42> how can i get my install dir? i have 2 ocamls installed here blah
<thelema> ocaml -where ?
<JdpB42> almost there ....building the server
<thelema> or ocamlfind printconf
<JdpB42> looks like it should be installed
<JdpB42> ./build install
<JdpB42> etc
<JdpB42> /opt/local/bin/ocamldep.opt -modules src/react.mli > src/react.mli.depends
phoenixsun has quit [Ping timeout: 244 seconds]
<JdpB42> i think i need to clear one of these ocamls off
<JdpB42> i got one i installed with macports and the other i think is from homebrew or something
<thelema> JdpB42: as long as only one is in your path, it shouldn't be a problem
<JdpB42> but if i install the ocaml libs through macports it works
<JdpB42> so i guess its installing them in the right location
<JdpB42> ./build install << is not putting it in the right location
<JdpB42> thelema: how can i see where a library is installed?
<JdpB42> i know these are stupid questions and i hate asking them
<thelema> where a library is currently installed?
<thelema> ocamlfind query <libraryname>
<thelema> JdpB42: It's hard for me to be a beginner too. Don't worry about it.
<JdpB42> man i hate it hehe
<Drakken> thelema did you see what I posted yesterday about cairo and the batbench plot?
<thelema> Drakken: I don't think so...
<Drakken> I filed a support request with the archmedes group, and in the meantime I'm trying to wade through the documentaion on interfacing with C.
<JdpB42> blah it doesn't even seem like the ./build isntall is working
<Drakken> It's a lot for me right now though. I don't really expect to figure it out.
<thelema> Drakken: it is useful to understand what's going on under the cover, but it's not that important for a long while.
<thelema> Drakken: and it helps to know what each bit does on top of the cover
<thelema> JdpB42: is `./build install` executing `ocamlfind install`?
<JdpB42> dont know ...it just returns me to the terminal
<thelema> JdpB42: oh... hmm
<Drakken> The error message was about not finding a C function, so that's what I'm focussing on.
<Drakken> I may not need to know all the details, but it's hard to know what I need to know...
<Drakken> What's a known unknown and what's an unknown unknown :)
<JdpB42> ok i read the shell script ....see how it works now
<JdpB42> its putting it in ocamlc -where / project name
<JdpB42> or *should* be doing that
<thelema> Drakken: ah, I fixed my problem building cairo by adding the right -cclib argument (not -ccopt)
<thelema> Drakken: maybe the same will help you.
<JdpB42> can i do an ocamlfind install on the META file i see thelema ?
<Drakken> whatev. I'm open to suggestions (i.e. clueless)
<thelema> JdpB42: yes, ocamlfind install <packagename> META <all files that get installed>
<thelema> Drakken: I wish I had time to help you - gotta finish something for tomorrow.
<JdpB42> ls
<JdpB42> METAreact.mlreact.mli
<JdpB42> MacBook:src as$ ocamlfind install META
<JdpB42> ocamlfind: The META file is missing
<Drakken> thelema take your time.
<Drakken> no hurry
<thelema> ocamlfind install react META <all the files that it installs>
<thelema> (you'll have to compile react before installing it)
<Drakken> thelema I mean for what I'm doing. You can hurry on your stuff if you need to.
<Drakken> :)
<JdpB42> ok i think it worked thelema
<JdpB42> same error even with the new version
<thelema> if you installed react.ml and react.mli, you haven't installed it properly
<thelema> you should install at least a .cmi, a .cmo, and a .cmx
<JdpB42> well
<JdpB42> ocamlfind query react
<thelema> JdpB42: ls `ocamlfind query react`
<JdpB42> when i isntalled it Installed /opt/local/lib/ocaml/site-lib/react/META
<JdpB42> i got that
<JdpB42> i got a bunch of files yea
<JdpB42> cmo cms cmi
<thelema> hmm, ok.
<thelema> add -verbose to the failing command to have it print the includes that ocamlfind is generating and make sure the react dir is in that
<JdpB42> lol
<JdpB42> ok i found the issue
<JdpB42> react as$ ls
<JdpB42> META
<JdpB42> only the meta file is in there
<thelema> JdpB42: yes, you have to install the compiled library files
<JdpB42> i see yea ...learning
<JdpB42> how do i compile the react.ml and mli files?
<JdpB42> i have them in the react directory now
<JdpB42> can i compile them in this dir?
<JdpB42> from inside of this dir that is
<thelema> ocamlc react.ml -c -o react.cmo
<JdpB42> dont i need more ?
<thelema> ocamlopt react.ml -c -o react.cmx
<JdpB42> i need cmi file first for that first thing to work
<thelema> if you have ocamlfind library deps, add "ocamlfind" to front and "-package <foo>" to the end
<thelema> ocamlc react.mli -c -o react.cmi
<JdpB42> ok that worked
<JdpB42> ok they are all there now thelema
<JdpB42> ok did all that ....and i'm still getting the sme error
<JdpB42> this is what it was running it looks
<JdpB42> ocamlfind ocamlc -I ../baselib -I ../http -I ../server -package lwt.unix -package lwt.react -package netstring -package tyxml.parser -c ocsigen_comet.ml
<JdpB42> ocamlfind: Package `lwt.unix' not found
<thelema> not the same error.
<JdpB42> same error
<JdpB42> that is just above it
<thelema> well, you'll have to install lwt as well
<JdpB42> err
<JdpB42> File "ocsigen_comet.ml", line 1, characters 0-1:
<JdpB42> Error: The files /opt/local/lib/ocaml/react/react.cmi
<JdpB42> and /Users/ja/ocsigen/lib/ocaml/lwt/lwt_event.cmi
<JdpB42> make inconsistent assumptions over interface React
<JdpB42> make[4]: *** [ocsigen_comet.cmo] Error 2
<thelema> ah, for that, just make clean and make from scratch
<JdpB42> ah
<thelema> ocaml is picky about dependencies being recompiled
<thelema> static typing and all
<JdpB42> boy ...i've been doing C for years and programming pascal etc ....this without you would have been impossible
<JdpB42> there seems to be alot of docs out there ...its just not friendly it seems
<JdpB42> no huge resource ....or maybe i just couldn't find it
<JdpB42> seems like its working now
<JdpB42> spoke to soon
<JdpB42> ## Command pipe
<JdpB42> install -m 755 -d /Users/ja/ocsigen/var/run/
<JdpB42> [ -p /Users/ja/ocsigen/var/run/ocsigenserver_command ] || \
<JdpB42> { mkfifo /Users/ja/ocsigen/var/run/ocsigenserver_command; \
<JdpB42> chmod 660 /Users/ja/ocsigen/var/run/ocsigenserver_command; \
<JdpB42> chown -R ja:ja /Users/ja/ocsigen/var/run/ocsigenserver_command; }
sebz_ has quit [Quit: Computer has gone to sleep.]
<JdpB42> chown: ja: Invalid argument
<JdpB42> it seems to have al compiled though
<thelema> yay
<thelema> dunno what's up with chown
<thelema> maybe a gnu-ism
<JdpB42> what should i do about this? it probably needs to install more
<JdpB42> chown -R ja:ja << thats probably the issue right there
<JdpB42> tons and tons of stuff was installed
<thelema> remove that line from makefile?
<adrien> chown [-fhv] [-R [-H | -L | -P]] owner[:group] file ...
<JdpB42> looking for the make file that has that
<adrien> an error could be if the "ja" user or group doesn't exist
<JdpB42> i feel like i've done to far now to give up :P
<JdpB42> all its doing is putting all the files into an ocsigen dir on my ~
<JdpB42> is that normal?
<thelema> maybe it's normal for ocsigen - I've not used it.
<JdpB42> i mean its just a chown ...i can always go back and change it later ...i just hope everything else is installled :P
<thelema> yes, try it out - hopefully it chowns last
<thelema> that's quite unusual for an ocaml package to do, from my experience
<JdpB42> what should i do with that dir? put it in that site-lib directory?
<thelema> no
<thelema> I'd guess it has executables that you would run
<adrien> does the user "ja" exist? does the group "ja" exist?
<JdpB42> yes and yes
<adrien> do you run the install as root?
<JdpB42> as in sudo make?
<JdpB42> no
<JdpB42> i just did make
<JdpB42> ah
<JdpB42> lets see how it works now
<JdpB42> i have respect for distro maintainers now
<thelema> :)
<JdpB42> cause programming bugs dont annoy me as much as this sort of stuff
emmanuelux has quit [Ping timeout: 244 seconds]
<JdpB42> install compiler/js_of_ocaml /Users/ja/ocsigen/bin
<JdpB42> ocamlfind: /Users/ja/ocsigen/lib/ocaml/ocsigenserver/extensions: Operation not permitted
<JdpB42> make[1]: *** [ocsigenserver-uninstall] Error 2
<JdpB42> i can't give give it more sudo than i already have
<JdpB42> and mac doesn't have su
<adrien> I'm doing a library: I made it package fine for godi, then I made it package fine for slackware (and others), but now it doesn't package fine for godi anymore; packaging is a lot of fun =)
<adrien> JdpB42: is it further in the install process or earlier?
<JdpB42> much futher
<JdpB42> seems like sudo make got past that one
<adrien> ah, it's "uninstall"?
<JdpB42> all of this to just *try* ocsigen :P
sebz_ has joined #ocaml
<JdpB42> not to say doing python and ruby doesn't have its share of issues ....but this is a bit more deeper
<JdpB42> its just the server part which is giving me issues really
<adrien> I've never seen an http server that wasn't a pita to install/configure
<JdpB42> blah
<JdpB42> so blah
EmmanuelOga has quit [Ping timeout: 244 seconds]
<adrien> so, did you try uninstalling ocsigen first or is it trying to do so on its own?
<JdpB42> maybe this is why i was using python thelema :P
<JdpB42> nope
<JdpB42> i just did a make clean and a make install and got that
<JdpB42> its probably becuase i'm on mac or something
<thelema> ocamlfind complains on reinstalls
<thelema> to remove an ocamlfind package, use `ocamlfind remove foo`
<thelema> and `ocamlfind list` to list all installed packages
<adrien> rm is also probably a valid way to remove the package if things don't work with "ocamlfind remove"
<JdpB42> i like the whole idea of of services
<JdpB42> with ocsigen
<JdpB42> rather than just a function to do some logic and render html ....the services appraoch seems like that + way more or the potential to do way more
<JdpB42> plus the speed of ocaml would work well for server load and latency of the web application here i believe
<JdpB42> then again i kinda feel like it may have been over engineered
joewilliams has joined #ocaml
musically_ut has quit [Read error: Connection reset by peer]
<adrien> it's not over-engineering u ntil the design gets into the way
<adrien> so if it doesn't...
<JdpB42> you guys ever try node.js?
hto has joined #ocaml
<adrien> I haven't; I'm not doing much web stuff
<JdpB42> adrien: its my full time job :( good or bad
everyonemines has joined #ocaml
<JdpB42> you know i wonder in the world if this stuff really matters
<adrien> been working with node.js?
<JdpB42> me doing ocaml sometimes is like doing a crossword ....
<JdpB42> adrien: my full time job is a Drupal PHP developer :)
<JdpB42> although many don't like PHP or Drupal for that matter ....it pays more than Java in my area and its a wonderful work environment
<JdpB42> 3 days telecommute
<JdpB42> really only have to go in when I want to now
<adrien> php has issues but if often gets the job don
<adrien> e
<JdpB42> adrien: do you ever do sql? or use orm's?
ulfdoz has joined #ocaml
<adrien> I've learnt sql but I very rarely use i
<adrien> woops, flash video (I removed flash from my computer); but I think I know which one it is and it's pretty good :-)
<adrien> mongodb, right?
<JdpB42> yea
<JdpB42> its a mongodb dude like arguing over relational db's
<JdpB42> sometimes i get made fun of for doing SQL in my applications ....but honestly 99 percent of the time I find it so simple and i get the exact query I need
<adrien> criticizing SQL is quite stupid: it's a language and even if it's a hint at the software behind, it doesn't define everything
sgnb has joined #ocaml
<adrien> I thin DB2 has algorithms to store GIS data efficiently (geographic stuff, which main characteristic is that it's in two dimensions and no only one); other stuff will probably have troubles beating it
<JdpB42> adrien: must understand fan boys hate sql :P
dnolen has quit [Quit: dnolen]
<JdpB42> oh well thanks for the help guys adrien and thelema heheh
sebz_ has quit [Quit: Computer has gone to sleep.]
mejalx has quit [Quit: ZNC - http://znc.sourceforge.net]
ulfdoz has quit [Ping timeout: 248 seconds]
mejalx has joined #ocaml
ftrvxmtrx has joined #ocaml
ankit9 has quit [Quit: Leaving]
everyonemines has left #ocaml []
everyonemines has joined #ocaml
everyonemines has left #ocaml []
everyonemines has joined #ocaml
edwin has joined #ocaml
thomasga has joined #ocaml
yezariaely has joined #ocaml
Cyanure has joined #ocaml
JdpB42 has left #ocaml []
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
<gildor> adrien: thx
<adrien> it's really close to the original, with only very minor changes to make it apply, it's against 0.2.1
raichoo has joined #ocaml
<Drakken> adrien didn't you do that yesterday?
<Drakken> (adding attachment)
<adrien> no, I didn't manage to :P
<adrien> I probably don't have it
avsm has joined #ocaml
<Drakken> If I specify archimedes in a -package option to [findlib camlc], and archimedes relies on a cairo dll, can/should I put the dll name before the -package argument to make sure ocamlc knows about the dll when it gets to linking archimedes?
fantasticsid has joined #ocaml
everyonemines has quit [Quit: Leaving.]
<f[x]> gildor, what about the patch that compiles all oasis targets in one ocamlbuild invocation? - I can't seem to find it? Will it go in next release?
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
avsm has quit [Client Quit]
avsm has joined #ocaml
fantasticsid has quit [Quit: Leaving.]
larhat has joined #ocaml
ikaros has joined #ocaml
<adrien> Drakken: no
<Drakken> dan[benchplot]$ benchplot.b
<Drakken> Fatal error: exception Backend.Error(_, "The backend "cairo" is not loadable because:
<Drakken> error while linking /home/dan/.odb/lib/archimedes/archimedes_cairo.cma.
<Drakken> Reference to undefined global `Cairo'")
<adrien> native code?
<Drakken> bytecode
<adrien> which explains the ".b" in the filename
<Drakken> give that man a cookie
<adrien> add -linkall to the compile options
<adrien> maybe specifying "cairo.cma" explicitely too
<Drakken> File "benchplot.ml", line 1, characters 0-1:
<Drakken> Error: Error while linking /home/dan/.odb/lib/archimedes/archimedes.cma(Archimedes_internals):
<Drakken> The external function `caml_hash_variant' is not available
<Drakken> ocamlc.opt returned with exit code 2
<Drakken> make: *** [all] Error 2
<adrien> add hashtbl.cma
<adrien> I'm not sure how you're doing things, I've only used native code with archimedes
<adrien> and never compiled by hand: did everything through findlib/ocamlfind (which definitely helps)
<Drakken> I'm using findlib:
<Drakken> ocamlfind ocamlc -o benchplot.b -package archimedes -linkpkg \
<Drakken> benchplot.ml $(STUBDIR)/dllcairo2.so
avsm has quit [Quit: Leaving.]
<adrien> no, don't put stubs there
<adrien> don't put the dllcair2.so
<adrien> o
sepp2k has joined #ocaml
ttamttam has joined #ocaml
ankit9 has joined #ocaml
probst has joined #ocaml
avsm has joined #ocaml
avsm1 has joined #ocaml
avsm has quit [Read error: Connection reset by peer]
avsm has joined #ocaml
avsm1 has quit [Read error: Connection reset by peer]
ftrvxmtrx has quit [Ping timeout: 245 seconds]
<Drakken> adrien thanks for trying
<Drakken> but this isn't productive. I'm not learning anything, and I'm sure someone else can fix the problem much faster.
larhat has quit [Read error: Connection reset by peer]
ikaros has quit [Quit: Ex-Chat]
_andre has joined #ocaml
larhat has joined #ocaml
ftrvxmtrx has joined #ocaml
<Drakken> (faster than I can)
<adrien> can you try compiling it as native code with only "ocamlfind ocamlopt -o benchplot.native -package archimedes,cairo2 -linkpkg benchplot.ml" ?
<Drakken> Fatal error: exception Backend.Error(_, "The backend "cairo" is not loadable because:
<Drakken> error loading shared library: /home/dan/.odb/lib/archimedes/archimedes_cairo.cmxs: undefined symbol: caml_cairo_set_line_cap")
<adrien> run: LD_PRELOAD=${STUBDIR}/dllcairo2.so ./benchplot.native
<adrien> (works only if there is no space in $STUBDIR)
jamii has joined #ocaml
<Drakken> Fatal error: exception Backend.Error(_, "The backend "cairo" is not loadable because:
<Drakken> error loading shared library: /home/dan/.odb/lib/archimedes/archimedes_cairo.cmxs: undefined symbol: camlCairo")
<adrien> can you compile with "ocamlfind ocamlopt -o benchplot.native -verbose -package archimedes,cairo2 -linkpkg benchplot.ml" (added -verbose) and pastebin the output?
destrius has quit [Quit: Leaving.]
<adrien> hmm, yes, of course, LD_PRELOAD happens too early so it can't work here
<adrien> can you pastebin your benchplot.ml? I'd like to try on my laptop
bwright has joined #ocaml
bwright has quit [Quit: leaving]
oriba has joined #ocaml
jonludlam_home has joined #ocaml
ftrvxmtrx has quit [Ping timeout: 258 seconds]
ftrvxmtrx has joined #ocaml
oriba has quit [Quit: oriba]
rby has quit [Quit: Lost terminal]
Kakadu has joined #ocaml
probst has quit [Quit: probst]
probst has joined #ocaml
<yezariaely> anyone has an implementation of mu-types including subtyping in ocaml?
<yezariaely> for use in a static analysis?
<yezariaely> on a lambda calculus based language?
ikaros has joined #ocaml
ikaros has quit [Read error: Connection reset by peer]
<NaCl> adrien: you've been busy, I see.
<adrien> NaCl: a bit :P
<NaCl> some pretty good ones are in there
<NaCl> did you have to patch the program much?
<adrien> I changed some code but I only changed the style of the code
<adrien> and instead of calling flam3-render, it calls a wrapper which sends jobs over rsync+ssh to a remote computer if REMOTE_FLAMER is defined (env var)
ikaros has joined #ocaml
<NaCl> ah, cool
<adrien> it occured to me that it was useless to do something more sophisticated
<adrien> I'd like to have something more advanced maybe with a client/server model and the ability to store a set of flames, and chose at which resolution the flames should be rendered (and load from disk and and and...) but it would have taken far too much time
<NaCl> yeah, for doing what it does, I think flamel is plenty sophisticated
<adrien> it could be improved and do more but doing so would probably require lots and lots of change
<NaCl> It took me long enough to get a visual progress indicator working. >_<
<adrien> heheheh :P
<adrien> it doesn't like lag a lot
nixfreak has joined #ocaml
emmanuelux has joined #ocaml
<NaCl> adrien: I mean, getting the process monitoring to work was not trivial.
<NaCl> something that was easier to figure out in C, weirdly enough
<adrien> yes, I guess so; it's pretty nice btw =)
<adrien> and reasonning with lwt at the same time ;-)
EmmanuelOga has joined #ocaml
<NaCl> I used lwt because of the process monitoring stuff it had. Figuring out how to redirect all of those pipes was messy.
<NaCl> And thanks. :)
avsm has quit [Quit: Leaving.]
ikaros has quit [Ping timeout: 252 seconds]
probst has quit [Quit: probst]
ikaros has joined #ocaml
<adrien> compilation of F# over mono is painfully slow
ankit9 has quit [Quit: Leaving]
<Kakadu> adrien: If fsc.exe doesn't crashe You are lucky!
<adrien> it's running fine for me
<adrien> mono 2.10.2 didn't work properly however: had to get 2.10.6
<Kakadu> adrien: maybe you will discover specific test
<adrien> I don't think it's acceptable that a .2 release doesn't compile properly
<adrien> NaCl: btw, when are you creating a project on the ocaml forge? =)
<adrien> (bbs)
yezariaely has quit [Quit: Leaving.]
<NaCl> adrien: when I feel like it, I guess. I haven't felt a need to do anything with it for a long while.
probst has joined #ocaml
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
zorun has quit [Read error: Connection reset by peer]
zorun has joined #ocaml
<adrien> NaCl: I've got patches to commit :P
raichoo has quit [Quit: leaving]
<NaCl> haha
<NaCl> Remind me this weekend
<adrien> =)
<adrien> I'll send you a bunch of dirty patches which don't work when used independently
<adrien> and without changelog or anything
Cyanure has quit [Read error: Connection reset by peer]
<adrien> I'm sure it'll motivate you
<NaCl> Deja Vu
mcclurmc has quit [Excess Flood]
<adrien> I haven't done that yet :P
mcclurmc has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
ankit9 has joined #ocaml
yezariaely has joined #ocaml
ousado has quit [Changing host]
ousado has joined #ocaml
sebz has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
ttamttam has quit [Remote host closed the connection]
gnuvince_ has joined #ocaml
ulfdoz has joined #ocaml
jamii has quit [Remote host closed the connection]
sebz has quit [Quit: Computer has gone to sleep.]
ski has quit [Ping timeout: 260 seconds]
ikaros has joined #ocaml
yezariaely has quit [Quit: Leaving.]
Snark has joined #ocaml
ski has joined #ocaml
sebz has joined #ocaml
spearalot has joined #ocaml
yezariaely has joined #ocaml
larhat has quit [Quit: Leaving.]
ski has quit [Ping timeout: 255 seconds]
ski has joined #ocaml
ski has quit [Ping timeout: 255 seconds]
ski has joined #ocaml
bacam_ has joined #ocaml
bacam_ has quit [Client Quit]
bacam_ has joined #ocaml
bacam has quit [Quit: Switching server]
ShinyDarkness has joined #ocaml
bacam_ is now known as bacam
bacam has quit [Quit: Changing server]
bacam has joined #ocaml
ShinyDarkness has left #ocaml []
sepp2k1 has joined #ocaml
nixfreak has quit [Ping timeout: 244 seconds]
sepp2k has quit [Ping timeout: 248 seconds]
raichoo has joined #ocaml
yezariaely has quit [Quit: Leaving.]
ski has quit [Ping timeout: 255 seconds]
probst has quit [Quit: probst]
ski has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
thomasga has quit [Quit: Leaving.]
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
thomasga has joined #ocaml
thomasga has quit [Client Quit]
Anarchos has joined #ocaml
wormphlegm has joined #ocaml
Snark has quit [Quit: Quitte]
oriba has joined #ocaml
<oriba> how can I extract cycles with ocamlgraph? I only found a function that give me a bool IF there is a / are some cycles, but how can I extract them?
Cyanure has joined #ocaml
wormphlegm has quit [Quit: wormphlegm]
art` is now known as foocraft
spearalot has quit [Quit: Computer has gone to sleep]
_andre has quit [Quit: leaving]
Kakadu has quit [Quit: Konversation terminated!]
ttamttam has joined #ocaml
ftrvxmtrx has joined #ocaml
ttamttam has quit [Remote host closed the connection]
sebz has joined #ocaml
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
ulfdoz has quit [Ping timeout: 244 seconds]
raichoo has quit [Quit: good night]
ftrvxmtrx_ has joined #ocaml
ftrvxmtrx has quit [Ping timeout: 244 seconds]
ftrvxmtrx_ has quit [Read error: Connection reset by peer]
hto has quit [Quit: Lost terminal]
edwin has quit [Remote host closed the connection]
waern has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
rwmjones has quit [Ping timeout: 240 seconds]
<oriba> is there an easy way to find out if the GC or memory need is causing low performance or if it is a bad algorithm?
<oriba> can I just ask the GC for information
<oriba> to find out if it maybe needs change of mem or so?
<oriba> something like rule of thumb?
<oriba> like "if foo-bar is > baz, then GC and mem is likely, otherwise use the profiler" ??
rwmjones has joined #ocaml
<oriba> how to ask OCaml for information that can give me a hint, if runtime parameter changes will enhance performance?
<oriba> or is it just trying out some parameters?
<oriba> rwmjones, isn't it one of your topics you have ideas on?
Cyanure has quit [Remote host closed the connection]
sepp2k1 has quit [Remote host closed the connection]
Morphous has quit [Ping timeout: 258 seconds]
<oriba> oh, uses much mem... "Growing heap to 1048576k bytes"
ikaros has quit [Quit: Ex-Chat]
Morphous has joined #ocaml
ikaros has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
lamawithonel__ has joined #ocaml
lamawithonel_ has quit [Ping timeout: 248 seconds]
<mfp> oriba: in general, you can try to compile with -p (or profile with google tools or cachegrind) and see if caml_call_gc and related functions or caml_modify take too much time
<mfp> usually, the GC parameters having the largest effect on performance are the minor heap size (you can easily get 2X boosts if few blocks are promoted), the major heap size and the overhead(s)
<oriba> I tried around with OCAMLRUNPARAM
<oriba> there was speedup, but not so much
<oriba> maybe my algorithsm are just crap ;)
<oriba> but I can try -p, thx
<oriba> where would I use -p in OCamlmakefile?
<_habnabit> any reason you're not using ocamlbuild?
<_habnabit> that'll do it for you
<oriba> hmhh
<oriba> not used it so far
<oriba> I use OCamlMakefile
<oriba> also not bad
<oriba> you would recommend ocambuild in general?
<_habnabit> absolutely. staying away from autotools in general is a good life goal.
<thelema> ocamlbuild is good.
<oriba> found a user guide from 2007 :(
phoenixsun has joined #ocaml
<phoenixsun> Is Ocaml well supported on windows because I the d/l for the installer on its offical page doesnt even work
ikaros has quit [Quit: Ex-Chat]
dnolen has joined #ocaml
<oriba> ooops: 25.84 14.47 14.47 410868541 0.00 0.00 compare_val
<oriba> maybe String.compare is bad
<oriba> or what is compare_val?
destrius has joined #ocaml
sebz has joined #ocaml
<Drakken> phoenixsun I downloaded ocaml onto my windows machine a couple months ago.
<phoenixsun> Drakken: From the official site?
<Drakken> yes
ousado has quit [Ping timeout: 244 seconds]
<phoenixsun> the binary? because it takes me to a 404 page
<thelema> oriba: compare_val is the polymorphic compare at the heart of (=), (<), etc
<oriba> yeah, already found an article on it
<oriba> from yaron minsky
<oriba> but when using it on int, it shouldbe fast?
<oriba> what if I use String.compare... does it also use (=) ?
<oriba> internally?
<oriba> The_third_man,
<oriba> thelema,
<thelema> oriba: only if ocaml knows ahead of time that it's int
sebz has quit [Quit: Computer has gone to sleep.]
<oriba> The_third_man, sorry, meant thelema
<thelema> oriba: BatString.compare?
<oriba> thelema, how does it know it? should I use type information?
<oriba> I use standardlib
<oriba> what ist BatString?
<thelema> oriba: yes, annotate the types. This is one of the very few cases where type annotations improve performance
<thelema> oriba: batstring is from batteries. I didn't realize stdlib String had a compare function
<oriba> maybe 9it's just the same as (=)
<thelema> I don't think there's a specialized string compare.
<oriba> just the String.compare is needed
<oriba> for example if using Map.Make
<thelema> in stdlib/String.ml: let compare = Pervasives.compare
<oriba> and is that (=) ?
<thelema> phoenixsun: you're right - this download is down.
<thelema> oriba: it is compare_val
<oriba> aha
<oriba> hehe
<thelema> is there a reason you're mapping from strings?
<thelema> i.e. can you avoid string keys in your map?
<oriba> caml_page_table_lookup also uses some time...
<thelema> yes, I have problems with that one too, and have no fix for that.
<phoenixsun> thelema: I might have to wait cos I down intend to compile it myself from source code
<oriba> maybe I can avoid strings, map thenm to int and later back
<phoenixsun> dont*
<oriba> thelema, maybe I need to do a complete rewrite and write my own tree implementation or so
<oriba> thelema, or do you have a nice idea, ow to use ocamlgraph to get out the loops?
<thelema> oriba: a new tree implementation probably won't help. Map is pretty efficient
<oriba> but map misses some functionality
<oriba> I use Set and Map
<oriba> and somehow all that stuff looks ugly
<oriba> with ocamlgraph it would be better
<oriba> but I didn't found out how to use that
<thelema> oh yeah, you were using set/map for graphs
<oriba> for just extracting the loops without other tuff
<oriba> yes
<thelema> I did some benchmarking of different homemade graph implementations (not ocamlgraph), and maps of sets came out pretty good.
<thelema> but I had some specific requirements.
<thelema> you wanted to extract cycles from a graph, yes?
<oriba> I needed three maps and a set and some ints .... too much overhead I think
<oriba> yes
<oriba> cycles
<oriba> I tried with Dfs
<oriba> looks good so far
<oriba> but not perfect
<oriba> what I'm looking for