gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml Meeting 2011 http://bit.ly/eaZi1C | OCaml 3.12.0 http://bit.ly/aNZBUp
thelema has quit [Read error: Connection reset by peer]
pborges has joined #ocaml
<pborges> Hi guys does anyone know what is happening with ocaml.info?
thelema has joined #ocaml
lamawithonel_ has quit [Remote host closed the connection]
lopex has quit []
<ptrf> adrien: it is, kind of
<ptrf> i dont know exactly, i'm working with the parser from coccinelle, i think it's yacfe
<ptrf> ah, it is :)
sepp2k has quit [Quit: Leaving.]
<pborges> Does anyone have an updated OcamlMakefile?
ymasory has joined #ocaml
pborges has quit [Quit: Page closed]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
co_dh has left #ocaml []
ulfdoz_ has joined #ocaml
rwmjones has quit [Ping timeout: 240 seconds]
ulfdoz has quit [Ping timeout: 264 seconds]
ulfdoz_ is now known as ulfdoz
_habnabit has quit [Quit: ZNC - http://znc.sourceforge.net]
_habnabit has joined #ocaml
_habnabit has quit [Changing host]
_habnabit has joined #ocaml
adlsaks has quit [Ping timeout: 276 seconds]
adlsaks has joined #ocaml
adlsaks has quit [Ping timeout: 264 seconds]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
thelema has quit [Read error: Connection reset by peer]
thelema has joined #ocaml
enthymeme has joined #ocaml
joewilliams_away is now known as joewilliams
ymasory has quit [Quit: Leaving]
joewilliams is now known as joewilliams_away
ymasory has joined #ocaml
arubin_ has joined #ocaml
arubin_ is now known as arubin
tnguyen has joined #ocaml
funktronic has joined #ocaml
<funktronic> so any of you guys by any chance know anything about jane st ?
funktronic has left #ocaml []
ymasory has quit [Quit: Leaving]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
arubin has quit [Quit: arubin]
adlsaks has joined #ocaml
f[x] has quit [Ping timeout: 250 seconds]
adlsaks has quit [Ping timeout: 248 seconds]
f[x] has joined #ocaml
tnguyen has quit [Remote host closed the connection]
philtor has quit [Ping timeout: 255 seconds]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
tautologico has joined #ocaml
tautologico has quit [Client Quit]
Modius has joined #ocaml
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
rwmjones has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
mcclurmc_home has joined #ocaml
dnolen has quit [Quit: dnolen]
seafood has joined #ocaml
Oejet has joined #ocaml
ygrek has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
larhat has joined #ocaml
seafood has quit [Quit: seafood]
Cyanure has joined #ocaml
adlsaks has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
thelema has quit [Read error: Connection reset by peer]
thelema has joined #ocaml
ikaros has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
edwin has joined #ocaml
schme is now known as schmrkc
sepp2k has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
seafood_ has joined #ocaml
Oejet1 has joined #ocaml
Oejet has quit [Ping timeout: 240 seconds]
adlsaks has quit [Ping timeout: 240 seconds]
pborges has joined #ocaml
<pborges> hi
<pborges> I'm trying to copile a project with OcamlMakefile
<pborges> and that project depends on a library
<pborges> is it possible to tell the ocamlmakefile to use ocamfind and the proper pkg while linking
<pborges> ?
<adrien> afaict it only uses it for install/remove
<adrien> but you can probably pass things as *CFLAGS with "ocamlfind query ...3
<adrien> s/3/"/
<pborges> jesus
<pborges> ocamlmakefile is limited
<pborges> oasis generates 1000s ugly files plus has dependencies
<pborges> I guess I'll try to use omake
<adrien> oasis creates that many files?
<pborges> I almost have more oasis files in my project than real code files
<adrien> well, it's not for only building but for easy redistribution
<adrien> and there's ocamlbuild
<pborges> oasis is using ocamlbuild
<adrien> yes but it provides much more; ocamlbuild takes one or two files
<gildor> pborges: oasis need to generates setup.ml (for itself), the rest of the file are related to ocamlbuild
<adrien> you get _build/, _tags, myocamlbuild.ml, but you shouldn't get anything more
<gildor> pborges: and the 1000s ugly file (setup.ml) is not worse than a configure
<pborges> and cclib file
<gildor> adrien: you'll also get XXX.mllib
<gildor> and XXX.clib
<pborges> o and an mllib file
<gildor> but that is related to ocamlbuild
<adrien> ah, right, I had forgotten about these (I never use that with ocamlbuild)
<pborges> the other problem is that oasis is not anywhere
<pborges> and contributor to the project have trouble installing everything
<gildor> pborges: what means "not anywhere" ?
<larhat> pborges: you don't need oasis to install lib with setup.ml
<pborges> I'm talking about contributor not users
<gildor> pborges: the setup.ml is self contained, no need to install oasis to use it
<pborges> add/s/
<pborges> gildor: if someone adds a file to the porject
<pborges> the setup needs to me regenerated
<pborges> requiring ocaml build
<pborges> ups
<pborges> oasis
<gildor> pborges: it depends on the file you add
<gildor> pborges: but if you use omake (e.g.) you need to install omake for user and contributor
<pborges> at least omake is on every linux repo on earth
Oejet1 has quit [Ping timeout: 240 seconds]
eye-scuzzy has quit [Read error: Operation timed out]
<gildor> pborges: packages for oasis for every linux on earth will be welcome ;-)
<pborges> even brew (for OS X) has omake
eye-scuzzy has joined #ocaml
<gildor> and this is mostly a question of date, omake is quite old wrt to oasis
<gildor> i.e. you can apply this arguments to any new projects
<pborges> ok I'll return to oasis when it stops being young :p
ftrvxmtrx has quit [Ping timeout: 246 seconds]
<gildor> pborges: and if you don't use chances that it comes to your linux distro will be almost null
<gildor> chicken and egg problem
<gildor> BTW, there is a binary linux installer that should allow to install it quite quickly
<pborges> that linux installers assumes a certain libpcre name
<gildor> just a matter of "ln -s"
<gildor> but, this is indeed a bug
<gildor> and OCamlMakefile doesn't provide a configure
<gildor> nor omake
<gildor> nor ocamlbuild
ftrvxmtrx has joined #ocaml
<gildor> pborges: oh and "wc -l OCamlMakefile -> 1277", 1277s line of makefile, and far more cryptic than a bigger .ml file
<gildor> pborges: makefile tends to be cryptic
<pborges> I already discarded OCamlMakefile
<gildor> so you pick omake ?
<gildor> omake: 89 kLoC of OCaml, whoa, that is big
<pborges> I need t read omake's manual first
<pborges> if that fails
<pborges> I'll just write a good ol Makefile
<gildor> good luck with omake manual
joelr has joined #ocaml
joelr has quit [Client Quit]
Tobu has quit [Ping timeout: 260 seconds]
Tobu has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
<adrien> gildor: I'm trying to connect to the forge from a computer I wasn't using before and I'm getting ssh errors (ssh_exchange_identification: Connection closed by remote host), do you have anything in the logs? (it might be pebkac, but I can connect to other ssh daemons fine)
<gildor> adrien: do you have the right ssh key on this computer .
<gildor> ?
<flux> adrien, tried telnetting to the ssh port?
<adrien> gildor: yes, I've set it one hour ago and I was getting a different another error message before (maybe I need to wait a bit more)
<flux> I think that error comes when the peer disconnects immediately
<gildor> adrien: you maybe have been blacklisted while trying
<gildor> adrien: what is your external IP
<adrien> flux: nc/telnet works, and the connection is closed as expected after a few seconds
<adrien> gildor: 82.241.208.159
<adrien> I might have tried a bit too much, yeah :P
<gildor> adrien: bingo, blacklisted
adlsaks has joined #ocaml
<adrien> heh, I'll try a bit less often next time :-)
<gildor> you'll be allowed again in 30min, or I can try to remove it now
<adrien> nah, it's ok, I should have lunch anyway :-)
<gildor> adrien: ok, ping me if this is still a pb after lunch
<adrien> sure, thanks =)
ftrvxmtrx has quit [Read error: Connection reset by peer]
<mrvn> sometime fail2ban sucks
<gildor> mrvn: in this case, this is denyhosts
<gildor> mrvn: I agree but I also think it prevents so many attacks that it is better than nothing
<mrvn> as I said: sometimes :)
adlsaks has quit [Ping timeout: 255 seconds]
<gildor> omake is huge, it is a kind of super make
<mrvn> Somehow i find all the build systems far to complicated for a simple project.
<gildor> you can even write fibonacci with omake
<gildor> mrvn: indeed, a simple makefile seems always better to your eyes
<mrvn> I would rather have a simple system for building just an app, just a library and something huge for huge projects like batteries.
<gildor> until you get into new troubles
lopex has joined #ocaml
<gildor> mrvn: I think that was a goal at the beginning of ocamlbuild
<gildor> i.e. ocamlbuild src/myprog.native
<mrvn> is ocamlbuild the one where you have to write *.ml files to suplement the build system?
<larhat> mrvn: oasis quickstart, i think, is very good for small projects.
<larhat> in simple cases, you should only answer to few questions
<gildor> mrvn: you have to write myocamlbuild.ml to provide some extra comment that are required, indeed
<gildor> larhat: yes, with ~10 lines of _oasis you can have a running setup in a matter of 1 min
<mrvn> which is far more complex to do than just write your own Makefile in the first place.
<gildor> the fact that you need myocambuild.ml is a big showstopper for ocamlbuild
<gildor> (and one of the reason that oasis allow to generate it almost completely)
pborges has quit [Ping timeout: 252 seconds]
<mrvn> Currently I'm using this: http://paste.debian.net/112739/
<mrvn> And that is a rather complex case with building multiple binaries.
<mrvn> and C stubs
<gildor> except for the cont, the rest can be generated by oasis
<gildor> and the cont can remain the same with just ocaml setup.ml -build in place of make
<mrvn> The cont is a really nice chunk. You start your editor, type "make cont" and it recompiles every time you save.
<gildor> mrvn: thx for the explanation ;-)
<mrvn> For a single binary the only variable is the "all: <name of binary>" and "*_LIBS". Everything else you can do with fixed patterns.
ftrvxmtrx has joined #ocaml
<mrvn> Give me a build system where my Makefile reads: http://paste.debian.net/112740/
wtetzner has quit [Remote host closed the connection]
<gildor> mrvn: what an _oasis should look like for raidx http://paste.debian.net/112741/
wtetzner has joined #ocaml
<gildor> mrvn: I won't be able to go down to http://paste.debian.net/112740/
<mrvn> Plugins: devfiles (0.2)
ftrvxmtrx has quit [Read error: Connection reset by peer]
<mrvn> What is that supposed to do?
<gildor> this will generate configure and Makefile
<gildor> that call ocaml setup.ml -XXX
<mrvn> And oasis then generates the files for ocamlbuild which then generates the binaries to compile which then calls ocamlopt?
<gildor> mrvn: seems like a long list, but yes
<mrvn> and multiple source for problems. debugging this when something doesn't work will be twice the nightmare.
ikaros has quit [Quit: Leave the magic to Houdini]
edwin has quit [Ping timeout: 246 seconds]
ikaros has joined #ocaml
<mrvn> What other build tools does oasis support?
<gildor> mrvn: just as using ocamlfind
<gildor> only custom (call what you want) and ocamlbuild for now
<gildor> planned support for ocamlmakefile and omake,in the far future
<gildor> (not far if people help me)
hsuh has joined #ocaml
Yoric has joined #ocaml
ftrvxmtrx has joined #ocaml
ftrvxmtrx has quit [Ping timeout: 240 seconds]
Oejet has joined #ocaml
ftrvxmtrx has joined #ocaml
Oejet1 has joined #ocaml
Oejet has quit [Ping timeout: 240 seconds]
vivanov has joined #ocaml
hsuh has quit [Quit: hsuh]
edwin has joined #ocaml
hsuh has joined #ocaml
ikaros has quit [Remote host closed the connection]
lopex has quit [Ping timeout: 260 seconds]
hsuh has quit [Read error: Connection reset by peer]
hsuh has joined #ocaml
hsuh has quit [Client Quit]
<adrien> bah, I also had a .ssh/config which told ssh to use the right username when connecting to ocamlcore, fixed now, and everything's working =)
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
<philed> flux: Hey. Are you there?
hsuh has joined #ocaml
seafood_ has quit [Quit: seafood_]
larhat has quit [Quit: Leaving.]
avsm has quit [Quit: Leaving.]
ygrek has quit [Ping timeout: 246 seconds]
robinnn has joined #ocaml
ygrek has joined #ocaml
hsuh has quit [Read error: Connection reset by peer]
hsuh has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
ikaros has joined #ocaml
ftrvxmtrx has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
Tobu has joined #ocaml
dnolen has joined #ocaml
Tobu has quit [Quit: No Ping reply in 180 seconds.]
Tobu has joined #ocaml
<flux> philed, yes
hsuh has quit [Quit: hsuh]
hsuh has joined #ocaml
mehdid has joined #ocaml
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
dnolen has quit [Quit: dnolen]
<adrien> I really really how fast ocaml code compiles =)
<philed> flux: Sorry, back.
<philed> flux: I'm still confused about the lwt syntax, and why I cannot write lwt x = read_line stdin in expr, but must instead write let t = read_line stdin in lwt x = t in expr.
<mrvn> execution order?
<philed> It comes back with a parse error.
<diml> philed: it is because i forgot a rule in the grammar of the syntax extension...
<flux> philed, I haven't really used the lwt syntax extension
<philed> diml: Oh cool. So it's fixable?
<diml> yes
<philed> Awesome! After seeing that you guys were using the extension in the library code and doing the whole let x = t in lwt y = t in ... trick, that things just had to be that way for some reason.
<diml> where did you see that ?
<philed> Two secs, I'll dig it up.
<philed> It's there in lwt_list.ml for example.
<philed> Definition of iter_p. It's the source code from godi, I think.
<orbitz> Hrm lwt x = foo bar in expr doesn't work? I swear I've used it. is it par tof the latest lwt build or something?
<diml> orbitz: yes it works in expression, it is just at toplevel that it did not worked
<orbitz> ohh
<diml> but now it also work at toplevel
<philed> I'm using 2.2.1.
<orbitz> cool
<diml> philed: for Lwt_list.iter_p it is written this way for another reason
<diml> it is to launch the two threads in parallel, wait for the first, then behave as the second
arubin has joined #ocaml
<orbitz> Are you a developer for lwt diml ?
<philed> diml: Yeah, now that I look at it, I'm seeing lwt x = foo bar in expr all over the place.
<diml> orbitz: yes
<philed> Presumably, then, I'm only getting problems because I'm loading these files from the top-level?
<orbitz> diml: ah cool, I tried ot add lwt support to latest tuareg mode (posted on forums)
<orbitz> it mostly works
<diml> philed: yes, in the toplevel expression you type are interpreted as toplevel expressions
<orbitz> diml: If multicore-ocaml ever happens, how bad do you think it would be to extend lwt to multicore safely for existing code?
<diml> orbitz: cool
Oejet1 has quit [Read error: Connection reset by peer]
<diml> orbitz: it would be easy with the multiple gc and message passing
<orbitz> woudl Lwt_stream be uesd for MP?
Oejet has joined #ocaml
<diml> i think there will be a module for multicore message passing, then one can use these new primitives with other modules of Lwt
<orbitz> diml: I'd love to see soem CSP ideas in lwt (channels). I think it' dbe cool to have those now so when multicore ocaml happens my code Just Works (tm)
<philed> diml: Bah. Better start compiling then! I'm going to have to refactor my >>=s, but it's going to look a lot nicer. Thanks!
<diml> orbitz: i will have a look at it
<orbitz> diml: are you the primary developer?
<diml> yes
<orbitz> swell, good to know who to harras when I have troubles :)
<diml> ;)
<philed> diml: Is bind associative for lwt?
<diml> yes
ymasory has joined #ocaml
Yoric has quit [Quit: Yoric]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
sepp2k has quit [Ping timeout: 250 seconds]
robinnn has quit [Quit: Leaving]
sepp2k has joined #ocaml
enthymeme has joined #ocaml
Yoric has joined #ocaml
Yoric has quit [Client Quit]
Yoric has joined #ocaml
Yoric has quit [Client Quit]
Tobu has quit [Ping timeout: 260 seconds]
ygrek has quit [Remote host closed the connection]
Tobu has joined #ocaml
Tobu has quit [Quit: No Ping reply in 180 seconds.]
Tobu has joined #ocaml
Yoric has joined #ocaml
Tobu has quit [Ping timeout: 264 seconds]
Yoric has quit [Client Quit]
<adrien> gildor: is there anything in oasis that can currently (or soon) generate a godi package? (asking now but I'm leaving soon)
philtor has joined #ocaml
lopex has joined #ocaml
<gildor> adrien: I am in discussion about that with Gerd
<gildor> adrien: this is a REAL goal, but I am not good enough at GODI to do it right
<gildor> adrien: on a time scale of 6 months, this will probably a reality
<gildor> RSN to make pborges lie, I'll upload oasis to Debian, and will try to have it in GODI also (I have an account)
hsuh has quit [Quit: hsuh]
enthymeme has quit [Ping timeout: 252 seconds]
enthymeme has joined #ocaml
ygrek has joined #ocaml
Yoric has joined #ocaml
joelr has joined #ocaml
joelr has quit [Client Quit]
Oejet has quit [Ping timeout: 240 seconds]
pborges has joined #ocaml
smerz has joined #ocaml
DimitryKakadu has joined #ocaml
DimitryKakadu has quit [Remote host closed the connection]
Yoric has quit [Quit: Yoric]
Fullma has quit [Ping timeout: 246 seconds]
wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
edwin has quit [Remote host closed the connection]
enthymeme has quit [Ping timeout: 264 seconds]
<pborges> Hi!
<pborges> is there an elegant way to encode existential types in ocaml?
enthymeme has joined #ocaml
Cyanure has quit [Remote host closed the connection]
ikaros has quit [Quit: Leave the magic to Houdini]
<philed> diml: Is it a possible, or a good idea, to write a function find_p which does a parallel seach in a list of threads for the first element satisfying a predicate *but*, in such a way that as soon as one thread returns such a value, the whole thread returns?
<philed> I *think* I've written this function via nchoose, but I'm not sure if I've missed a subtlety in thinking it was possible.
kerx has joined #ocaml
<diml> philed: yes i think it is possible
<philed> Cool. For what it's worth, here's what I've got (not thoroughly tested) http://pastebin.com/hMH2AUMg
<philed> (should factor out that duplicated recursive call)
<diml> yes, i was going to say the same thing
ygrek has quit [Ping timeout: 246 seconds]
philtor has quit [Ping timeout: 260 seconds]
ftrvxmtrx has quit [Ping timeout: 260 seconds]
emmanuelux has quit [Read error: Connection reset by peer]
ftrvxmtrx has joined #ocaml
Amorphous has quit [Ping timeout: 255 seconds]
sheets has joined #ocaml
<sheets> anybody use gsl with ocamlbuild? ocamlfind doesn't know about gsl, I guess, but ocamlbuild should be able to link it. I wrote the little external library plugin but it doesn't seem to work.
<sheets> I've tried both absolute and relative paths with native and bytecode compiles and it complains that gsl modules are "unbound"
<thelema> sheets: if you have to, a bad way is to [ocamlbuils -cflags +I,+gsl ...]
<thelema> *ocamlbuild
Amorphous has joined #ocaml
<sheets> what is the difference with these? ocamlbuild knows less about the deps?
<adrien> gildor: ok, thanks, I think I'll make my own godi packages for now
<thelema> the right way is to make a myocamlbuild.ml that adds those flags to the right compilation flags
<thelema> *compilation commands
<sheets> i added " ocaml_lib ~extern:true ~dir:"+gsl" "gsl" " to the After_rules clause
emmanuelux has joined #ocaml
<sheets> this is what the ocamlbuild wiki said to do but perhaps I misunderstood
<sheets> or are you saying that I always have to also add the compiler flags?
emmanuel_ has joined #ocaml
emmanuel_ has quit [Remote host closed the connection]
emmanuelux has quit [Client Quit]
<thelema> sheets: no, the text from the ocamlbuild wiki seems better.
wtetzner has quit [Remote host closed the connection]
<thelema> except it only makes that name available as a lib, I think you have to say what depends on the lib with the _tags file
<thelema> use_gsl
wtetzner has joined #ocaml
<sheets> so i did <foo.{byte,native}> : use_bigarray, use_gsl
<sheets> but i get no indication that it is listening to me? it does: /opt/local/bin/ocamlc.opt -c -o fundamental.cmo fundamental.ml
<sheets> foo = fundamental, sorry
avsm has joined #ocaml
<sheets> ocamlc -I +gsl fundamental.ml appears to work (as far as complaining that +gsl/gsl_matrix_flat.cmi isn't a compiled interface). \
ftrvxmtrx has quit [Ping timeout: 250 seconds]
<thelema> try <foo.*>: use_bigarray, use_gsl
<thelema> both are important for .cmx/cmo compiling as well
<sheets> thelema: aha! thank you!
<thelema> tagging is *very* specific
<thelema> in general, I rarely use anything other than <*>:
<sheets> so all your tags apply to all your files?
<sheets> or just on the variant part?
<thelema> yes, all my tags apply to all my files. Luckily, this doesn't mean ocamlbuild adds all command line options to every command
<thelema> it knows which options go with bytecode compiling and linking and etc.
<sheets> i see. that's a pretty good idea
smerz has quit [Quit: Ex-Chat]
sepp2k has quit [Quit: Leaving.]
ftrvxmtrx has joined #ocaml
<bitbckt> does anyone have packing functions for _unsigned_ quad ints?
<bitbckt> uint64lib has no pack/unpack functions, Core has signed quads, Batteries has neither.