emmanuelux has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
emmanuelux has quit [Quit: Ex-Chat]
emmanuelux has joined #ocaml
emmanuelux has quit [Quit: Ex-Chat]
Cyanure has joined #ocaml
emmanuelux has joined #ocaml
ftrvxmtrx has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
snarkyboojum has quit [*.net *.split]
brendan has quit [*.net *.split]
tlockney has quit [*.net *.split]
snarkyboojum has joined #ocaml
brendan has joined #ocaml
tlockney has joined #ocaml
edwin has joined #ocaml
ulfdoz_ has joined #ocaml
ulfdoz has quit [Ping timeout: 252 seconds]
ulfdoz_ is now known as ulfdoz
milosn has joined #ocaml
_andre has joined #ocaml
spearalot has joined #ocaml
<bobry>
thelema: I see you started some progress on local packages in odb, maybe we should join forces, since 'barbra' is doing the same thing? we can add OASIS-db as one of the 'source' backends
chambart has quit [Ping timeout: 252 seconds]
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
thelema has quit [Read error: Connection reset by peer]
thelema has joined #ocaml
iago has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
chambart has joined #ocaml
emmanuelux has joined #ocaml
ankit9 has quit [Quit: Leaving]
<Drakken>
BuildTools: Tools required to compile, including internal executables.
<Drakken>
This is the "definitive" documentation?
<adrien>
Drakken: are you creating your _oasis file completely by hand?
<Drakken>
adrien sure, why not?
<adrien>
I started that way too but it didn't work out well; basically, there is a better documentation but it's inside "oasis quickstart"
<adrien>
it's a wizard
<adrien>
and it's a good way to start a new file
<adrien>
typically, I use it to start a new _oasis and then I do it by hand; it's faster and easier this way
<Drakken>
Every OCaml programmer should be required to read the Lisp Hyperspec as a model for their documentation.
<adrien>
if you use oasis quickstart, you'll notice that most stuff exists but it hasn't been made available with the same level on details on the website for instance
<Drakken>
adrien okay I'll try it.
<adrien>
Drakken: also, fortunately, quickstart is not a wizard that believes you're dumb =)
<adrien>
maybe that the only thing missing on http://oasis.forge.ocamlcore.org/alreadyusing.html is keywords to know what a particular _oasis file "has" (like, I could put mine and add say it's an example for using "packs")
emmanuelux has quit [Remote host closed the connection]
chambart has quit [Ping timeout: 240 seconds]
emmanuelux has joined #ocaml
chambart has joined #ocaml
ikaros has joined #ocaml
chambart has quit [Ping timeout: 276 seconds]
chambart has joined #ocaml
oriba has joined #ocaml
pilki has joined #ocaml
Boscop has joined #ocaml
spearalot has quit [Quit: Computer has gone to sleep]
chambart has quit [Ping timeout: 255 seconds]
user_ has joined #ocaml
user_ has quit [Client Quit]
katjq3 has joined #ocaml
katjq3 has quit [Client Quit]
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
chambart has joined #ocaml
oriba has quit [Quit: oriba]
pilki has quit [Quit: This computer has gone to sleep]
<thelema>
bobry: sure, how to collaborate?
spearalot has joined #ocaml
<hcarty>
thelema: I was able to get ocamlnet to install via odb, but I only tested through a fresh ocamlbrew installation
<bobry>
thelema: well, it depends, one way is to merge two projects -- probably making OASIS-db a backend, which will allow using 'forge' entries in 'brb.conf' https://gist.github.com/1534221
brendan has quit [Read error: Operation timed out]
brendan has joined #ocaml
<thelema>
bobry: I wonder what barbra can contribute, as odb seems to have the leg up on everything that I can figure barbra does
<bobry>
well, first of all we focus on per-project dependencies -- each project has it's own brb.conf and _dep-build environment, that's a bit different from what odb is doing
<thelema>
bobry: also, I don't like the idea of specifying every package at oasis-db in order to use it
<bobry>
every package?
<bobry>
does odb support vcs sources? or arbitrary http / ftp sources?
<thelema>
bobry: yes and yes
<bobry>
oh nice :)
<thelema>
ah, maybe I misunderstood your idea - each conf file (why have many?) lists the deps for a single project
<thelema>
and you have to run barbra in the right order to install them all
<bobry>
well, each project has a single dep file, right
<bobry>
yup
<thelema>
(might as well install them all in the order listed)
<bobry>
well, since it turns out the features are pretty similar, the only reason i see for joining efforts is -- one good tool for the job :)
<thelema>
whereas odb actually tracks real dependencies. The version tracking isn't perfect at the moment, as there can only be one version of a package in its database at once
<bobry>
what do you mean "real"?
<bobry>
i thought it only tracks deps via oasis-db
<thelema>
I think the idea of "projects" could be added to odb easily - simple text files listing a list of deps, and odb would install all of those packages
<thelema>
bobry: odb gets deps from either oasis-db or the packages file
<bobry>
hmm, i should probably look at new odb features more closely, haven't seen it for a while
<thelema>
deps are a package, comparator (GT, GE, EQ) and a version (optional) saying that a particular version of a file is needed
<hcarty>
thelema: odb bundles should be pretty straightforward...
<thelema>
err, version of a package
<thelema>
hcarty: yes, quite.
<hcarty>
thelema: It could be implemented as a package with no content, but with a list of requirements.
<hcarty>
Or, rather, dependencies
<thelema>
hcarty: yup. I guess I should support this too.
Kakadu has joined #ocaml
<hcarty>
thelema: It may not require any extra support
<thelema>
at the moment, I give an error for packages without any install info
<hcarty>
Ah
<thelema>
but I can temper this with a check for deps
<hcarty>
Well, something should(?) be installed - maybe just a META file?
<hcarty>
I've done that before in GODI, to track dependencies for a project
<thelema>
the idea of a bundle having its own build environment isn't bad
<thelema>
and this is something that odb doesn't do atm
<hcarty>
Shouldn't that be possible with some environment variable tweaking?
<thelema>
bobry: dig through the last few commits; I've been pumping out features this last week relating to what barbra can do.
<hcarty>
It's not automated, but the bundle could be isolated that way
<thelema>
hcarty: grr, if I implement this, I'll have violated my church-and-state separation of ocaml versions and installing packages
<hcarty>
thelema: What would be violated, and how?
iago has quit [Remote host closed the connection]
<thelema>
odb switching between ocaml versions would be violated by supporting different build environments
blinky- has joined #ocaml
<hcarty>
thelema: Having ~/.odb, ~/.odb-project-a, ~/.odb-project-b?
<thelema>
yes, it should be ~/brew ~/brew-project-a, etc
<thelema>
with something else managing the compiler, etc. switching, and odb going along for the ride
<hcarty>
thelema: I think it's nice to be able to have multiple odb roots for a single OCaml install
<thelema>
so that different versions of the same lib can coexist?
<hcarty>
~/brew-dev could have ~/.odb-stable ~/.odb-test; ~/brew-prod could have ~/.odb-stable
<hcarty>
thelema: Can co-exist on the filesystem only
<hcarty>
thelema: One would still need to change OCAMLPATH, etc. to swap between ~/.odb's
<thelema>
yes, of course
<thelema>
I guess testers would really want this kind of feature
<thelema>
and we should encourage lots of testing
<hcarty>
My hope is that, between ocamlbrew and odb, it will be easy to test ocaml-3.13.0~gadt-super-awesome + Batteries-git + oasis + foo-lib with just a few commands
* thelema
imagines a simple script that compiles the last n versions of ocaml and sets up m environments with different versions of packages in them... although why... hmm
<hcarty>
And then quickly swap back to ocaml-stable, Batteries-stable, etc. to get real work done
<thelema>
hcarty: yes, and that's a compiler version change
<thelema>
within a compiler version, why have different sets of libs?
<hcarty>
thelema: But part of getting real work done could involve testing code against batteries-git under ocaml-stable
<hcarty>
thelema: That's part of the real work I am looking forward to doing soon :-)
<hcarty>
So I, personally, am very interested in being able to use one OCaml installation against multiple sets of libraries
<hcarty>
Being able to quickly test personal-project-a against batteries-vCurrent+1, without needing to install a completely separate OCaml, is very useful
pilki has joined #ocaml
<hcarty>
As or potentially more useful than testing personal-project-a + batteries-vCurrent against OCaml-vCurrent+1
<thelema>
hcarty: faur enough, but the complexity of this seems the same as the complexity of switching ocaml versions
<thelema>
*fair
NaCl has quit [Ping timeout: 252 seconds]
<hcarty>
True, the complexity from the standpoint of environment variable changes is similar. The build time is a lot less, as is the effort to recreate the rest of the environment (libraries, etc.)
<thelema>
yes, not having to rebuild ocamlc helps
<hcarty>
If someone is using OCaml from a deb or rpm then it helps even more
<hcarty>
As those may be patched in ways that are not easy to replicate
raichoo has joined #ocaml
probst has joined #ocaml
<hcarty>
thelema: I agree that a tool external to odb itself would be nice for this
<hcarty>
thelema: It's something I would like to tackle at some point, either as part of the odb project, the ocamlbrew project, or a separate project.
<hcarty>
I've used similar tools with Perl and they are very nice to have.
<thelema>
bobry: any chance you can leverage barbra to do this?
<hcarty>
thelema: I think a bash function could be enough, or a simple OCaml/Perl/whatever script
<thelema>
hcarty: probably
<thelema>
but it looks like a lot of work was put into barbra
<thelema>
hcarty: it would be nice to automate the building of utop without calling odb three times - this looks like something that barbra would do
<hcarty>
thelema: I agree, and it does look like barbra could handle that.
<hcarty>
thelema: But I think that there is a lot of utility in odb's method.
<hcarty>
The fact that odb doesn't require you to create a configuration file to build utop is quite nice
<hcarty>
barbra and odb seem like they are addressing two different concenrs
<hcarty>
concerns
<hcarty>
odb is similar to cpan(m); barbra seems more like a localized build environment creator
pilki has quit [Quit: This computer has gone to sleep]
ttamttam has joined #ocaml
spearalot has quit [Quit: Computer has gone to sleep]
ttamttam has quit [Quit: ttamttam]
brendan has quit [Read error: Connection reset by peer]
brendan has joined #ocaml
Bosc0p has joined #ocaml
Boscop has quit [Ping timeout: 248 seconds]
sgnb has quit [Remote host closed the connection]
sgnb has joined #ocaml
raichoo has quit [Quit: leaving]
ftrvxmtrx has quit [Quit: Leaving]
probst has quit [Quit: probst]
Bosc0p has quit [Ping timeout: 248 seconds]
Bosc0p has joined #ocaml
letrec has quit [Ping timeout: 240 seconds]
blinky- has quit [Quit: back will I be]
Bosc0p has quit [Ping timeout: 252 seconds]
Bosc0p has joined #ocaml
velov has joined #ocaml
velov has left #ocaml []
brendan has quit [Ping timeout: 268 seconds]
brendan has joined #ocaml
<tautologico>
why is ocamldoc not generating indexes?
<tautologico>
when generating info files
fraggle_ has quit [Ping timeout: 240 seconds]
shachaf has quit [Remote host closed the connection]
fraggle_ has joined #ocaml
vivanov has quit [Quit: Lost terminal]
sebz has joined #ocaml
_andre has quit [Quit: leaving]
ftrvxmtrx has joined #ocaml
vivanov has joined #ocaml
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 240 seconds]
<thelema>
is there any reasonable way to find the executable path for the current executable?
<adrien>
thelema: which programming language?
<thelema>
ocaml
<thelema>
if it helps, it's an `#!/usr/bin/env ocaml` script
<adrien>
I typically do Filename.concat (Sys.getcwd ()) (dirname ys.arg.(0))
<thelema>
does that work if the program is in the path?
<adrien>
ah, sorry
<thelema>
maybe it's not a reasonable request
<adrien>
it requires a test to know if the program was started with an absolute path or not
<adrien>
Filename.is_relative Sys.argv.(0)
<adrien>
if it's a relative path: concat with Sys.getcwd; otherwise, don't
chambart has quit [Quit: WeeChat 0.3.2]
<adrien>
it has always worked for me and I've never seen any alternative but I haven't seen it advised anywhere either
<thelema>
ok, I'll try it.
sebz has quit [Quit: Computer has gone to sleep.]
ttamttam has joined #ocaml
raichoo has joined #ocaml
wagle has quit [*.net *.split]
wagle has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
raichoo has quit [Quit: leaving]
vivanov has quit [Quit: Lost terminal]
raichoo has joined #ocaml
emmanuelux has quit [Quit: Bye]
emmanuelux has joined #ocaml
emmanuelux has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
iago has joined #ocaml
bobzhang has joined #ocaml
<bobzhang>
tuareg-mode does not support caml-debug any more? or is there any patch?
bobzhang has quit [Ping timeout: 252 seconds]
<dsheets>
What is the error domain of "Sys_error"? Pervasives mentions it several times in the context of io channel errors. Is this all it is used for?
<dsheets>
Alternately, is there a doc file somewhere that specs Sys_error?
<thelema>
dsheets: curious question...
<dsheets>
well, it isn't rhetorical so it is curious?
<thelema>
Sys_error is builtin to ocaml (it's not even in pervasives)
<dsheets>
ah, that explains that. i did not consider builtins below pervasives
* dsheets
writes reminder to always check the manual
<thelema>
Match_failure is in the same category
<dsheets>
thelema: i will have some ocaml software to distribute soon. do you have docs about making it as easy as possible for ocaml library users or package system maintainers?
<thelema>
dsheets: that's a fair question. if you can use oasis for your build system, that should take care of many problems
<thelema>
how are you building now?
<dsheets>
make + ocamlbuild + ocamlfind
<thelema>
dsheets: a library?
<dsheets>
it's a compiler with a command line interface
<dsheets>
some modules are very reusable so it would be nice to distribute that as a lib
<thelema>
ok, `ocamlfind install` those modules
<dsheets>
i don't see the need to separate the lib and the minimal interface but perhaps i am naive here
<dsheets>
oh, ok, i will factor out those parts, i suppose
<thelema>
no worries on the separation
<dsheets>
it should be fairly clean, i just don't know how much to consolidate
<thelema>
just make them usable - just install all the files they depend on
<dsheets>
i have a js_of_ocaml port and a cohttp port in the pipeline
<thelema>
and/or make a cma/cmxa file of the whole lot
<thelema>
do you have a ./configure script?
<dsheets>
ok, i have deps on ulex and menhir dunno if that will hurt me
<dsheets>
no configure
<thelema>
since you're installing an executable, it'd be best to have one so that users can set the install dir
<thelema>
deps on ulex and menhir shouldn't be too bad.
<dsheets>
ok, i also will have a man page
<thelema>
sadly, menhir doesn't auto install
<dsheets>
i don't want to know how autoconf or similar works. how do you recommend doing ./configure?
<dsheets>
i've been looking at dypgen but i don't know if the transition is worth it when both projects look slightly neglected
<thelema>
make your own shell script
<thelema>
even ocamlc doesn't use autoconf
<dsheets>
ok, do you have a straight shell ./configure that i could crib e.g.?
<dsheets>
a satisfactory implementation that is in use
<thelema>
no, can't help there
<adrien>
I haven't followed everything but couldn't oasis make a configure script for that?
<dsheets>
ok, thanks for the rest of the info, it's been very helpful :-)
<thelema>
adrien: oasis can make its own thing, but it wouldn't be a simple shell script for him
ttamttam has left #ocaml []
<dsheets>
i'm ok adopting oasis totally if that is the wave of the future
<thelema>
dsheets: let me know the url for the tarball / vcs repo so I can add your thing into odb
<adrien>
right, I'm reading the backlog now; I shouldn't have thought you could have not thought of oasis ;-)
<dsheets>
thelema: will do
<rwmjones>
thelema: what about ocaml-autoconf?!
<thelema>
rwmjones: no love.
<rwmjones>
I'm using it this very day
<thelema>
rwmjones: I don't think I want to inflict autotools on anyone
<rwmjones>
well ... that is a separate matter of course
<rwmjones>
but ocaml-autoconf works fine and is supported, within the confines of one having to use autotools
<thelema>
true. I've never used it as a dev, but it does seem to work fine as a user
<thelema>
rwmjones: while I have you, I've got bitstring auto-installable via odb - is there any other of your software I should make auto-installable?
<thelema>
oh yeah, ancient
<rwmjones>
ancient really needs someone to take it on and rewrite the lower-level bits
<rwmjones>
since I don't work with vast datasets any more, I don't have much use for it
<thelema>
It doesn't ./configure;make;make install properly because of the mmalloc subdir
<rwmjones>
replacing or fixing mmalloc would be part of the taking it on bit
<thelema>
:)
<thelema>
ok, well I guess I won't worry about that too much.
<thelema>
any other software that should be ez-installable?
<rwmjones>
ocaml-csv?
<rwmjones>
perl4caml too
<thelema>
csv auto-installs, great.
<thelema>
hmm, have a up to date url for perl4caml?
<thelema>
just pushed auto-detection of install permissions for odb, have been working to push many packages into its config. Please look at list and let me know what else I should try: https://github.com/thelema/odb/blob/master/packages
<thelema>
avsm: I knew that citrix used ocaml, but not as primary
<thelema>
I guess 1 of 4 teams isn't bad.
sebz has quit [Quit: Computer has gone to sleep.]
<avsm>
there's rarely a 'primary' in a big company
<avsm>
i.e. using OCaml to build a WIndows GUI is silly
* adrien
whistles
spearalot has quit [Quit: Computer has gone to sleep]
<adrien>
avsm: honest question: why?
sebz has joined #ocaml
<avsm>
its just a lot easier using windows dev tools.
<avsm>
a server, on the other hand...
dilange888 has quit [Quit: Leaving]
<adrien>
avsm: something like WFP? and something else than ocaml even for cross-platform programs?
zarus has joined #ocaml
<zarus>
join #scheme
<zarus>
uhhh
<zarus>
srry
<avsm>
depends what you mean by 'cross platform'. For POSIX, OCaml is superb
<adrien>
I meant linux and windows; maybe os x but it's a platform I don't use at all
<thelema>
avsm: I imagine many companies develop exclusively in Java or C++
<thelema>
or even, god forbid, VB
* adrien
cries ='(
<thelema>
:
<thelema>
)
emmanuelux has quit [Quit: Bye]
<adrien>
the good news is that my task was to get rid of it; the bad stuff is that I had to live with it for some time
emmanuelux has joined #ocaml
<tautologico>
sometimes the best solution in the Windows world was to use VB :)
iago has quit [Quit: Leaving]
<tautologico>
nowadays with .net, I guess not so much
<adrien>
well, VB*3*? :P
<tautologico>
wow, that's old
<adrien>
and it doesn't run on 64bit versions of windows =)
milosn_ has quit [Ping timeout: 240 seconds]
oriba has quit [Quit: oriba]
emmanuelux has quit [Ping timeout: 268 seconds]
Morphous_ has quit [Ping timeout: 240 seconds]
avsm has quit [Quit: Leaving.]
ikaros has quit [Quit: Ex-Chat]
fschwidom has joined #ocaml
Morphous_ has joined #ocaml
fschwidom has quit [Remote host closed the connection]
technomancy has joined #ocaml
<technomancy>
I'm trying to compile ocsigen in an environment where I don't have root; is there a way to bring-your-own-pcre?
* technomancy
has no idea how makefiles work
<adrien>
pcre: the C library or ocaml-pcre?
<adrien>
but for both, the answer should be "yes"
<technomancy>
TBH I'm not sure which it is; it just says "Cannot find pcre-config"
<adrien>
ah
<adrien>
it's the C lib
<technomancy>
I tried pointing --includedir to a directory full of the .h files from the deb
<technomancy>
with no effect
<adrien>
nah: pcre-config gives indication on how pcre has been configured
<adrien>
you have no way to get root to do anything?
pilki has joined #ocaml
<technomancy>
no, it's a pretty strange environment