<thelema>
tautologico: and I just use the M-/ for completion
<tautologico>
hm, I can't see it in the code... tuareg does use the show-type (and caml-help and caml-complete) from caml-mode if present
<thelema>
tautologico: then I guess I'm using tuareg + caml-mode
<tautologico>
thelema:
<thelema>
although afaik, I don't use -help or -complete
<tautologico>
thelema: does it work well?
<tautologico>
it seems to be based on -annot output from the compiler
<thelema>
tautologico: well enough for me.
<thelema>
yes, the type completion is based on -annot
<thelema>
and sometimes, I have to remember to turn it on, but as I use ocamlbuild for just about everything, this is just putting "true: annot" in the _tags file
<tautologico>
cool
<tautologico>
I was testing ocamlbrew yesterday, worked very well with odb... the only step missing to get a working configuration for me would be the emacs setup
<tautologico>
fortunately there's a tuareg-mode package in the marmalade repo for emacs
<thelema>
tautologico: it's been a *long* time since I messed with tuareg, I don't even remember how I got it set up right
<tautologico>
with a recent emacs, if you have the marmalade repo configured, you can just do M-x package-install and then type tuareg
<tautologico>
this doesn't install caml-mode though
<thelema>
ha, nice.
<thelema>
bah.
<thelema>
if you use ocamlbrew, you have a copy of the ocaml source tree, just grab it out of the emacs/ dir
<Drakken>
flux oops. I mean (Lwt_util.map Switch.info |- Lwt.return)
<tautologico>
thelema: yes, I know... it's just the convenience
<flux>
drakken, where would the part I had '...' go in your code?
<tautologico>
I was testing ocamlbrew in a virtual machine, to take a look at utop without installing a lot of stuff in my devel machines
<thelema>
tautologico: linux?
<tautologico>
thelema: yes, xubuntu 11.10
<thelema>
tautologico: ok, be warned that the Graphics module is probably not compiled; ocaml doesn't detect x11 on newer linuxes.
<tautologico>
I believe I can use an ocamlbrew installation for day-to-day development instead of GODI, most of the time
<thelema>
tautologico: good to have more confirmation of things working
<tautologico>
this is great to get people using ocaml with additional libraries
Tobu has quit [Ping timeout: 272 seconds]
<thelema>
tautologico: that's the hope - by making it easy to install libraries, the ocaml community will be able reuse code more efficiently
Julien_T has quit [Ping timeout: 252 seconds]
<thelema>
tautologico: sadly, the other part of the equation (using the installed code) is still a bit ugly, although ocamlbuild and -use-findlib helps a bunch
<thelema>
this may help with the code-rot problem that ocaml has - a ton of great ocaml code has been written, but it sits unused, rotting.
<thelema>
(well, except by its author)
<tautologico>
yes
<thelema>
:(, bisect takes a long time to run on batteries.
<tautologico>
testing coverage?
<thelema>
yup
<tautologico>
btw, is there a way to specify -use-findlib in _tags instead of always specifying it in the command line?
<flux>
drakken, here's another example: http://ocaml.nopaste.dk/p4619 - would that require another kind of combinator?
<thelema>
tautologico: not that I know.
raichoo has quit [Quit: leaving]
<thelema>
tautologico: I'm in the habit of using a makefile to drive ocamlbuild anyway, so...
<Drakken>
flux maybe it's just a bad example in the blog. The real issue isn't bind, it's "do" syntax.
<thelema>
tautologico: the equivalent of -use-findlib can be specified in your myocamlbuild.ml, which is what I still do.
<tautologico>
thelema: I see
<flux>
drakken, what "do" syntax?
<Drakken>
flux much better example.
<flux>
drakken, you mean the one like 'perform' in the blog post?
<Drakken>
flux perform is the OCaml version of "do" in Haskell.
<flux>
yes, well ocaml doesn't really have one, unless you use pa_monad (or pa_lwt)
<Drakken>
Okay, that's fine. I think that's what we're really talking about.
<flux>
so the blog post was primarily about that it's possible to write tolerable code without using a syntax extension
<flux>
for some values of tolerable :)
ikaros has joined #ocaml
<Drakken>
flux right. this looks like something out of a million Haskell monad tutorials :)
<flux>
hmm, so I'm trying to use first class modules for the first time
<flux>
I was thinking I could somehow package a module into a value (works), and then package a value of some type of that module into a value as well (failing)
<flux>
in principle, I imagine this is what I need if I want to do OOPy things with modules?
<flux>
so I have module type T = sig type t val foo : unit -> t end, and then I can have type t = { m : (module T) }
<flux>
but how do I package the T.foo's return value into that record as well?
<flux>
..the First-class modules and composable signatures in Objective Caml 3.12 whitepaper uses objects to do that..
<flux>
so perhaps it's a fool errand to emulate objects with first class modules, I need objects to do that :)