Yurik changed the topic of #ocaml to: http://icfpcontest.cse.ogi.edu/ -- OCaml wins | http://www.ocaml.org/ | http://caml.inria.fr/oreilly-book/ | http://icfp2002.cs.brown.edu/ | SWIG now supports OCaml| Early releases of OCamlBDB and OCamlGettext are available
* Yurik is back again
foxen5 has quit [Read error: 104 (Connection reset by peer)]
docelic has joined #ocaml
<Yurik> docelic: hi
<docelic> hey Yurik, all
graydon_ has joined #ocaml
graydon has quit [Read error: 110 (Connection timed out)]
foxen5 has joined #ocaml
Yurik has quit ["÷ÙÛÅÌ ÉÚ XChat"]
Kinners has quit ["leaving"]
Zadeh_ has joined #ocaml
Zadeh_ has quit [Read error: 104 (Connection reset by peer)]
Zadeh has quit [Read error: 104 (Connection reset by peer)]
Zadeh has joined #ocaml
Zadeh_ has joined #ocaml
Zadeh has quit [Read error: 113 (No route to host)]
mattam has quit ["zzZZZzzz"]
rox has joined #ocaml
<whee> I wish ocaml had things like fold_left for strings
docelic has quit ["Client Exiting"]
lament has quit ["PROSECUTORS WILL BE TRANSGRESSICUTED."]
giedi has joined #ocaml
mattam has joined #ocaml
rox has quit [Remote closed the connection]
Yurik has joined #ocaml
<Yurik> hi all!
<aleksi> whee, what do you mean?
<aleksi> isn't fold_left polymorphic
Yurik has quit [Read error: 104 (Connection reset by peer)]
giedi_ has joined #ocaml
giedi has quit [Read error: 110 (Connection timed out)]
foxen5 has quit []
foxen5 has joined #ocaml
two-face has joined #ocaml
asqui has quit [Read error: 104 (Connection reset by peer)]
asqui has joined #ocaml
<xkb> hi
<xkb> what is a good ocaml mailinglist to subscribe to
<two-face> caml-list@inria.fr
<two-face> are you a beginner ?
<xkb> hmm.. somewhat.. im more interested in the theoretical stuff
<xkb> I have some questions about the exception handling implementation
<xkb> I normally use haskell
<xkb> seems I have to brush up on my french :D
<two-face> no
<two-face> english is spoken on he list
<xkb> ah
<xkb> ok
<xkb> is it possible to receive it in digest form?
<two-face> don't know
<two-face> caml.inria.fr this page will point you to such info
<xkb> ok thanks
asqui has quit [Read error: 104 (Connection reset by peer)]
<two-face> BBL
two-face has quit ["Client Exiting"]
asqui has joined #ocaml
mattam_ has joined #ocaml
gene9 has joined #ocaml
gene9 has quit [Client Quit]
mattam has quit [Read error: 110 (Connection timed out)]
olczyk has joined #ocaml
<olczyk> Anyone here?
mrvn_ has joined #ocaml
Yurik has joined #ocaml
docelic has joined #ocaml
<Yurik> re
<Yurik> docelic: re
<docelic> hey'o
mrvn has quit [Read error: 110 (Connection timed out)]
<olczyk> In the examples module of lablgtk I try compiling tron.ml and get the error unbound module GMain.
mattam_ is now known as mattam
two-face has joined #ocaml
<two-face> hi!
<two-face> does the caml-list work currently?
<olczyk> How do I specify ocaml libraries in two different locations.
<olczyk> As environmental variables.
<olczyk> For example: ocaml is installed in the standard "system" location ( /usr/lib ... )
<olczyk> and I want to install lablgtk locally ( /home/olczyklablgtk/ ).
<olczyk> Is there an environmental variable(s) that I set to do that?
<two-face> don't know
<mattam> olczyk: LD_LIBRARY_PATH and some -ccopt's should work
<two-face> mattam: not if it deals with ocaml libs
<mattam> adding to /usr/lib/ocaml/ld.conf too
<two-face> this so for dll stuff
Yurik has quit [Read error: 104 (Connection reset by peer)]
<olczyk> -ccopts isn't an enviromental variable.
<olczyk> I copied ld.conf over to /home/olczyk/caml/ editted it there and set OCAMLIB to point to
<olczyk> the dir /home/olczyk/caml.
<olczyk> That worked a for dll stuff, but not for cma/cma and mli.
<olczyk> mattan: The reason that I don't wqant to do --ccopts is that I might load some
<olczyk> program that uses lablgtk and I don't want to hack the Makefiles.
docelic has quit ["Im ready for work! :"]
lament has joined #ocaml
<olczyk> How do I specify ocaml libraries in two different locations.
<olczyk> For example: ocaml is installed in the standard "system" location ( /usr/lib ... )
<olczyk> and I want to install lablgtk locally ( /home/olczyklablgtk/ ).
<olczyk> Is there an environmental variable(s) that I set to do that?
giedi_ has quit ["Client Exiting"]
lament has quit ["PROSECUTORS WILL BE TRANSGRESSICUTED."]
docelic has joined #ocaml
olczyk has quit [Read error: 113 (No route to host)]
TimFreeman has joined #ocaml
TimFreeman has left #ocaml []
<two-face> anyone alive in there?
<whee> yes
<two-face> you know the -custom option?
<whee> what about it?
<two-face> i seem to get custom exe when there isn't any -custom in some cases
docelic is now known as docelic|awaii
skylan has quit ["O_O"]
docelic|awaii has quit ["Client Exiting"]
two-face has left #ocaml []
olczyk has joined #ocaml
<olczyk> How can I specify libraries in two different directories using enviromental variables.
sam_ has joined #ocaml
<sam_> is there any way of getting functions using out_channel to report of errors, or should I just use Unix.openfile/write/close, if I need that?
<whee> what kind of errors?
<sam_> failures to write for example
<sam_> all the output functions by default just return unit (and do not raise any exceptions), regardless if the writes succeed or not
<sam_> I doubt there is a way around that with out_channels, but just asking, in case anyone knows otherwise
<whee> I'm not sure what they do on failure
<whee> it might be better to find out
<sam_> well, they do what I wrote few lines up
<sam_> but don't have the library source code handy, so can't go look in
<sam_> was just wondering if there might be some global mode setting somewhere controlling that.. but i really doubt
<whee> probably not
<whee> I'd use the Unix module if you need error checking
<olczyk> How can I tell caml to use libraries in two different directories using enviromental variables?
<sam_> yeah, I think I'll go with that. thanks
<steele> olczyk: I dont think there is anything besides (O)CAMLLIB
<olczyk> Does that specify cma,cmo, mli files? Because it doesn't seem to work for me.
lament has joined #ocaml
<steele> yes it does, it's where ocaml searches for these files by default and other directories of the form +name are relative to this dir
<steele> eg ocamlc -I +lablgtk is $OCAMLLIB/lablgtk
<olczyk> According to the manual, caml looks for ld.conf in that directory, so I can tweak the ld.conf.
<olczyk> Can I specify multiple directories in the variable? ( LIke PATH, OCAMLLIB=dir1:dir2:dir3 )
<olczyk> ?
<steele> I don't think that's supported
<steele> what is your problem again? you have installed lablgtk in your homedir and don't want to change the Makefiles if you install something that depends on lablgtk?
<olczyk> Sigh. I have a machine where the ocaml libs are stored in "system areas" ( /usr/lib /usr/include whatever) and lablgtk is installed locally ( "/home/olczyk/lablgtk" ).
<olczyk> For big projects, I don't want tobe dumping all my libraries into one directory. That's just messy.
<olczyk> In the lablgtk example, I may have a project I download that uses lablgtk, and I don't want to mess with it's configuration.
<steele> it looks like most projects hardcode +lablgtk
<olczyk> Sigh. I know you have nothing to do with it, but it pisses me off. It seems like everyone, especially linux programmers are now forcing you to configure your machine their way, instead of the way you want. Who died and made them Microsoft?
<steele> it isn't that bad. 1. most of the time, its only a single line change in the Makefile
<steele> 2. there is findlib wich supports all that you need (OCAMLPATH with multiple directories), but it isn't included in the standard distribution
<mrvn_> +lablgtk means that it looks in the default ocamls place. Configure your ocaml that it looks whereever you want.
<mrvn_> Anything else would mean they force you to use a given path.
two-face has joined #ocaml
<steele> mrvn_: the problem is that if you set OCAMLLIB to ~/ocaml, it searches there for the standard modules too
<mrvn_> why is that a problem?
<olczyk> It's not just one project, it's everything that uses lablgtk. Also everything that uses other libraries etc.
<olczyk> On top of that all the other software.
<olczyk> SDo you windup changing one line in hundreds of files.
<mrvn_> so? I fail to see the problem.
<mrvn_> Its one line in your users environment
<olczyk> Worse, when you upgrade, you have to do it again.
* olczyk slaps mrvn_ around a bit with a large trout
<mrvn_> just put "export OCAMLLIB=...." into your .bashrc
<olczyk> If you don't get the stadards libraries very little will compile.
<olczyk> s/stadards/standard/
<olczyk> Defining OCAMLLIB like that and virtually nothing will compile.
<mrvn_> then OCAMLLIB=~/ocamllib:$OCAMLLIB or whatever
<olczyk> You haven't been paying attention. *THAT* does not work.
* olczyk thinks it should!
<mrvn_> Set your OCAMLLIB to the correct path and it will find what you want it to find.
<mrvn_> Whatever that path is on your system.
<olczyk> mrvn_: Are you stupid or something? If you paid even the slightest attention, you would know that it is not *path* it's *paths* and there is no way you can specify *paths* in caml only *path*.
<mrvn_> man ln
<mrvn_> (ok, thats ugly but works)
<mrvn_> Isn't there some ~/.ocaml/ld.conf method to point ocaml to libraries?
* olczyk slaps mrvn_ around a bit with a large trout
<olczyk> man ln only *works* if you can create things in the system area.
<two-face> why don't you ask for help on the list?
<mrvn_> Debian generates "/usr/lib/ocaml/ld.conf" from the systems ocaml/ld.conf and /etc/ocaml/ld.conf (where you add your own libs).
<mrvn_> Idealy there should be a ~/.ocmal/ld.conf
<mrvn_> olczyk: (You would link all the system libs to your dir and then just use your dir.)
<gehel> he's banned form list :)
<olczyk> I asked here first because it's faster. It's not in google, or the list archives.
* olczyk thinks he will check the archives again.
<olczyk> mvrn_: And how would I insert library files into the sym link.
<olczyk> The standard libraries sit on top not on the bottom.
<mrvn_> You just put them in the same dir.
<two-face> gehel: because he generated so stupid noise in the past
<olczyk> I didn't know I was. Just stopped reading because I thought they were out of it and stopped reading ( should unsubscribe though ).
<two-face> you're not
<two-face> nobody would bother reading anyway
<sam_> ah, the "is caml a fraud" guy :-)
<olczyk> mrvn_: So I sym link /home/olczyk/caml/standardlibraries to the libraries. Where do I put lablgtk?
<two-face> sam_: you got it
<two-face> sam_: googles helps a lot discovering the massacre as well
<mrvn_> Whats the difference between ocaml 3.06 and 3.06-1?
<mrvn_> olczyk: /home/olczyk/caml/lablgtk
<two-face> mrvn_: libdir
<mrvn_> Anything that makes source incompatible?
<two-face> no
<two-face> you just install lib in ocamlc -where
<two-face> which is now /usr/lib/ocaml/3.06
<olczyk> mvrn_: That won't work I have to set OCAMLLIB to /home/olczyk/caml/standardlibraries and then you won't be able to use lablgtk.
<mrvn_> olczyk: then you put lablgtk in /home/olczyk/caml/standardlibraries
<steele> ls
<steele> sorry wrong window ;)
<olczyk> DOH. standardlibraries is a sym link to a system directory, which I shouldn't be able to write to. Do you ever think things out?
<mrvn_> olczyk: no, you should link the dirs and not the lib
<mrvn_> s/dirs/libs/ s/lib/dir/
<mrvn_> doh, your confusing me.
<olczyk> ANd where do I pu the link? There is no place I can put the link where I can both 1) create it 2) get it used by caml.
<olczyk> steele: Can I use findlib with packages/projects that other people write?
<mrvn_> olczyk: mkdir ~/ocaml-libs; for i in default-libs; do ln -s $i ~/ocaml-libs; done; ln -s lablgtk/lib ~/ocaml-libs; export OCAMLLIBS=~/ocamllibs
<mrvn_> +-
<mrvn_> Or compile your own ocaml and set its ld.conf file correctly.
<steele> some projects use findlib and need it (eg. ocamlnet)
<steele> i guess other would be happy about a patch with a findlib target for their makefiles
<steele> s/other/other projects/
<olczyk> steele: What I'm asking is this. I get a project FOO that uses lablgtk. I have the source, but I'm not supposed to
<olczyk> muck around with it. Can I use findlibs to get it to configure FOO to find lablgtk.
<steele> no you can't, other people install lablgtk in `ocamlc -where` and don't need this
<steele> _you_ need this, make patch that supports both and hope that it gets accepted, thats how opensource works
<olczyk> mrvn_: You've linked everything to ~/ocaml/libs. That *won't* work.
<mrvn_> Why? You said ocaml would look there for the libs.
<olczyk> Doh. You've linked everything to ~/ocaml-libs. Only the first or last survives ( depending on your OS ).
<mrvn_> olczyk: since ocaml-libs is a dir all survive
docelic has joined #ocaml
skylan has joined #ocaml
jao has joined #ocaml
<olczyk> Hmm. You're right. That's something that I didn't know about ln.
<mrvn_> yeah, nice feature. Comes in handy
<olczyk> steele: The problem is that where I work every senior developer ( me included ) expects development environments to allow you to put libraries seperate directories. Anyone who has worked on big projects ( especially those who have worked on projects that became a mess ).
<olczyk> steele:They don't want to spend programmers time. They don't want to maintain a seperate code base. They don't mind paying for support ( or licenses ) but not for something that should have been there in the first place. Nothing so *trivial*. They start to think: "If there is such a trivial flaw, then what other problems are there?".
<olczyk> steele: Also before I do it, I thought I should ask. Makes no sense to implement the same feature twice :)
<olczyk> steele: mrvm_'s solution works, but I think they will find it too messy. I guess they will look elsewhere.
<steele> olczyk: i see your point
docelic has quit ["workk"]
<steele> but the question is if such support belongs in the compiler or if -I/-L is enough
<steele> and you handle this with configure options or environment vars in the makefiles
<olczyk> The question is what do you do if you have to outsource a part and the consultants don't follow the rules. Or if there is someone new etc.
<olczyk> Every environment that we've used has allowed the compiler/environment the ability to config8ure paths.
<olczyk> And if you move directories around a lot.
<olczyk> Sigh. Time to go.
olczyk has quit []
gene9 has joined #ocaml
two-face has quit ["Client Exiting"]
jao is now known as jao_away
Kinners has joined #ocaml
Zadeh has joined #ocaml
whee- has joined #ocaml
whee has quit [Killed (NickServ (Ghost: whee-!bph8876@grace.isc.rit.edu))]
whee- is now known as whee
Zadeh_ has quit [Connection reset by peer]
jao_away has quit ["ERC vVersion 3.0 $Revision: 1.329 $ (IRC client for Emacs)"]