Alpounet changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | 3.11.1 out now! Get yours from http://caml.inria.fr/ocaml/release.html
lpjhjdh has joined #ocaml
Alpounet has quit [Read error: 104 (Connection reset by peer)]
Alpounet has joined #ocaml
<lpjhjdh> so I'm trying to get lablgtkmathview installed and it's saying ocamlfind query gdome2 fails
<lpjhjdh> I have gdome2 but I don't see an entry in ld.conf and there is no META file
<lpjhjdh> I've got gdome2 v 0.8.1
<palomer> oh lord
Submarine has quit [Read error: 110 (Connection timed out)]
Pimm has quit [Read error: 110 (Connection timed out)]
Mr_Awesome_ has quit [Read error: 110 (Connection timed out)]
infoe_ has joined #ocaml
eldragon has joined #ocaml
lpjhjdh has left #ocaml []
julm has quit [Remote closed the connection]
julm has joined #ocaml
lanaer_ is now known as lanaer
julm___ has joined #ocaml
julm has quit [Read error: 104 (Connection reset by peer)]
julm___ is now known as julm
struktured has quit [Read error: 110 (Connection timed out)]
tmaedaZ0 is now known as tmaedaZ
ikaros_ has quit ["Leave the magic to Houdini"]
bogen has joined #ocaml
<bogen> hello
ofaurax has quit ["Leaving"]
<bogen> well, I have a coworker who is very interested in ocaml, but he is a big proponent of being able to connect with a debugger to a running app after it has launched
<bogen> and won't really consider ocaml's use other wise
<bogen> I've played around with it some and have not been able to figure out if one can do that
<bogen> without starting the debugger first
r0bby_ is now known as r0bby
<bogen> without his backing I'll have a hard time promoting it's use
joewilliams has quit [Remote closed the connection]
tmaedaZ is now known as tmaedaZ0
Alpounet has quit ["``Do what you think you can't do.'' -- E. Roosevelt"]
tmaedaZ0 is now known as tmaedaZ
<thelema> bogen: well, there's ocamlviz, but that's not quite a full gdb
<thelema> is there any non-VM language that one can attack debuggers to at runtime?
<bogen> ocamlviz is graphical
<bogen> native code languages that you can attach a debugger at runtime?
<bogen> gdb with natively compiled C/C++, SwiftX with natively compiled Forth
<bogen> natively compiled is what you mean by non-VM?
<bogen> personally I don't see as much of need for a full gdb type debugger with a language like ocaml
<bogen> one is not going to run into all the long list of problems one has with C
<thelema> you can use gdb with ocaml
<thelema> I didn't realize gdb could attach to c at runtime
<thelema> It seems that it should be as easy to attach it to a natively compiled ocaml program as C
<bogen> you can? and you to step through machine code? or ocaml code?
<bogen> I'll give it a try
<thelema> ocaml code
<bogen> hmm
<bogen> cool
<bogen> it works
<thelema> Well, now you can sell ocaml properly.
<bogen> yeah
<bogen> a couple things I need to figure out first
<bogen> as far as symbol naming
<bogen> etc
<bogen> thanks thelema, it did not even occur to me that gdb would support ocaml
<bogen> for some reason....
<thelema> there's an ocamldebug program for bytecode, but yes, ocaml uses gdb for native debugging.
<bogen> ok, well, I'm going to have to figure out how to set the breakpoints in gdb
<bogen> I know how to do it with c code
<bogen> but it is not acting the same with ocaml code
<thelema> sorry, not a gdb expert
<bogen> no problem
<bogen> I just googled a bit for it, others have having similar problems
* bogen is not a gdb expert either, just knows enough to be dangerous...
<bogen> it is still pending
<thelema> aw, drat.
<thelema> odd, I don't recall watching that bug...
<bogen> well, I'm going to try to apply the patch and see if it works. If it does, I can just put the patch into my PKGBUILD and make another package
joewilliams has joined #ocaml
Associat0r has quit []
<bogen> ok, that only affects 386 output
<bogen> I'll have to path x86_64 as well
_unK has quit [Remote closed the connection]
<bogen> ok, well, at least I can break on function entry points now... I'll attach the patch to the tracker
joewilliams has quit [Remote closed the connection]
eldragon has left #ocaml []
fx___ has joined #ocaml
Submarine has joined #ocaml
ygrek has joined #ocaml
pad has quit [Remote closed the connection]
Alpounet has joined #ocaml
ttamttam has joined #ocaml
ygrek has quit [Remote closed the connection]
smimou has quit [Read error: 110 (Connection timed out)]
ygrek has joined #ocaml
ygrek has quit [Remote closed the connection]
bogen1 has joined #ocaml
bogen has quit [Read error: 113 (No route to host)]
ulfdoz has joined #ocaml
ttamttam1 has joined #ocaml
noisetonepause has joined #ocaml
ski_ has joined #ocaml
_zack has joined #ocaml
ttamttam has quit [Read error: 110 (Connection timed out)]
ttamttam1 has quit ["Leaving."]
ygrek has joined #ocaml
Narrenschiff has joined #ocaml
ofaurax has joined #ocaml
mal`` has quit ["Coyote finally caught me"]
mal`` has joined #ocaml
BiDOrD has quit []
noisetonepause has quit ["Leaving."]
BiDOrD has joined #ocaml
bogen1 is now known as bogen
Submarine has quit [Read error: 60 (Operation timed out)]
Associat0r has joined #ocaml
Submarine has joined #ocaml
munga has joined #ocaml
tmaedaZ is now known as tmaedaZ0
tmaedaZ0 is now known as tmaeda
ttamttam has joined #ocaml
ofaurax has quit [Read error: 54 (Connection reset by peer)]
tmaeda0 has joined #ocaml
philed has joined #ocaml
tmaeda has quit [Read error: 110 (Connection timed out)]
ttamttam has quit ["Leaving."]
ikaros has joined #ocaml
ofaurax has joined #ocaml
__mattam__ is now known as mattam
munga has quit [Read error: 110 (Connection timed out)]
philed has quit ["Leaving"]
smimou has joined #ocaml
eldragon has joined #ocaml
EliasAmaral has joined #ocaml
Narrenschiff has quit []
jcaose has joined #ocaml
_zack has quit ["Leaving."]
* thelema works on releasing batteries
<thelema> any last minute requests from the peanut gallery?
<EliasAmaral> what is the peanut gallery?
gareth_0 has joined #ocaml
<mfp> thelema: why did you remove extlibcompat.ml?
<thelema> it's in Batteries.ml
<olegfink> has anyone played with metagene or can tell me something about ml->c++ template language translation? :-)
<mfp> wasn't the plan to allow open Extlibcompat for source-level compat?
<mfp> ah OK
<thelema> I think
<olegfink> (and don't ask why I need that)
<thelema> yes, Batteries.Extlib
<gareth_0> hi, is there a defacto standard for ocaml gui?
<thelema> gareth_0: gtk
<thelema> olegfink: sorry - no idea.
<mfp> thelema: README needs to be updated
<gareth_0> thelema, should i use lablgtk1 or lablgtk2?
<EliasAmaral> i think that mldonkey is the most used ocaml graphical app (or one of most useds), and seems to have a community
<EliasAmaral> i think it uses wxwidgets, that is compatible with gtk
<thelema> gareth_0: 2
<thelema> EliasAmaral: unison is up there, and it uses lablgtk2
gareth_0 has quit [Remote closed the connection]
_unK has joined #ocaml
<thelema> s/up there/commonly used/
<EliasAmaral> don't know about them. but i really favour gtk
<EliasAmaral> i am still confused about what is exactly a peanut gallery, i am reading wiktionary
Pimm has joined #ocaml
<EliasAmaral> maybe it's just a idiom
<palomer> it's an idiom, for sure
gareth_0 has joined #ocaml
<EliasAmaral> palomer, i would love to use your library. in fact i would love to like some libraries out there, that use lots of objects that doesn't really fits on my head
<thelema> it's definitely an idiom, it's a pejorative term for one's audience
<EliasAmaral> i seem actually isolated with my functional style
<EliasAmaral> ops.
<EliasAmaral> thelema,
<mfp> is this true? -> Iceweasel can't find the server at forge.ocamlcore.org. ... "It's just you. http://forge.ocamlcore.org is up."
<EliasAmaral> (i was talking about batteries; never saw it but i will look for sure later)
<thelema> mfp: works for me
<thelema> EliasAmaral: for batteries, look at http://github.com/thelema/AAA-batteries
<mfp> wth Host forge.ocamlcore.org not found: 3(NXDOMAIN) :-/
<thelema> thelema@thelema-laptop:~/batteries$ host forge.ocamlcore.org
<thelema> forge.ocamlcore.org has address 87.98.154.45
<thelema> dns problems
<EliasAmaral> thelema, do you have online doc? ok i am sure you have
<mfp> thx
<palomer> EliasAmaral, you know about my library?
<EliasAmaral> does batteries overlap with other proposals, like extlib?
<thelema> EliasAmaral: batteries extends extlib a lot
<mfp> thelema: what's this? didn't know github was giving web hosting
<EliasAmaral> palomer, ermm... i was actually trying to talk to thelema. do you have a lib?:)
<EliasAmaral> thelema, so it is meant to be used in conjunction with
<thelema> it replaces extlib
<palomer> I'm about to release another version in the coming weeks
<mfp> thelema: have you replaced ocamlinit already? I remember I found a reasonable solution, but not what it was or who was going to implemented it :)
<thelema> yes, I remember you coming up with a solution that sounded good... Where's those #ocaml logs?
<EliasAmaral> hmmmm. i was thinking of using ocamllex/ocamlyacc to build a minilanguage, i could use oset instead? (I don't know how to use ocamllex / ocamlyacc yet)
<palomer> yeah, oset is great for prototyping
<mfp> Dec 08 16:23:40 <mfp>so Toploop.use_silently Format.err_formatter (Filename.concat (Findlib.package_directory "aaa") "aaa.ml");;
<EliasAmaral> I was using some ocaml standard lib for it but it unfortunately only handled ocaml base syntax, (* *) for comments etc
<EliasAmaral> but it was nice to play with :)
<thelema> hmm, so we recommend people put that in their .ocamlinit?
<palomer> you used the standard lib for parsing?
<palomer> which module?
<EliasAmaral> palomer, i am trying to find
<EliasAmaral> palomer, it generated a list or a stream of tokens
<mfp> thelema: yup
* thelema tries it out
<mfp> then need to update the install target to install aaa.ml
<EliasAmaral> http://caml.inria.fr/pub/docs/manual-ocaml/libref/index.html i just can't find the module..
<thelema> mfp: that part is easy - I've gone back and forth on that at least once.
<EliasAmaral> Genlex
<mfp> and uh rename ocamlinit to aaa.ml, update README, that should be it (?)
<thelema> yup, that's what I'm doing
<thelema> I think I might provide an example ocamlinit that people can just copy.
<thelema> a really simple #use topfind, and that line
<thelema> mfp: great
<EliasAmaral> palomer, you have setup.. youtube videos for your examples?
<thelema> hmm, too much findlib noise...
<EliasAmaral> palomer, maybe you should write down in the page (with proper highlighting) the snippet code, i have no flash here
<mfp> wow the new lwt.top shows keywork completions as you type o.O
<EliasAmaral> palomer, in fact you have a nice manual but.. do you have a online browseable api?
<mfp> it takes over rlwrap and doesn't let me use vim bindings, though :-(
<thelema> mfp: yes, I'd really like to get the lwt.top in batteries
<palomer> EliasAmaral, you can pretty much stick to the lone function SEditable.input
<palomer> EliasAmaral, and then use the "with seditable" directive
<palomer> (or grammar, if you want to get fancy)
<thelema> mfp: but I have the feeling that'd require using all of lwt as a dependency
<mfp> I think so
<EliasAmaral> palomer, i am not with ocaml here, i would just like to peek the library interface
<thelema> mfp: this isn't necessarily bad, just difficult
<mfp> it'd be problematic since Lwt is moving very fast
<palomer> EliasAmaral, there is no real interface, really
<gildor> mfp, thelema: what is the problem with the DNS of forge.ocamlcore.org ?
<EliasAmaral> palomer, Hmmm what do you mean? the semantics is always-changing?
<mfp> gildor: must be a problem with my ISP's DNS server
<gildor> mfp: I seem to also have this problem
<palomer> EliasAmaral, nope, but there is only 1 function and 3 methods you can use. the 3 methods are generated by camlp4
<mfp> oh, then some European DNS server :?
<thelema> gildor: no problem from my end - forge.ocamlcore.org works fine
<palomer> EliasAmaral, as for the internal API, it's a mess
<EliasAmaral> palomer, anyway, a documentation on this stuff would be useful for people like me -- a tiny interface is actually better than a larger one, if it does the job
<palomer> EliasAmaral, the whole interface is 1 function.
<EliasAmaral> palomer, look at http://caml.inria.fr/pub/docs/manual-ocaml/libref/Genlex.html , this is a two-function module; this doc on this module is invaluable
<palomer> right, but most of the doc is an example
<palomer> which is in my manual
<EliasAmaral> Hm :)
<palomer> trust me, if you read the first small chapter of my manual you will understand most of my library
<EliasAmaral> i liked the whole idea of not using ocamllex/yacc by now, i will try to use your lib
<palomer> though I would need an API for the more advanced features
<EliasAmaral> what's the license?
<palomer> GPL V3
<EliasAmaral> seems fine:)
<palomer> well, im off
<palomer> bbl
<gildor> mfp, thelema: sdns1.ovh.net seems to be down
<gareth_0> hi, why are librarys called "labl"...?
<EliasAmaral> i don't know either..
<EliasAmaral> maybe just because they are from the same person?
<Camarade_Tux> because they use labels I think
<EliasAmaral> hmm
<gareth_0> :P
<thelema> they're the labeled versions of the libraries
<Camarade_Tux> lablgtk makes *extensive* use of labels and polymorphic variants
<mfp> maybe because they were originally developed for olabl?
<gareth_0> hmm thx Camarade_Tux
<Camarade_Tux> that's how *I* understand it but currently all labl* libraries are from the same guy
<mfp> at some point labels existed only in an OCaml branch named OLabl IIRC
<mfp> which was merged into OCaml around 2.x
<EliasAmaral> is this true that all ocaml programmers pick a % of the language that they like and use and the rest they treat as deprecated? i mean this happens in every programming language, but on some this is more noticeable. (c++ being the obvious example)
<EliasAmaral> (I myself don't like objects very much.. there are some people that don't like mutable data.. ok i don't like mutable data sometimes.. and so on)
<thelema> EliasAmaral: do you use the entire english language when you speak/write (or whatever your native language is)?
<thelema> I'd argue that you don't, you use a "complete enough" subset of it
<thelema> it's the same thing in programming
<EliasAmaral> thelema, heh. C folks often says that their language is optimal in this aspect. it's incredible for me, the language is so small
<EliasAmaral> the best c programmers can argably use all and every feature of C and C preprocessor
<EliasAmaral> which is not very much. ocaml programmers shouldn't
* Camarade_Tux goes back to his lablwebkit code :P
<EliasAmaral> lablwebkit?
<thelema> sure. And the best writers will use a large variety of the language they write in.
<EliasAmaral> webkit-gtk renders it into html?
<EliasAmaral> no, it is a html rendering engine
<EliasAmaral> now i am confused
<Camarade_Tux> hahaha, bindings to webkit-gtk
* thelema chukles at the "OCaml is broken!" post on caml-list
<Camarade_Tux> I did that too this morning actually
<EliasAmaral> thelema, print_bool. I wonder why this isn't in pervasives yet. and many other things, like identity.. OCaml isn't a very "stable" language..
<thelema> mfp: was our conversion strategy from extlib really "open Batteries.Extlib"?
<Camarade_Tux> actually it reminds me of someone who posted on this channel: he had tried ocaml but said ocaml automatically use the appropriate packages when building, and left
ygrek has quit [Remote closed the connection]
<mfp> thelema: I thought it was just open Extlibcompat
<gildor> mfp, thelema: sdns1.ovh.net back online
<mfp> which is more or less equiv
<gildor> works fine now
<thelema> I seem to have put that in batteries. I'll pull it back out. I like extlibcompat better, somehow
<EliasAmaral> i wrote an ad-hoc input_file many times. with Buffer.t mainly. and it's somewhat error-prone
<thelema> gildor: ok, still working for me.
<gildor> mfp, thelema: sorry the problem comes from OVH
<thelema> but with the way DNS caches, that shouldn't be a surprise
<mfp> yup, working again for me
<gildor> mfp, thelema: I was just filling an incident report when it comes back to life
<thelema> gildor: no problem.
<gildor> thelema: I was not using cache to test things: dig @sdns1.ovh.net forge.ocamlcore.org returned a timeout
<gildor> thelema: now it is answering correctly
<thelema> gildor: n/m. Thanks for fixing it.
<thelema> hmm, when I run that dig, I get a "no servers could be reached" message
<gildor> thelema: but it only last less than 1 hour, almost undetectable for 80% of users, some which have flushed their DNS cache, get strange answer
<thelema> maybe it's because I'm not in eurpoe
<gildor> thelema: 30 minutes ago http://www.afnic.fr/outils/zonecheck/zc.cgi?zone=forge.ocamlcore.org&afnic=t was returning an error,
<gildor> thelema: now everything is correct
<gildor> thelema: I think something has hit sdns1.ovh.net and things get back on their way, but it could take time
<thelema> ah, it worked now.
<gildor> still quite unstable
<Camarade_Tux> I can't git-push ='(
<thelema> ??? unzip not in batteries?
<mfp> what?
<gildor> Camarade_Tux: DNS problem at OVH, it will come back to normal (but it is not in my hand)
<thelema> mfp: the unzip module from extlib doesn't have an equivalent in batteries
<mfp> uh never used Extlib's Unzip
<thelema> apparently few have, as there's never been any complaint
<thelema> I'm only noticing it as I build extlibcompat.ml
<mfp> it inflates IO.input hmm
<mfp> I'm sure there's something in batteries that does that
<thelema> we have gzip
<mfp> only gzip? I thought we also had deflate
<thelema> apparently not
<mfp> Unzip's got its own deflate implementation, it doesn't use Zlib (!)
<thelema> yup
<thelema> no external dependencies
<mfp> what are we going to do with camlzip/zip and (full) Batteries' gzip support?
<thelema> I want to drop them for this RC
<mfp> you removed them a while ago, didn't you?
<EliasAmaral> .. if you are colleting a wishlist, bz2 might be useful too (maybe with a optional compile-time configure..)
<mfp> what about post-RC?
<thelema> post rc, I want all compression/decompression following the Compressors interface
<thelema> err, Codec
<thelema> If we can get Xavier's cryptolib in there too, I'd be happy
<Camarade_Tux> gildor: yeah, I saw, was only joking ;-) and I'm used not to git-push during long periods now =)
<mfp> thelema: sounds doable. So cryptokit & camlzip would become (hard) dependencies?
<EliasAmaral> somebody will consider doing high-level network code in batteries? many language nowdays comes with their own http mini client..
<mfp> making them optional represents some devel cost for us, and they're available everywhere (Fedora, Debian, GODI...)
<thelema> yes. They're very stable modules, and I'm an admin for camlzip, and have sent in patches for cryptokit, so may be able to make them easier for batteries to use
<thelema> probably by adding findlib support to camlzip peopre
<thelema> *proper
<mfp> camlzip doesn't have a META?
<thelema> no, each distro that packages it makes one.
<mfp> so the one I've been using was writing by Debian uh
<thelema> which is where the findlib naming problem scame from
<mfp> well, no diff in practice besides the name pb then
<Camarade_Tux> aren't we more likely to see a META for camlzip now? https://forge.ocamlcore.org/projects/camlzip/
ygrek has joined #ocaml
<thelema> Camarade_Tux: yes, I'm now an admin for that project, I just need to check in the patch I made.
<thelema> and hope that it doesn't fail too badly for someone.
<gildor> Camarade_Tux, thelema: hope you copy it from Debian
<gildor> (the META i mean)
<thelema> gildor: IIRC, that was the consensus when rwmjones and someone else tried to figure out the best naming
<bogen> thelema: regarding GDB and OCaml, it works minimally at the moment, but there is a lot of work to be done. (I'll try to help out in that regard as my time permits)
<thelema> bogen: great. Ocaml can definitely use better debugging tools.
<gildor> thelema: ok great
<gildor> thelema: will you also use ocamlfind to install the library ?
<thelema> I'll have to also add a makefile target for installation
<thelema> I think this is pretty straightforward, though
<bogen> thelema: I'll need to research if GDB works with other cactus stack languages. Well, hmm... GCC allows cactus stacks, in a limited manner.
<bogen> (well, more to the point, GCC allows for nested functions and closures)
<gildor> ocamlfind install zip META *.cmi *.cma $(wildcard *.cmxa) ...
<thelema> is install-findlib an appropriate makefile target, or should it use findlib on a default install?
<gildor> does install target already exist ?
<thelema> yes
<gildor> install-findlib seems fine, so
<thelema> and installopt
<thelema> but I'll install everything
<thelema> on findlib install
<gildor> if you use the wildcard trick, yes you can
<thelema> I just wondered if there was a standard already - I know GODI has requirements for makefiles
<gildor> there is a GODIVA packaging policy
ikaros has quit ["Leave the magic to Houdini"]
<thelema> is there any reason not to install *.mli?
<gildor> it is better to install *.mli
<gildor> except if *.mli is younger than matching .cmi
<gildor> in this case, this is not good
<thelema> ok, *.a have to be installed, no problem.
<thelema> libcamlzip.a and zip.a
<thelema> but what about this dllcamlzip.so?
<gildor> yes you need to install it
BiDOrD has quit [Read error: 110 (Connection timed out)]
* thelema copies the code from the install target, as it doesn't seem to go into the ocamlfind dir
fx___ has quit [Read error: 110 (Connection timed out)]
<thelema> does it?
jcaose_ has joined #ocaml
BiDOrD has joined #ocaml
jcaose has quit [Read error: 110 (Connection timed out)]
gareth_000 has joined #ocaml
gareth_0 has quit [Remote closed the connection]
gareth_000 has quit [Remote closed the connection]
gareth_000 has joined #ocaml
_zack has joined #ocaml
bogen has quit [Read error: 110 (Connection timed out)]
bogen has joined #ocaml
TaXules_ has quit [Remote closed the connection]
TaXules has joined #ocaml
johnnowak has joined #ocaml
ttamttam has joined #ocaml
hugin_ is now known as hugin
_zack has quit ["Leaving."]
caligula has joined #ocaml
ttamttam has quit ["Leaving."]
Pimm has quit [Read error: 110 (Connection timed out)]
Amorphous has quit [Read error: 110 (Connection timed out)]
Amorphous has joined #ocaml
<thelema> can someone check out svn of camlzip and verify that the install-findlib target works for them?
<thelema> svn://scm.ocamlcore.org/svnroot/camlzip
<Camarade_Tux> any way to check without actually installing it?
<Camarade_Tux> hmmm, -destdir?
<thelema> :( I don't know of any
<thelema> you'd have do kludge the makefile at least
<Camarade_Tux> seems to work (I used "ocamlfind install -destdir")
<thelema> thank you very much
<thelema> at least I didn't make a huge mistake in my checkin
* thelema isn't a SVN expert
bogen has quit [Read error: 110 (Connection timed out)]
<Camarade_Tux> np :-)
bogen has joined #ocaml
<Camarade_Tux> it's been a long time I used svn, I was happy to remember "svn co" ;-)
johnnowak has quit []
<thelema> is there a real reason for Batteries to depend on stdlib's map implementation and go through hoops to get at the internals?
<thelema> I'm thinking of having a Batteries.Trees package with various types of trees implemented (splay, Red-black, AVL, OCaml's modified AVL, etc) and allow set/map to work over them...
<thelema> kind of like the relationship between Camomile's ISet/IMap and AvlTree
<thelema> TODO, I think.
tmaeda0 is now known as tmaedaZ
<mfp> thelema: binary compatibility
<thelema> huh? is there ever binary compatibility in the ocaml world?
<mfp> in this case
<thelema> what's the use case?
<mfp> you can use ExtSet functions with sets created by 3rd party libs that use the std Set
<thelema> hmmm...
struktured has joined #ocaml
<thelema> Is that a big deal? You can always just use regular set functions on those sets.
<mfp> but not the extra ones
<mfp> so you'd have to change your libs to use AAA's sets
<thelema> There's all sorts of functions you can't use
<thelema> You'd have to do that to get the functions that AAA adds, but I can't say we've got anything particularly compelling, except maybe conversion to enum
<mfp> mostly enum, print, keys, values, filter, and ExceptionLess
<mfp> how would you implement Batteries.Trees's sets/maps? by functorizing over a tree?
<thelema> keys/values is very nice for maps...
<thelema> look at AvlTree with ISet
<thelema> now batAvlTree, batISet
<thelema> but there'd need to be a functorized version too to allow pluggability
<thelema> There'd be one Set module with all the set functions, created by including the default functor parameter
ski_ has quit ["Lost terminal"]
<thelema> and a submodule that (I guess would have to have a duplicate of all the code :( ) that'd be functorized to use whatever tree one wanted
<thelema> also, the impacts of the 3.12 changes on batteries' design haven't been thought out.
<thelema> But that's another TODO
bogen has quit [Read error: 113 (No route to host)]
bogen has joined #ocaml
ttamttam has joined #ocaml
gareth_0 has joined #ocaml
<thelema> mfp: I'm planning on releasing batteries as 0.9.1 per http://semver.org/
ski_ has joined #ocaml
<thelema> hmm, we lost some pretty in the rebuild of aaa's docs
<thelema> I'm going to try to get it back
gareth_000 has quit [Remote closed the connection]
alp_ has joined #ocaml
ulfdoz has quit [Read error: 110 (Connection timed out)]
Narrenschiff has joined #ocaml
Alpounet has quit [Connection timed out]
ikaros has joined #ocaml
jcaose_ has quit [Read error: 110 (Connection timed out)]
ttamttam has quit ["Leaving."]
<gareth_0> does anyone know how to get lablgtk2 working with ocamlbuild?
<thelema> gareth_0: step 1: install lablgtk2 with findlib
<gareth_0> "ocamlbuild -libs lablgtk -cflags -I,+lablgtk2 -lflags -I,+lablgtk2 guitest.byte" <-- builds but segfaults on running
<thelema> step 2: use findlib-aware ocamlbuild
<thelema> err, findlib-aware myocamlbuild.ml
<gareth_0> i already have lablgtk2 installed
<gareth_0> i dont have findlib
<gareth_0> compiling using ocamlc works as expected
<thelema> here's a tiny project using lablgtk2 and ocamlbuild: http://github.com/thelema/coml
<thelema> oh, no findlib?
<thelema> hmmm... I've never used lablgtk2 w/o findlib.
<thelema> Try using findlib.
ikaros_ has joined #ocaml
<gareth_0> i need to download your myocamlbuild.ml?
<thelema> that would help if you were using findlib.
gareth_0 has quit [Remote closed the connection]
gareth_0 has joined #ocaml
<thelema> this myocamlbuild has the needed magic for ...
<thelema> that's odd - apparently I don't use findlib with lablgtk2.
<thelema> wow, it's been a *long* time since I made this makefile
<thelema> Try just using a modification of my makefile
<thelema> I remember it being quite picky to get working
<thelema> maybe the order of your arguments is causing a problem
<thelema> my myocamlbuild.ml is just needed for the tags to work... ah, unix
<thelema> don't forget the unix tag, I think lablgtk might want that.
<thelema> myocamlbuild is needed for the pkg_* tags to work
<Camarade_Tux> gareth_0: segfault? tried running in gdb?
<thelema> unis, debug, thread, annot can be used w/o myocamlbuild.ml
<thelema> *unix
<Camarade_Tux> and do you get anything output on stderr first?
<gareth_0> Camarade_Tux, stderr output: http://pastebin.com/m51baa67d , will need to lok up how to use gdb
<Camarade_Tux> gareth_0: run "gdb yourapp.native", then in gdb, type "run", when it segfaults, type "bt", you can quit with Ctrl+D twice in a row
<Camarade_Tux> gareth_0: hmmmm, looks like my problem a few hours ago :P
<Camarade_Tux> gareth_0: run ocamlbuild with -classic-display and pastebin the commands it run
ikaros has quit [Read error: 104 (Connection reset by peer)]
<Camarade_Tux> but the point is you have to link against gtkInit.cmx, and you probably don't (surprising how same issues come out at the same time :p )
<Camarade_Tux> gareth_0: also, why no ocamlfind?
<gareth_0> thanks Camarade_Tux, gdb output is here: http://pastebin.com/m7b77bb51 , ocamlbuild with -classic-display doesnt print anything (not even the usual line)
<Camarade_Tux> gareth_0: 'rm -r _build'?
<gareth_0> that did it
<gareth_0> i dont know what ocamlfind is or why i dont have it
<Camarade_Tux> gareth_0: on which platform are you? how did you install ocaml? any specific constraint?
ulfdoz has joined #ocaml
<gareth_0> im on ubuntu 9.10 (uname -r is "2.6.31-16-generic"), i installed ocaml from synaptic, constraints on what ?
<Camarade_Tux> and ocamlfind is a way to ease compilation and ocaml package management
<Camarade_Tux> constraint on where you're going to run the app, but if you're on ubuntu I guess you probably don't have many
<Camarade_Tux> thelema: aren't you running ubuntu?
<thelema> yes
<thelema> gareth_0: sudo apt-get install findlib
<thelema> gareth_0: if you can share your code, we may be able to help - the problem doesn't seem to be in compilation.
<thelema> I admit that lablgtk shouldn't segfault, but apparently it does.
<Camarade_Tux> thelema: it's in the C and I think the gtk error messages are exactly the same I got when I was using ld-ocaml without linking against gtkInit.cmx
<gareth_0> it is the http://www.ocaml-tutorial.org/introduction_to_gtk, however i can compile using ocamlc and it works
<thelema> yup, you're not compiling with gtkInit.cmo
<thelema> add the line [let _ = GtkMain.Main.init ()] to the beginning of your source
<thelema> after the [open]s
<gareth_0> wow, works
<gareth_0> thxx!
<Camarade_Tux> \o/
<thelema> The gtkInit.cmo thing is a bit of a hack.
<thelema> My opinion is that as much as possible should be in your source file, and as little as possible on the command line to compile
<thelema> which is one major objection I have to camlp4
<Camarade_Tux> ocamlfind helps however: I have "pkg_mikmatch_pcre, syntax_camlp4o" in my _tags and that's it
<gareth_0> (i think it should just work without writing it anywhere...)
<Camarade_Tux> (we should all be rich and happy without doing anything ;-) )
<gareth_0> (what i mean is, the information is already on my system, isnt it, so it should be intelligent and find it)
<thelema> ocamlfind suffers from the same problem - putting the information on dependencies outside the file. ocamlbuild tags should be able to be part of the file
<thelema> a magic comment if nothing else is possible.
<thelema> I admit there are reasons to use project-wide tags, and having those in _tags is ok.
<thelema> But especially camlp4, which changes the meaning of the contents, should be specified at the beginning, so you know what context the following will be evaluated in
<Camarade_Tux> I'm not really for all-automatic, often fails
<Camarade_Tux> as for _tags, three easy lines sounds ok
<thelema> it's not the size of tags, it's that tags aren't possible to put in files, so the _tags file isn't even needed in the first place
Pimm has joined #ocaml
<gareth_0> all automatic relies upon convention, which needs to be specified early on before lots of people develop their own...
<thelema> Well, OCaml is still a small language.
mjsor has joined #ocaml
<Camarade_Tux> I see how one could want something like in python but what ocaml has right now is perfectly fine for me and I don't fancy python's way at all
<thelema> python's way of specifying dependencies?
<thelema> I don't know python that well - I do appreciate Perl's dependency handling
<Camarade_Tux> afaik, "import" serves that purpose
<thelema> you don't like specifying dependencies at the top of your file?
<Camarade_Tux> I know python's "import" because it's at the top of files so I read it before giving up on trying to understand python code :P (I can't read python, doesn't make sense to me)
<thelema> s/file/source/
<Camarade_Tux> thelema: no, not that I don't like:
<Camarade_Tux> I see how nice it can be but I really don't mind
<thelema> you don't mind specifying dependencies on command line or in _tags
<thelema> or in Makefile
<Camarade_Tux> command-line is ok for me but _tags is nicer (much more concise, readable and editable)
* thelema likes self-contained pieces, and when you have even tiny pieces of information external (in tags, needed on command line, etc) you lose that
<thelema> I wouldn't mind it if the tags could be put in the header of the file
<thelema> especially if most myocamlbuild.ml tag extensions could be system-wide, installed with findlib/etc.
<Camarade_Tux> I wouldn't either but I find what we have currently is ok, actually with some sed-magic you could emulate that
bzzbzz has quit ["leaving"]
<thelema> but then you'd need sed-magic in your build system
<thelema> another external piece of information
<thelema> if the sed-magic was built in to ocamlbuild, that'd work for me.
bzzbzz has joined #ocaml
<Camarade_Tux> olegfink: btw, short tutorials quickly grow and limiting a tutorial to reading is pretty hard ;p
gareth_0 has quit [Remote closed the connection]
ygrek has quit [Remote closed the connection]
mjsor has quit []
Submarine has quit ["Leaving"]
_y_ has joined #ocaml
_y_ has quit []