gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
everyonemines has joined #ocaml
arubin has joined #ocaml
arubin has quit [Client Quit]
arubin has joined #ocaml
everyonemines has quit [Quit: Leaving.]
lopex has quit []
sebz has joined #ocaml
Associat0r has quit [Quit: Associat0r]
struktured has quit [Ping timeout: 252 seconds]
<thelema> anyone have a good trick for filtering a batVect based on an array of booleans?
joewilliams is now known as joewilliams_away
struktured has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
Guest87169 has joined #ocaml
<Guest87169> hi
<Guest87169> ocaml rules
<Guest87169> gildor, can i suck your penis
<Guest87169> your small functional penis
emma has quit [Ping timeout: 276 seconds]
dnolen has quit [Quit: dnolen]
arubin has quit [Quit: arubin]
lamawithonel_ has joined #ocaml
lamawithonel has quit [Ping timeout: 260 seconds]
ttamttam has joined #ocaml
junsuijin has quit [Quit: Leaving.]
<adrien> NaCl: timing? I haz no timing :P
ttamttam has quit [Remote host closed the connection]
Guest87169 has quit [Remote host closed the connection]
ttamttam has joined #ocaml
ttamttam has quit [Remote host closed the connection]
ttamttam has joined #ocaml
jaar has joined #ocaml
bobry1 has joined #ocaml
thomasga has joined #ocaml
jaar has quit [Ping timeout: 260 seconds]
ikaros has joined #ocaml
lamawithonel__ has joined #ocaml
lamawithonel_ has quit [Ping timeout: 260 seconds]
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
larhat has joined #ocaml
ulfdoz has joined #ocaml
Kakadu has joined #ocaml
emmanuelux has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
lexer has joined #ocaml
lexer has quit [Client Quit]
lexer has joined #ocaml
lexer has quit [Client Quit]
beginner has joined #ocaml
beginner has quit [Client Quit]
beginer has joined #ocaml
beginer has quit [Client Quit]
lexem has joined #ocaml
lexem has quit [Client Quit]
<f[x]> one more time : janestreet code download urls are all 404, new core is not available <- FAIL
<bobry1> i wish they'd moved everything to ocamlcore
<Kakadu> bobry1: I can't find core on ocamlcore
yroeht has quit [Ping timeout: 260 seconds]
<bobry1> well, at least type-conv is there
<Kakadu> bobry1: f[x] has all libs
ztfw has joined #ocaml
lopex has joined #ocaml
_andre has joined #ocaml
ttamttam has quit [Remote host closed the connection]
amateur has joined #ocaml
amateur has quit [Client Quit]
regexp has joined #ocaml
regexp has quit [Client Quit]
token has joined #ocaml
token has quit [Client Quit]
jaar has joined #ocaml
oriba has joined #ocaml
<NaCl> adrien: har har
dnolen has joined #ocaml
yroeht has joined #ocaml
ztfw has quit [Remote host closed the connection]
ztfw has joined #ocaml
oriba has quit [Quit: oriba]
ztfw` has joined #ocaml
ztfw` has quit [Client Quit]
ztfw has quit [Ping timeout: 260 seconds]
ttamttam has joined #ocaml
synfin has joined #ocaml
synfin has left #ocaml []
synfin has joined #ocaml
sumanah has joined #ocaml
bobry has quit [Ping timeout: 260 seconds]
<sumanah> if anyone could take a look at https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Special:Code/MediaWiki/97034 I'd very much appreciate it
<sumanah> it's OCaml
<thelema> sumanah: I've looked at it and find nothing obviously wrong with the diff.
<sumanah> thelema: mind commenting?
<sumanah> you're "thelema314" on mediawiki.org, aren't you?
<thelema> yes
<sumanah> we appreciated your comments on the other OCaml code a lot
<thelema> sumanah: I can't say I said that much, but ok
<sumanah> thelema: "I see nothing wrong with this" is a useful thing to hear :)
<thelema> sumanah: done.
<sumanah> thanks thelema
bobry has joined #ocaml
<synfin> Would there be an existing standard library that reads mbox mail?
emma has joined #ocaml
<thelema> synfin: isn't mbox quite trivial to parse?
<synfin> thelema: Yes. But reinventing the wheel is foolish.
<f[x]> I wouldn't say that mbox is trivial to parse
<synfin> thelema: hence why I thought there may be one already.
<f[x]> ocamlnet should have mime parsers
<synfin> f[x]: I'll look at that, thank you.
<flux> I have at least one mbox parser somewhere lying around..
<thelema> http://en.wikipedia.org/wiki/Mbox <- according to this, you'll have to pick a variant, as eudora and mozilla mail clients use a variant of the standard
<sumanah> :/
<thelema> synfin: if you want to do more than just split the mbox file into its individual emails, you'll have to do a bunch of work, but just parsing an mbox file into a list of emails should be pretty simple.
sumanah has left #ocaml []
<flux> it has mbox.mli, mbox.ml, but they depend on parserAux.ml (small) and ParserCoFixed which is a fixed version of an older Batteries library (or a wrapper for it really)
<flux> no license file there but consider it public domain :)
<thelema> flux: is it that hard to get fixes for batteries upstreamed?
<flux> thelema, actually I think it has been upstreamed
<flux> it's an older source I haven't touched for a long while
<flux> (the file names were actually mail.mli and mail.ml)
<flux> apparently it's lazy as well, good I guess if reading the mailbox is io bound and you want to interleave some processing
<thelema> flux: actually, I doubt laziness helps for that in ocaml
<flux> IIRC it has already gone through a few mailboxes, so maybe it works :-)
<flux> thelema, in principle it might, because the operating system has preloaded stuff
<flux> the the operating system is doing reading from the device while your algorithm is running
<thelema> I'm thinking that if you need data, it'll block and the OS will be kicked into motion no sooner than when you need the data
<thelema> the OS could do prefetching, that could help...
<flux> I would imagine all modern operating systems do prefect
<synfin> actually, I believe netmime may do what I need, or I can assuage it to do what I need.
<flux> ocamlnet library does have all sort of good stuff in it
<synfin> definitely, I'm parsing it now.
<flux> should perhaps glancy through its interface files again some day, to refresh the list of things I can just reuse, instead of rewrite :)
<synfin> flux: Absolutely, little point in rewriting something that works well, unless for pedagogic reasons.
Pepe_ has quit [Ping timeout: 260 seconds]
Pepe_ has joined #ocaml
dnolen has quit [Quit: dnolen]
bobry1 has quit [Quit: Leaving.]
andre_ has joined #ocaml
_andre has quit [Ping timeout: 260 seconds]
fenard has joined #ocaml
<fenard> hi
<thelema> hi
<fenard> gildor, you're around ? :)
<fenard> hi thelema
fraggle_ has quit [Ping timeout: 260 seconds]
ttamttam has left #ocaml []
ttamttam has joined #ocaml
ttamttam has left #ocaml []
ankit9 has quit [Read error: Connection reset by peer]
larhat has quit [Quit: Leaving.]
ankit9 has joined #ocaml
<gildor> fenard: hi
<fenard> hi gildor
<gildor> fenard: I am around but not for a long time
lopexx has joined #ocaml
<thelema> is there any way to test if a lazy value has been forced?
<thelema> ah, lazy_is_val. sorry for the noise
junsuijin has joined #ocaml
fenard has left #ocaml []
lopex has quit []
lopexx is now known as lopex
Kakadu has quit [Ping timeout: 252 seconds]
Associat0r has joined #ocaml
Associat0r has quit [Changing host]
Associat0r has joined #ocaml
Reaganomicon has joined #ocaml
Anarchos has joined #ocaml
<_habnabit> there's not a symmetric difference function on sets, is there?
<_habnabit> I don't see one, but.
ygrek has joined #ocaml
<thelema> _habnabit: You can build it with Map.merge
<_habnabit> hah. I ended up just defining my own funciton.
<_habnabit> (in terms of difference and union)
<thelema> sdiff A B = A-B U B-A
<_habnabit> yeah, that's what I did.
<thelema> sure, but why do three tree merges when you can do one
<_habnabit> how would you do it with a map using a set?
<thelema> well you'd have to use maps to unit instead of sets
<_habnabit> I guess this works.
<thelema> looks right to me.
<thelema> although I can guarantee we won't include that implementation in batteries
<_habnabit> haha.
<_habnabit> why's that?
<thelema> I think it does as many tree traversals as the three merges.
<thelema> three merges = 6 traversals
synfin has quit [Quit: ChatZilla 0.9.87 [Firefox 6.0.2/20110902133214]]
<thelema> this code: 2 maps + 2 traversals (M.merge) + M.keys
<thelema> ok, only 5 traversals in this code.
<thelema> best to tweak union to drop shared values instead of just de-duping.
<_habnabit> well, as long as we're talking about ideal set operations, I'd definitely like an is_disjoint function too.
<thelema> let is_disjoint a b = is_empty (inter a b)
<_habnabit> yeah, but that does more work than you really need.
<thelema> no, I think it does the right amount of work.
<_habnabit> does it? you can return early if there's any common elements, and you don't have to build a new tree.
<thelema> true, in the case that the two sets have elements in common. I was thinking about when they're actually disjoint. you're right
<_habnabit> ah, okay.
<_habnabit> I haven't looked at the implementations; is lockstep tree traversal an easy thing? I might just submit a patch.
<thelema> yes, it's pretty easy and there's lots of examples.
<thelema> the idea is that you decompose one tree on its root and you split the other tree based on the value of that root into subtrees that are less than and greater than that root
<thelema> It looks like union has an optimization that looks at the heights of the two trees and splits based on that.
<thelema> err, chooses the direction to split based on the height
<thelema> it looks like it severely optimizes the case of union with a singleton tree
<Anarchos> I finally wrote a first order proof ferifier
mdelaney has joined #ocaml
mdelaney has quit [Quit: mdelaney]
mdelaney has joined #ocaml
mdelaney has quit [Quit: mdelaney]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
mdelaney has joined #ocaml
oriba has joined #ocaml
mdelaney has quit [Read error: Connection reset by peer]
mdelaney has joined #ocaml
likebike has joined #ocaml
mdelaney has quit [Quit: mdelaney]
mdelaney has joined #ocaml
dcolish has quit [Excess Flood]
dcolish has joined #ocaml
oriba_ has joined #ocaml
oriba has quit [Ping timeout: 258 seconds]
andre_ has quit [Quit: leaving]
ygrek has quit [Ping timeout: 248 seconds]
oriba_ has quit [Quit: oriba_]
oriba_ has joined #ocaml
oriba_ is now known as oriba
Amorphous has quit [Ping timeout: 260 seconds]
Amorphous has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
Associat0r has quit [Ping timeout: 260 seconds]
ulfdoz has joined #ocaml
Associat0r has joined #ocaml
Associat0r has quit [Changing host]
Associat0r has joined #ocaml
arubin has joined #ocaml
mdelaney has quit [Quit: mdelaney]
jaar has quit [Ping timeout: 260 seconds]
zmv has joined #ocaml