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)
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.
<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.