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 - Answer OCaml Meeting 2010 poll https://forge.ocamlcore.org/survey/survey.php?group_id=77&survey_id=1
Xteven_ has quit [Read error: 131 (Connection reset by peer)]
thrasibule has joined #ocaml
munga_ has quit [Read error: 60 (Operation timed out)]
tmaedaZ is now known as tmaeda
tmaeda is now known as tmaedaZ
struktured has joined #ocaml
mattam has quit [leguin.freenode.net irc.freenode.net]
acatout has quit [leguin.freenode.net irc.freenode.net]
orbitz has quit [leguin.freenode.net irc.freenode.net]
schme has quit [leguin.freenode.net irc.freenode.net]
bacam has quit [leguin.freenode.net irc.freenode.net]
peddie has quit [leguin.freenode.net irc.freenode.net]
tiz_ has quit [leguin.freenode.net irc.freenode.net]
M| has quit [leguin.freenode.net irc.freenode.net]
hyperboreean has quit [leguin.freenode.net irc.freenode.net]
mattam has joined #ocaml
acatout has joined #ocaml
orbitz has joined #ocaml
schme has joined #ocaml
bacam has joined #ocaml
peddie has joined #ocaml
tiz_ has joined #ocaml
M| has joined #ocaml
hyperboreean has joined #ocaml
ulfdoz_ has joined #ocaml
ulfdoz has quit [Read error: 145 (Connection timed out)]
ulfdoz_ is now known as ulfdoz
BigJ has joined #ocaml
ski_ has joined #ocaml
mbishop has quit [Read error: 110 (Connection timed out)]
jeddhaberstro has joined #ocaml
seanmcl has quit []
seanmcl has joined #ocaml
jeddhaberstro has quit [Client Quit]
thrasibule has quit [Read error: 110 (Connection timed out)]
valross has joined #ocaml
Yoric[DT] has joined #ocaml
<Yoric[DT]> hi
tmaedaZ is now known as tmaeda
ulfdoz has quit [Read error: 110 (Connection timed out)]
ttamttam has joined #ocaml
ygrek has joined #ocaml
ttamttam has quit ["Leaving."]
sgnb has quit [Read error: 54 (Connection reset by peer)]
sgnb` has joined #ocaml
Yoric[DT] has quit ["Ex-Chat"]
ttamttam has joined #ocaml
_zack has joined #ocaml
onigiri has quit []
seanmcl has quit []
toast-opt has joined #ocaml
ski_ has quit ["Lost terminal"]
toast-opt has quit [Remote closed the connection]
Yoric has joined #ocaml
ikaros has joined #ocaml
munga_ has joined #ocaml
<Camarade_Tux> morning :)
sgnb` is now known as sgnb
ua has joined #ocaml
_zack has quit ["Leaving."]
_unK has joined #ocaml
ikaros_ has joined #ocaml
ikaros has quit [Read error: 60 (Operation timed out)]
ua has quit [Read error: 113 (No route to host)]
_zack has joined #ocaml
ua has joined #ocaml
<Yoric> Camarade_Tux: morning
_andre has joined #ocaml
Pimm has joined #ocaml
Pimm has quit [Read error: 110 (Connection timed out)]
bind_return has quit ["Leaving"]
ikaros_ has quit ["Leave the magic to Houdini"]
Jedai has quit [leguin.freenode.net irc.freenode.net]
hcarty has quit [leguin.freenode.net irc.freenode.net]
jlouis has quit [leguin.freenode.net irc.freenode.net]
Jedai has joined #ocaml
hcarty has joined #ocaml
jlouis has joined #ocaml
<Leonidas> mrvn: no, it wasn't required. I happily see this solved in a different way
<Leonidas> (but not atm, since I need to go to some lectures)
<mrvn> Leonidas: In the normal one catch the empty list and otherwise call the tail one with List.hd and List.tl
_zack has quit ["Leaving."]
<Leonidas> ok, I'll re-try it in a nicer way when I return. The option types confused me quite a bit.
_zack has joined #ocaml
rwmjones_ has joined #ocaml
rwmjones has quit [Read error: 148 (No route to host)]
rwmjones_ is now known as rwmjones
munga_ has quit [Read error: 113 (No route to host)]
cognacc has quit [Read error: 110 (Connection timed out)]
run has joined #ocaml
Pimm has joined #ocaml
ygrek has quit [Remote closed the connection]
tmaeda is now known as tmaedaZ
seanmcl has joined #ocaml
_unK has quit [Remote closed the connection]
ikaros has joined #ocaml
tmaedaZ is now known as tmaeda
bohanlon has quit ["Work Time!"]
clog has joined #ocaml
Smerdyakov has joined #ocaml
purestorm has left #ocaml []
ttamttam has quit ["Leaving."]
ttamttam has joined #ocaml
stoff has joined #ocaml
<stoff> yo
_unK has joined #ocaml
<Leonidas> mrvn: could you explain how you mean I could use List.hd and List.tl to implement maxlist_tail?
<Leonidas> mrvn: since maxlist_tail returns None, I always have to wrap stuff in Some and unwrap using match, to compare.
<Smerdyakov> Leonidas, why do you want to use [List.hd] and [List.tl]?
<Leonidas> Smerdyakov: because mrvn said, my code could be improved in this way.
<Leonidas> wait a moment, I post the code.
<Smerdyakov> Leonidas, this I need to see. [List.hd] and [List.tl] are almost always bad ideas to use.
<Leonidas> Smerdyakov: maxlist_tail.
<Leonidas> Smerdyakov: the problem is, that these Somes and Nones everywhere don't look very nice and maybe there's a better way to do it.
<Leonidas> well, I guess I could fold_left it, but besides this, no idea.
<Smerdyakov> I'm kind of confused. Does this code type-check?
ygrek has joined #ocaml
<Leonidas> Smerdyakov: no, it doesn't. You need to use the version that is commented out.
<Leonidas> I tried writing another, nicer version but didn't get very far.
Nepomuk has joined #ocaml
<Smerdyakov> Isn't there a minimal value of the domain you're maximizing over, such that you can just start [acc] at that value?
<thelema> mfp: great - should I start thinking about another release?
<Leonidas> Smerdyakov: no, I don't think so. While I could construct some dummy entry like ({typ=CD; name="foo"; preis=0}, 0) which would be minimal, nobody would expect to get this as a result if the list is empty.
<thelema> Leonidas: how about checking for an empty list and then priming your maxlist_tail with a value, similar to List.reduce
<Smerdyakov> Leonidas, I definitely agree with the idea of using [fold_left].
<Smerdyakov> Leonidas, you can also encapsulate the bothersome part in a higher-order function, such that you never need to write a functions that deals with both [option]s and your custom datatype.
ttamttam has quit ["Leaving."]
<thelema> mfp: I like your changes to the build system - I'm still learning the OMake style of doing things, and produce very clunky omakefiles
<Leonidas> thelema: the point is, I don't exactly know what the assignment really wants. I suppose a both solutions (optionals, empty checks) would be just fine.
middayc has joined #ocaml
<thelema> Leonidas: make a solution that assumes an initial value, and a more general function that handles the [] case.
<thelema> the more general function should call the initial value one to do most of the work
run has quit [Remote closed the connection]
<Leonidas> thelema: but won't the matcher complain, that I don't handle the [] case?
<thelema> Leonidas: you will handle the empty list case in your general function, and handle the end-of-list [] in your specific function
kaustuv has quit [Read error: 148 (No route to host)]
<Leonidas> ah, I see. This throws an exception in that case.
<thelema> yes. You could return None in that case and Some (fold ...) otherwise
<thelema> and then you don't have to do horrible handling of Some in your specific function, only once on the outside
<Leonidas> mhh.
<Leonidas> thinking about it now.
<thelema> you don't have to use fold, you can just use your specific function that already has a non-None accumulator
<Leonidas> fold works quite well, I'm just trying to write the right wrapper function for that.
Pimm has quit [Read error: 110 (Connection timed out)]
<Leonidas> thelema: http://paste.pocoo.org/show/152655/ - how about this?
<Leonidas> hmm, this works.. strange
<thelema> mfp: almost - can you get rid of process?
<thelema> grr, not mfp...
<thelema> Leonidas: can you get rid of process/
<thelema> and what happenned to acc in process?
<Leonidas> thelema: my making it an anonymous function? Yep, but isn't this going to be difficult to read?
<thelema> no, by doing the fold inside the match
<thelema> also, you never use [acc]
_zack has quit ["Leaving."]
<Leonidas> oh, indeed. moment :)
<thelema> keep simplifying
<thelema> also, drop the ;
<thelema> it offends my sensibilties. :)
<Leonidas> thelema: yep, no idea how *that* got there :D
<thelema> shiny.
<Leonidas> thelema: I'm seriously amazed how this got reduced down to a single match and a single fold :)
<thelema> I don't see a way to make it better.
<Leonidas> thelema: thank you :)
<thelema> you're welcome.
<Nepomuk> impressive :D
<thelema> This is just how it's supposed to be.
<Leonidas> and I thought my previous solution was 'ok'. I need to label that one 'awful' now.
valross has quit [Remote closed the connection]
Yoric has quit []
ua has joined #ocaml
ulfdoz has joined #ocaml
Associat0r has joined #ocaml
<mfp> thelema: there are 3 other candidate extensions (4, if you include pa_batteries): pa_comprehension, pa_openin, pa_where --- what should I do about them?
<thelema> I'm trying to figure out if the right thing to do with [syntax-exts] is to fold it into [aaa]
<thelema> we're not going to have separate releases for aaa with extensions and aaa without...
<mfp> I don't see any reason not to merge it into aaa --- the extensions are self-contained & completely optional
<Leonidas> did I get it right? AAA is becoming the kind-of successor to batteries?
<thelema> Leonidas: yes.
<thelema> mfp: so how will people choose what to compile / install? I still don't get quite how omake deals with missing dependencies
<mfp> thelema: there are no missing deps
<thelema> although that doesn't seem a big problem for syntax extensions...
<Leonidas> nice to see that batteries won't die. Python has taught me the value of an useful stdlib :)
<Camarade_Tux> is it possible to specify the CC for use with ocamlbuild?
<mfp> thelema: pa_strings depends on estring, which is included in that branch
<thelema> mfp: yes, I saw the dependency included. Do we install our dependencies separately, or internal to aaa?
<mfp> (I might enable auto-detection of estring someday; FTTB it just builds and installs it)
<mfp> thelema: I included estring because it's not packaged anywhere AFAIK (not in Debian/GODI)
<mfp> I'd say that whether to include or not is largely determined by the availability of the dep in packaged form
<mfp> another factor being the size
<thelema> for example, my next target is ocaml-fileutils
<mfp> e.g., wouldn't consider including camomile
<thelema> I agree that including camomile is... better avoided
<mfp> fileutils is in Debian and GODI, so it's OK as an external dep
<mfp> I assume it's also available in Fedora
<mfp> it is
<thelema> so it's an external dependency, but not like camomile, because camomile is required
<mfp> you want to make it optional?
<thelema> yes
<thelema> I think
<thelema> I want to provide it if it's not already present, I think.
<mfp> what are you planning anyway? some sort of wrapper?
<thelema> maybe I'm thinking of just absorbing the code.
excode has joined #ocaml
<mfp> so, include it in the source tree & build only if needed / otherwise use the installed one?
<thelema> yes
<thelema> similarly camlzip
<thelema> (which we've dropped as a prereq because I have no idea how to specify the different package names to omake)
<mfp> just old-style detection
seanmcl has quit []
<mfp> have it in some OMakefile of mine
* mfp looks for it
<mfp> zip_pack = $(shell ocamlfind list | grep "zip\ " | cut -d\ -f1)
<mfp> OCAMLPACKS[] += $(zip_pack)
<thelema> oh. That's easier than I expected.
robocop has joined #ocaml
* thelema puts the compressed streams code back in
<robocop> hello
<thelema> hi robocop
Snark has joined #ocaml
<robocop> hi
<thelema> mfp: to answer your original question: I think the other syntax modules can go in as sub-packages pa_foo.syntax
<mfp> thelema: OK, I'm starting with pa_comprehension
<mfp> thelema: also, did we conclude it was OK to merge syntax-exts into aaa?
<thelema> I'm in progress on the merge - apparently there's some small problems with cherry picking and then merging.
<thelema> pushed
<thelema> mfp: Are you sure about the change of OCAMLROOT?
<mfp> on Debian, it'll install to /usr/lib/ocaml instead of /usr/local/lib/ocaml/3.11.1 otherwise
<mfp> I believe that's the Right Thing
<mfp> at least, not doing so is wrong on Debian
<mfp> I assume ocamlfind is configured correctly no matter who is packaging it
<thelema> if I install the aaa script to `ocamlfind printconf destdir`, it's not available as '#use "aaa"'
<mfp> what does ocamlfind printconf output?
<thelema> /usr/local/lib/ocaml/3.11.1
<mfp> and it's not in the search path?
<thelema> correct. /usr/local/lib/ocaml is, though.
<thelema> or not...
<mfp> where is the /usr/local/... path stored? hardcoded in ocamlc/ocamlopt or some file in /etc?
<thelema> probably hardcoded in ocaml - I'm not aware that they use /etc configs for their paths
<mfp> let's see what other pkgs are doing
* mfp reading lwt's
<thelema> ocamlfind installs into /usr/lib/ocaml
albacker has joined #ocaml
<mfp> lwt uses $(shell $(OCAMLFIND) printconf destdir)
<thelema> I guess their script needs to be loaded after topfind...
<thelema> and we can give people an ocamlinit that'll do this properly.
<thelema> I was hoping to provide a script so that people can just "#use aaa"
<mfp> gotta find some OCamlMakefile-based pkg
<mfp> ah well, #use "topfind";; is sort of mandatory anyway
<mfp> whether you're using AAA or not
<thelema> I guess we're back to providing a ~/.ocamlinit
<thelema> because #require "aaa" won't do a complete hook of aaa into the toplevel...
<thelema> also we have some issues dealing whether they want the syntax extensions in the toplevel
Amorphous has quit [Read error: 113 (No route to host)]
<thelema> which have to be handled carefully - batteries had some issues with toplevel priorities of camlp4 and some packages
<mfp> atm. you have to do #camlp4o;; #require "aaa.pa_string.syntax";;
<mfp> #require is always problematic, as it often works only in some particular order
<thelema> http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=batteries/batteries.git;a=blob_plain;f=src/batteries_toolchain/top.ml;hb=master
<thelema> num and netstring have to be loaded before camlp4
<mfp> I can't reproduce that here
<thelema> maybe a 3.10 but
<thelema> *bug
<mfp> #camlp4o;; followed by #require "num" and #require "netstring" works fine
Amorphous has joined #ocaml
mbishop has joined #ocaml
<thelema> glad we don't have to hack around that.
* thelema goes back to ocamlinit
* thelema turns on syntax extensions in the toplevel by default
<thelema> hmm, maybe not... I can't put #camlp4o inside a conditional
<thelema> Time to dig into ocamlfind
itewsh has joined #ocaml
<robocop> hey, I've got a question with pa_do : why when we type a number like "a.b", there isn't a conversion in number A/B, like this ? :
<robocop> # Num.(5.5+3);;
<robocop> Error: This expression has type float but an expression was expected of type
<robocop> Batteries.Num.num = Num.num
<robocop> # Num.(55/10+3);; - : Batteries.Num.num = <num 17/2>
<thelema> robocop: I guess that pa_do only has converter (int -> num), and no float -> num
<robocop> okey...
ttamttam has joined #ocaml
<thelema> Cannot find file /usr/local/lib/ocaml/3.11.1/aaa/Camlp4Top.cmo.
<thelema> Hmm...
betehess has quit [Remote closed the connection]
excode has quit ["..:"]
Nepomuk has quit [Remote closed the connection]
_andre has quit ["*puff*"]
<mfp> thelema: I just copied that from batteries' META. I don't know why it's needed at all (apparently not).
<mfp> # [? Array : pow p k | p <- 2--100; prime p; k <- BatList : BatList.init (p-1) (fun i -> i) ?];;
<mfp> - : int array =
<thelema> A friend of mine switching from python really misses comprehensions - he'll appreciate this work of yours.
itewsh has quit [Connection timed out]
<mfp> I'm only integrating it in AAA, kudos go to ertai, Yoric[DT] and bluestorm, who wrote it
ygrek has quit [Remote closed the connection]
itewsh has joined #ocaml
<mfp> pushed
<thelema> fixed toplevel pushed
<thelema> except I didn't include the pa_comprehension
<thelema> grr, x--y needs to not include y
<thelema> how about x-)y for excluding right endpoint?
<mfp> it's not a valid operator :-|
<thelema> something like that?
<mfp> -| ?
<thelema> x --^ y
<flux> I've used --<
<thelema> and maybe x ^-- y and x ^--^ y
<thelema> for missing left endpoint and both endpoints
<flux> it would have some symmetry, except I'm thinking ^-- and ^--^ has non-symmetric precedence
<flux> in any case, I don't recall using the equivalent of ^-- or ^--^
<flux> -- and --^ would easily cover the most cases
<thelema> ok, maybe I'll just define --^
itewsh has quit [Connection timed out]
<mfp> git fetch -v thelema
<mfp> Permission denied (publickey). fatal: The remote end hung up unexpectedly
<mfp> :-(
<thelema> hmmm...
itewsh has joined #ocaml
<flux> (can't fetch via http or somesuch?)
<thelema> mfp: what's the URI for your 'thelema' repo?
<thelema> hmm, github is down for me too.
<thelema> heh, their website is broken too
<thelema> it's lost my aaa repo... heh
robocop has quit [Read error: 110 (Connection timed out)]
<thelema> hmm last deploy hiccup 18 hours ago
<flux> well serves you right for not being patriotic and using ocamlforge!1!
<flux> otoh, with git you can just swap your hosting in no time ;-)
<thelema> lol
<thelema> yup.
robocop has joined #ocaml
<thelema> wow, all my repos are gone.
<thelema> @github: We are experiencing intermittent issues with our backends currently. Investigating.
<thelema> looks like I didn't need to send them that support request.
<flux> "sorry, we didn't have backups and two of our raid5-hd's died, well happily git is distributed and.."
<flux> ;)
<flux> I wonder how much data do they have
<thelema> ha!
slash_ has joined #ocaml
<thelema> @github: Our backend machine failed over, the site should be returning to normal now.
<flux> bah, how boring
middayc has quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
<thelema> maybe next time we'll get a horrendous failure
<flux> we can only hope
Snark has quit ["Ex-Chat"]
sramsay has joined #ocaml
Smerdyakov has quit ["Leaving"]
<thelema> hmm, I wonder how easy it'd be to get enums to print out in the ocaml toplevel
* thelema is doing |> List.of_enum to print the enum as a list
<thelema> I don't see a way to do it for any datatype using #install_printer
<Alpounet> I have some regrets about enum being batteries' main container
<thelema> Alpounet: because of performance?
<Alpounet> it's inconsistent with OCaml's core
<Alpounet> e.g this didn't happen with Haskell
<thelema> no pattern matching on enums?
<Alpounet> anywhere, Haskell's main container are lists
<Alpounet> yeah, that's one of the cons
<thelema> lists aren't ocaml's main container.
<flux> I've for long wondered how much one'd lose if enums were functional
<flux> but I suppose too much then
<flux> performance-wise that is
<thelema> you'd get a different beast - you'd get a lazy list.
<Alpounet> thelema, what is it then ?
<thelema> from my perspective, the main thing you'd lose from functional enums is the connection between them and input streams
<flux> thelema, indeed. and it seems to me a (lazy) list would be much simpler to describe than Enum.
<Alpounet> thelema, yeah yeah
<Alpounet> but historically I mean
<Alpounet> I'm conscious of the advantages of enums
<Alpounet> don't worry
<thelema> Alpounet: I'm tempted to say "hashtbl" just for the sake of starting a flamewar, but I'd say none of the above.
<Alpounet> thelema, haha :p
<thelema> ocaml doesn't have a "main" container because there's no one fit for everything.
Pimm has joined #ocaml
<thelema> enum being fit on top of everything is more like an iterator interface than a fundamental datatype to build everything on.
<mfp> even in Haskell, List is not so prevalent
<mfp> you have strings = [Char], but then you have ByteStrings, strict ByteStrings, etc.
<mfp> then some 8 or so different types of arrays and so on
munga_ has joined #ocaml
<thelema> Instead of having Foo.to_bar conversion functions between every pair of modules, enum/of_enum suffices.
<thelema> and it's kinda nice that enum allows a lot of GC along the way - very little memory is needed at one point in time.
<flux> hmm.. how does one use install_printer when type 'a is involved?
<thelema> yes, that's what I'm wondering - if there's some way to ...
<flux> this doesn't seem encouraging: http://alan.petitepomme.net/cwn/2004.10.26.html#1
<flux> maybe there's a bug about it..
<flux> case in point: hashtbls, sets or maps don't get pretty-printed in the toplevel..
<thelema> hmm, the toplevel keeps a linked list of printers and checks if the type of the printer is more general than the type of the value...
<thelema> a simple linear search
<flux> the problem is that you need to call the pretty printing function from your formatting function
<mfp> typing/oprint.ml
<flux> and it's unclear how to do that..
<thelema> toplevel/genprintval.ml L129 - find_printer <- could rewrite this
<thelema> would require something more than Ctype.moregeneral
<thelema> and would require some infrastructure for nesting printers
<thelema> like the current batteries printing infrastructure - List.print takes a printer for the contained type
<flux> hmm.. so if you have type 'a foo, your pretty printing would get an additional function and be of signature Format.formatter -> 'a foo -> (Format.formatter -> 'a -> unit) -> unit ?
<thelema> or some other order of arguments, but yes.
<thelema> yup, we'd need to rewrite this infrastructure so that lists aren't handled specially
<thelema> as it is, the printers installed by default are for int, float, char, string, int32, nativeint, int64
<thelema> and everything else is special-cased
<flux> I wonder how this would help pretty-printing for example Sets
<flux> because that'd be awesome! ;)
<thelema> maybe it'd be sufficient to special-case <abstr> to check for a function in the defining module Foo.to_string
<thelema> hmm, has it always been reversed: - : Enum.t int = <abstr>
<thelema> I expected [int Enum.t]
<flux> hmm
<flux> - : int list = [42]
<flux> - : ('_a, '_b) Hashtbl.t = <abstr>
<thelema> # 3 --^ 8 |> List.of_enum;;
<thelema> - : list int = [3; 4; 5; 6; 7]
<thelema> maybe it's the camlp4o
<flux> likely that
<thelema> stupid camlp4...
<thelema> hmm, I am using Topfind.standard_syntax(), why am I getting revised types...
itouch has joined #ocaml
itewsh has quit [Success]
<thelema> mfp: is there a reason to use "aaa.pa_comprehension.syntax" instead of just "aaa.pa_comprehension"?
<mfp> .syntax is a convention other extensions seem to follow
<thelema> well, can we have a [aaa.syntax] that loads all the child syntaxes?
Submarine has quit [Read error: 110 (Connection timed out)]
<mfp> easy
<mfp> hmmm /usr/bin/install: cannot overwrite directory `/usr/local/lib/ocaml/3.11.1/aaa' with non-directory
<thelema> didn't I remove that from the OMakefile?
<mfp> yes, it's from an older install
<thelema> ok.
<mfp> what about an ocaml script that does exec ocaml -I <path to aaa>
<mfp> so that you can do ocamlfind aaa/ocaml
<thelema> why not just recommend people copy our ocamlinit to ~/.ocamlinit?
<mfp> s/an ocaml script/a shell script/
* thelema is about to document that
<mfp> no, actually, a shell script named "ocaml"
<thelema> yes, I get your idea. why is ocamlinit not better?
<mfp> they might not want to always use aaa?
<thelema> of course they always want to use aaa - it's just better.
<thelema> :)
<mfp> hmm
<mfp> you don't to use it when it conflicts with a module of yours
<mfp> say you have a .cmo that uses extlib's IO and haven't recompiled against AAA
<thelema> then you need to put an empty .ocamlinit in the current directory
<thelema> ~/.ocamlinit is only used if there's no ./.ocamlinit
<mfp> or use -init bogus ok
bohanlon has quit [Broken pipe]
* thelema moves src/syntax/estrings to lib/estrings
ttamttam has quit ["Leaving."]
<thelema> I'm trying to figure out a good way to package extensions of camlzip to use IO.
<thelema> I want to have an extended camlzip in libs/camlzip
<thelema> but if camlzip is already installed, I only need to compile and install the extensions for aaa
<thelema> and if it's not already installed - I guess I need to keep the extensions separate
<thelema> I still don't know how to do an optional dependency
* thelema reads up on "if" in omake
itouch has quit ["There are only 10 kinds of people: those who understand binary and those who don't"]
ulfdoz has quit [Read error: 110 (Connection timed out)]
slash_ has quit [Client Quit]
<thelema> hmm, pa_comprehension's OMakefile refers to pa_strings a bunch
munga_ has quit [Read error: 113 (No route to host)]
<thelema> and what happened to the all: target in batteries/OMakefile
robocop has quit [Remote closed the connection]
onigiri has joined #ocaml
creaux has joined #ocaml
valross has joined #ocaml
_unK has quit [Remote closed the connection]
ua has quit ["Lost terminal"]
<mfp> thelema: each subdir defines its all: target when appropriate
ikaros has quit [Remote closed the connection]
Camarade_Tux has quit ["leaving"]
Camarade_Tux has joined #ocaml
Camarade_Tux has quit [Client Quit]
Camarade_Tux has joined #ocaml
Camarade_Tux has quit [Client Quit]
Camarade_Tux has joined #ocaml