ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
struktured has quit [Ping timeout: 265 seconds]
swgillespie has joined #ocaml
ncthom91 has joined #ocaml
alinab has quit [Remote host closed the connection]
JuggleTux has quit [Ping timeout: 256 seconds]
ontologiae_ has joined #ocaml
nullcat has joined #ocaml
BitPuffin|osx has joined #ocaml
Simn has quit [Read error: Connection reset by peer]
noze has quit [Ping timeout: 246 seconds]
ontologiae_ has quit [Ping timeout: 264 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
djellemah_ has joined #ocaml
djellemah has quit [Ping timeout: 276 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jabesed has quit [Ping timeout: 255 seconds]
enitiz has joined #ocaml
enitiz has quit [Remote host closed the connection]
enitiz has joined #ocaml
enitiz has quit [Read error: No route to host]
Algebr has quit [Read error: No route to host]
swgillespie has joined #ocaml
enitiz has joined #ocaml
enitiz has quit [Read error: Connection reset by peer]
enitiz has joined #ocaml
struktured has joined #ocaml
enitiz has quit [Remote host closed the connection]
enitiz has joined #ocaml
enitiz has quit [Client Quit]
enitiz_ has joined #ocaml
enitiz_ has quit [Remote host closed the connection]
enitiz has joined #ocaml
enitiz has quit [Read error: Connection reset by peer]
enitiz has joined #ocaml
ncthom91 has joined #ocaml
enitiz has quit [Remote host closed the connection]
enitiz has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lambda_foo has joined #ocaml
struktured has quit [Ping timeout: 250 seconds]
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
NSA_Agent has quit [Ping timeout: 272 seconds]
ericwa has joined #ocaml
enitiz has quit [Remote host closed the connection]
enitiz has joined #ocaml
keen____ has quit [Read error: Connection reset by peer]
enitiz has quit [Remote host closed the connection]
keen____ has joined #ocaml
enitiz has joined #ocaml
Algebr has joined #ocaml
jeffmo has joined #ocaml
ygrek has joined #ocaml
Algebr has quit [Remote host closed the connection]
lambda_foo has quit [Ping timeout: 246 seconds]
Algebr has joined #ocaml
jeffmo has quit [Ping timeout: 246 seconds]
darkf has joined #ocaml
Algebr has quit [Ping timeout: 276 seconds]
ddub has left #ocaml [#ocaml]
dubosec has quit [Ping timeout: 258 seconds]
dubosec has joined #ocaml
kdef has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 250 seconds]
Tekilla has quit [Quit: Quitte]
Denommus has joined #ocaml
mengu has joined #ocaml
idegen has quit [Quit: Leaving.]
mengu has quit [Ping timeout: 264 seconds]
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
Denommus` has joined #ocaml
Denommus` has quit [Max SendQ exceeded]
Denommus` has joined #ocaml
Denommus has quit [Ping timeout: 255 seconds]
Denommus` has quit [Read error: Connection reset by peer]
ygrek has joined #ocaml
Denommus has joined #ocaml
Denommus has quit [Read error: Connection reset by peer]
Denommus has joined #ocaml
lambda_foo has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 250 seconds]
ygrek has quit [Ping timeout: 258 seconds]
lambda_foo has quit [Ping timeout: 246 seconds]
c74d has quit [Remote host closed the connection]
<cojy_> anyone have strong opinions on modular implicits?
hilquias has joined #ocaml
c74d has joined #ocaml
kdef has joined #ocaml
MercurialAlchemi has joined #ocaml
cr7 has joined #ocaml
cr7 has quit [Ping timeout: 246 seconds]
hilquias has quit [Ping timeout: 272 seconds]
MercurialAlchemi has quit [Ping timeout: 256 seconds]
hilquias has joined #ocaml
Tekilla has joined #ocaml
MercurialAlchemi has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ericwa has quit [Quit: Leaving...]
sgnb`` is now known as sgnb
slash^ has joined #ocaml
shinnya has quit [Ping timeout: 256 seconds]
swgillespie has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
Tekilla has quit [Quit: Quitte]
Tekilla has joined #ocaml
Tekilla has quit [Client Quit]
MercurialAlchemi has joined #ocaml
tmtwd has quit [Ping timeout: 244 seconds]
MercurialAlchemi has quit [Ping timeout: 258 seconds]
MercurialAlchemi has joined #ocaml
ilia has quit [Quit: Leaving]
JuggleTux has joined #ocaml
tmtwd has joined #ocaml
ggole has joined #ocaml
jonludlam has quit [Ping timeout: 244 seconds]
hilquias has quit [Remote host closed the connection]
nojb has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
nonuby has joined #ocaml
nonuby has quit [Client Quit]
nonuby has joined #ocaml
nullcat_ has joined #ocaml
<nonuby> i have vim setup with merlin, and core installed via opam install, a rather vanilla setup, however :TypeOf return function signatures of that of ocaml defaults even though file has open Core.Std and oasis/make works correctly. any ideas?
A1977494 has joined #ocaml
<nonuby> okay, found it merlinuse, must of miss that on first glance
<reynir> also check out .merlin
kdef has quit [Quit: Leaving]
ygrek has joined #ocaml
nojb has quit [Quit: nojb]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
TheLemonMan has joined #ocaml
Simn has joined #ocaml
Kakadu has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
hay207 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
erikm has left #ocaml [#ocaml]
Gama11 has joined #ocaml
matason has joined #ocaml
matason has quit [Client Quit]
MercurialAlchemi has quit [Ping timeout: 250 seconds]
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 276 seconds]
thomasga has joined #ocaml
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 272 seconds]
Haudegen has quit [Ping timeout: 240 seconds]
tane has joined #ocaml
shinnya has joined #ocaml
asQuirreL has joined #ocaml
avsm1 has joined #ocaml
MercurialAlchemi has joined #ocaml
Haudegen has joined #ocaml
thomasga has quit [Quit: Leaving.]
ontologiae_ has joined #ocaml
nonuby has quit [Ping timeout: 250 seconds]
nonuby has joined #ocaml
inr has quit [Remote host closed the connection]
inr has joined #ocaml
avsm1 has quit [Quit: Leaving.]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
thomasga has joined #ocaml
b0mbastus has joined #ocaml
djellemah_ has quit [Ping timeout: 250 seconds]
avsm has joined #ocaml
thomasga has quit [Quit: Leaving.]
tani has joined #ocaml
tane has quit [Ping timeout: 244 seconds]
jc has joined #ocaml
jc has quit [Client Quit]
sdothum has joined #ocaml
JuggleTux has quit [Ping timeout: 250 seconds]
logzet has joined #ocaml
JuggleTux has joined #ocaml
Hannibal_Smith has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
ontologiae_ has quit [Ping timeout: 272 seconds]
ontologiae_ has joined #ocaml
Intensity has quit [Ping timeout: 258 seconds]
ontologiae_ has quit [Ping timeout: 264 seconds]
ontologiae_ has joined #ocaml
milosn has quit [Quit: leaving]
avsm has quit [Quit: Leaving.]
ontologiae_ has quit [Ping timeout: 265 seconds]
jabesed has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
raboof has quit [Ping timeout: 246 seconds]
raboof has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
Algebr has joined #ocaml
ontologiae_ has joined #ocaml
ontologiae_ has quit [Ping timeout: 246 seconds]
Haudegen has joined #ocaml
ontologiae_ has joined #ocaml
<ggole> Private types <3
asQuirreL has quit [Ping timeout: 245 seconds]
asQuirreL has joined #ocaml
ontologiae_ has quit [Ping timeout: 250 seconds]
Hannibal_Smith has joined #ocaml
ontologiae_ has joined #ocaml
thomasga has joined #ocaml
<dora-molly> ggole: yesss?
ggole_ has joined #ocaml
ggole has quit [Ping timeout: 272 seconds]
ontologiae_ has quit [Ping timeout: 256 seconds]
logzet has quit [Ping timeout: 250 seconds]
JuggleTux has quit [Ping timeout: 258 seconds]
ontologiae_ has joined #ocaml
Simn has quit [Ping timeout: 252 seconds]
idegen has joined #ocaml
ontologiae_ has quit [Ping timeout: 265 seconds]
BitPuffin|osx has joined #ocaml
ontologiae_ has joined #ocaml
<TheLemonMan> hrm, there's a little problem in the RWO chapter about Imperative Programming, the + sign doesn't show up in the latest snippet
logzet has joined #ocaml
hay207 has quit [Ping timeout: 245 seconds]
logzet_ has joined #ocaml
logzet has quit [Ping timeout: 272 seconds]
Submarine has quit [Remote host closed the connection]
nonuby has quit [Remote host closed the connection]
enitiz has quit [Ping timeout: 244 seconds]
Hannibal_Smith has quit [Quit: Leaving]
Simn has joined #ocaml
QuanticPotato has joined #ocaml
shinnya has quit [Ping timeout: 265 seconds]
hilquias has joined #ocaml
ontologiae_ has quit [Ping timeout: 244 seconds]
struktured has joined #ocaml
rgrinberg has quit [Ping timeout: 272 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 258 seconds]
QuanticPotato has quit [Remote host closed the connection]
ontologiae_ has joined #ocaml
darkf has quit [Quit: Leaving]
logzet_ has quit [Ping timeout: 258 seconds]
NSA_Agent has joined #ocaml
ontologiae_ has quit [Ping timeout: 276 seconds]
jabesed has quit [Quit: Konversation terminated!]
struktured has quit [Ping timeout: 244 seconds]
luzie has quit [Remote host closed the connection]
jabesed has joined #ocaml
luzie has joined #ocaml
mengu has joined #ocaml
jabesed has quit [Quit: Konversation terminated!]
jabesed has joined #ocaml
Algebr has quit [Ping timeout: 272 seconds]
ontologiae_ has joined #ocaml
logzet_ has joined #ocaml
milosn has joined #ocaml
ontologiae_ has quit [Ping timeout: 272 seconds]
ontologiae_ has joined #ocaml
contempt has quit [Ping timeout: 258 seconds]
ontologiae_ has quit [Ping timeout: 272 seconds]
ggole_ is now known as ggole
thomasga has quit [Quit: Leaving.]
contempt has joined #ocaml
thomasga has joined #ocaml
ontologiae_ has joined #ocaml
Denommus has quit [Ping timeout: 252 seconds]
mengu has quit []
axiles has quit [Ping timeout: 265 seconds]
palomer has joined #ocaml
axiles has joined #ocaml
nullcat has joined #ocaml
tmtwd has quit [Ping timeout: 256 seconds]
palomer has quit [Quit: palomer]
hilquias` has joined #ocaml
hilquias has quit [Ping timeout: 256 seconds]
hay207 has joined #ocaml
avsm has joined #ocaml
<companion_square> flux: well, I tried to write the most general find
<companion_square> I agree ('a -> bool) -> 'a list -> 'a option would be nice too
<flux> yes, in many cases there is a predicate function of the form 'a -> bool already available
<Drup> cojy_: Here's my strong opinion "I want it" =')
<companion_square> o/ anyway
* companion_square back from holidays
<reynir> Hello companion_tesseract
<companion_square> argh
companion_square is now known as companion_cube
<ggole> Most general find? What does that mean?
psy_ has quit [Read error: No route to host]
psy_ has joined #ocaml
<companion_cube> well, I mean: ('a -> 'b option) -> 'a list -> 'b option
<companion_cube> maybe it should have been named find_map, indeed
<ggole> Oh, right
<ggole> Looks more like a fusion than a generalisation?
<companion_cube> well it makes it easy to write the simpler version
<companion_cube> but a shortcut still comes handy
<companion_cube> flux: if you find a good name for ('a -> bool) -> ... that doesn't break retro compat, I'll add it
A19774941 has joined #ocaml
<apache2> findsome_
Algebr has joined #ocaml
<ggole> locate?
<ggole> I agree about the shortcuts. The, uh, ergonomics can be quite nice.
<companion_cube> biggest issue is the name :)
djellemah has joined #ocaml
ncthom91 has joined #ocaml
Haudegen has quit [Ping timeout: 245 seconds]
<ggole> Names -_-
<ggole> They ruin everything.
<reynir> the_one_which_you_can't_name
<companion_cube> map_but_simpler
<reynir> kinda_like_find_and_map_combined
<reynir> heh
<ggole> um_uh_dammit_just_look_at_the_type
<reynir> heh
<reynir> I like that one
<companion_cube> :D
Hannibal_Smith has joined #ocaml
<flux> companion_cube, find_pred?
<flux> or findp!
hilquias` has quit [Remote host closed the connection]
<companion_cube> hmm, why not
<reynir> Pervasives.pred is the predecessor function, though
<flux> I guess one could interpret to mean the 'find the element previous to one which the predicate matches'
<flux> perhaps such a function would even be useful at times :-)
<ggole> find_if?
<flux> I believe we have a winner!
<ggole> (Lots of other languages have that one.)
<flux> c++ and.. ?
<ggole> Lisp(s)
<ggole> ..."lots" may be a slight exaggeration
<flux> companion_cube, btw, here's something I did with Printbox: https://www.modeemi.fi/~flux/device-table.txt
<flux> but now I have the need for boxes that span multiple columns :/
<companion_cube> pushed
<companion_cube> oh, you mean merging slots of a table? tough :/
Haudegen has joined #ocaml
<companion_cube> I chose find_pred, I don't think it;s ambiguous
<flux> I think find_if does sound a bit better, though ;-)
<companion_cube> hmmmm
<companion_cube> I need a poll system ^^
<companion_cube> but why not
<ggole> Not using the unicode box drawing chars? Boo!
<companion_cube> well it's much more complex -_-
<companion_cube> PR welcome :p
<Drup> It's already done in lambda-term =°
<ggole> Is it?
<ggole> Oh, if you write into an array of chars unicode wouldn't fit at all I suppose
<Drup> automatic conversion to unicode chars when available
shinnya has joined #ocaml
hay207 has quit [Ping timeout: 256 seconds]
<ggole> Hmm, I suppose you would do that with an array of strings
<ggole> Which is a bit bleh
robink has quit [Ping timeout: 248 seconds]
<Drup> hehh, no
<Drup> array of UChar.t
<Drup> (which is an int)
hay207 has joined #ocaml
<ggole> opam doesn't know it... batteries?
<Drup> in this case, it's camomille
<ggole> Ah
<Drup> (for lambda-term)
<ggole> Yeah, I suppose that's better
<flux> does camomille still come with that runtime-dependency to some unicode database
<flux> ?
<Drup> but in general, bunzli proposed to include it in the stdlib
<Drup> flux: yeah, that's very annoying
<flux> and the particularly unhelpful error message "Not_found" when it doesn't find it
avsm has quit [Quit: Leaving.]
<Drup> it's bundled with it, though
<flux> but if you copy the binary to another machine..
<Drup> No, I mean it's in the library
<flux> oh
<flux> well then it's all good!
<Drup> at least I think
<flux> even if it's a bit big.
<Drup> well, yes and no
<Drup> exactly
<flux> optimally there should be the option of doing both
<Drup> and unsatisfactory to compile to js
robink_ has joined #ocaml
<flux> well, you just need to find your satisfaction from other venues than js compiling
<companion_cube> what about the more recent unicode lib by the author of Camomile?
<Drup> :3
<companion_cube> (and Bünzli's libraries, of course)
<Drup> companion_cube: I didn't look, but honestly it doesn't matter
<Drup> the Uchar module as proposed by bunzli (which contains pretty much nothing) is far enough for most uses...
<companion_cube> heh.
hay207 has quit [Ping timeout: 258 seconds]
<nullcat> yes
<Drup> what did you find fishy about ivg's solution ?
<Drup> ah, I see
<nullcat> Lwt_stream.create_bounded is not completely lazy
<nullcat> this implementation may waste previous API calls
<Drup> Personally, I find the ref solution prefectly fine
<nullcat> API calls are limited during a window
<nullcat> oh
<nullcat> ref solution works perfectly as expected
<Drup> you could improve that by abstracting the ref inside a "unfold" function
<Drup> Something of type
<nullcat> could you detail this
<nullcat> abstract inside a "unfold" ?
<Drup> ('b -> ('a * 'b) option) -> 'b -> 'a t
<Drup> which does the state bit thingy for you, you just provide the function adding a new element and updating the state
<nullcat> ah.... is there any concrete example of "unfold" function I can read?
<Drup> to quote companion_cube's Sequence documentation: "[unfoldr f b] will apply [f] to [b]. If it yields [Some (x,b')] then [x] is returned and unfoldr recurses with [b']."
<Drup> It's basically the dual of fold
<Drup> fold consume a stream/sequence by passing along a state to produce a value
<nullcat> yes
<Drup> unfold start with a value and produce a stream/sequence by passing along a state
<reynir> I've missed something like that in Lwt_stream
<nullcat> em, this looks like what I want
<Drup> this function will contain a ref, and that's just fine.
Cyanure has joined #ocaml
<nullcat> so I will still use Lwt_stream.from ?
<Drup> bundled inside unfold, yes
<nullcat> and I need to implement my own unfoldr
<nullcat> ok
<Drup> (and PR lwt once you are happy with it :D)
<nullcat> oh... ok!
<nullcat> thanks a lot!!
rgrinberg has joined #ocaml
<reynir> In my case I needed a ('b -> 'a * 'b option) -> 'b -> 'a t :/
<reynir> err
<reynir> ('b -> 'a list * 'b option) -> 'b -> 'a t actually, but there's Lwt_stream.flatten
<companion_cube> depends: conf-gmp & (mirage-no-xen | (mirage-xen & gmp-xen)) & ocamlfind <--- wtf zarith ?!?!?
madroach has quit [Read error: Connection reset by peer]
madroach has joined #ocaml
<zozozo> are there any good libraries to build graphic interfaces, or is graphics the only one ?
Haudegen has quit [Ping timeout: 256 seconds]
hay207 has joined #ocaml
<reynir> there's lablgtk, but I haven't really used it
<Drup> graphics is not to build GUIs, so you'll have to tell what you want ^^'
<zozozo> companion_cube: it surprised me too when I ran my last opam upgrade, ^^
<zozozo> Drup: well, I was planning on writing a small game, and thought it would be cool to have functions to draw buttons and the like
<companion_cube> seriously, zarith makes me install mirage-no-xen
<companion_cube> strange
<reynir> it's a virtual package, it seems
<reynir> description: Virtual package conflicting with mirage-xen
<reynir> afaict it doesn't actually install anything
<ncthom91> hey all. Anybody here familiar with ocamllex? I used ocamllex to generate a lexer with the -ml option so taht I could look at the lexer produced, and the file is punctuated with `# 16 "lexer.mll"` lines all over the place. Is that valid ocaml?
<ncthom91> what is the lexer trying to do with that?
<flux> ncthom91, when you get an error in the generated lexer, the compiler will report that as the location
swgillespie has joined #ocaml
<flux> ie. when you put in a code fragment to the lexer, it will point right at the original code
<ncthom91> oh, it will point at my grammar files?
<flux> yep
<ncthom91> cool. So what is the notation `# 7 "lexer.ml"`? Is taht actual ocaml?
<flux> well, I'm not sure if or where it's documented
<flux> C compilers have same functionality, probably even with the same or almost same syntax
<flux> ah, it is documented
<ggole> In C it's #line
swgillespie has quit [Client Quit]
<ncthom91> ok cool, so if an error is thrown parsing an expression that follows a line number directive, the compiler points to the line number supplied in the directive. awesome! That makes a lot of sense
swgillespie has joined #ocaml
matason has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Haudegen has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
<rgrinberg> companion_cube, Drup so what was the fastest iterator in those benchmarks you guys did?
<rgrinberg> was it gen?
<companion_cube> depends on the operation
<companion_cube> for flat_map, it's sequence
<companion_cube> for fold, it's gen or Core.sequence
<companion_cube> (sequence pays for the write barrier…)
<companion_cube> hi rgrinberg
<rgrinberg> companion_cube: hello!
<rgrinberg> i assume iter would be similar to fold
<rgrinberg> did you rerun the benchmarks on flambda?
<companion_cube> Sequence.iter is extremely fast
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
<companion_cube> let sequence_iter f seq = seq f
<companion_cube> :D
<companion_cube> no, I did not
<rgrinberg> you think it's worth doing? or you suspect the results would be the same
mort___ has joined #ocaml
asQuirreL has quit [Ping timeout: 256 seconds]
<companion_cube> I have no idea, really
<companion_cube> I think it would be interesting, on the same computer, to run the benchmarks with 4.02.1 then with flambda
<companion_cube> ( Drup ?)
asQuirreL has joined #ocaml
<Drup> pierre told me than lilis with flambda and inlining enabled is ~30% perf gain
<companion_cube> depends on the backend, doesn't it?
<Drup> backend ?
<companion_cube> well, the iterator type
<Drup> my bench suite on lilis doesn't write anywhere, it only computes the final sequence and force it
<Drup> ah, yeah, I guess he run sequence
<companion_cube> :D
<companion_cube> I guess sequence could benefit from inlining indeed
<companion_cube> 30% is huge
<Drup> yes
LnL has quit [Quit: ZNC - http://znc.in]
struktured has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
LnL has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
muzzle has joined #ocaml
ygrek has joined #ocaml
matason has quit []
swgillespie has joined #ocaml
hay207 has quit [Ping timeout: 256 seconds]
creichert has joined #ocaml
ygrek has quit [Ping timeout: 276 seconds]
martintrojer has quit [Ping timeout: 245 seconds]
Haudegen has quit [Ping timeout: 240 seconds]
martintrojer has joined #ocaml
struktured has quit [Ping timeout: 256 seconds]
mort___ has quit [Quit: Leaving.]
hay207 has joined #ocaml
matason has joined #ocaml
jabesed has quit [Ping timeout: 264 seconds]
ollehar has joined #ocaml
ygrek has joined #ocaml
Haudegen has joined #ocaml
dsheets has quit [Ping timeout: 265 seconds]
<nullcat> this might be a dumb question but why ``k'' 's type is not inferred? https://github.com/c-cube/sequence/blob/3eaedd8a1a07b988792e84345fe4d63216eaff61/sequence.ml#L293
<nullcat> oh i see why...
<nullcat> never mind.........
hilquias has joined #ocaml
dav- has joined #ocaml
dav has quit [Ping timeout: 276 seconds]
ollehar has quit [Ping timeout: 256 seconds]
dsheets has joined #ocaml
jonh has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
jgjl has joined #ocaml
tmtwd has joined #ocaml
jabesed has joined #ocaml
jonludlam has joined #ocaml
ggole has quit []
zaquest has quit [Quit: Leaving]
<dmbaturin> http://pastie.org/10193733 Why ezxmlml preserves whitespace between tags as separate data items? Is there a way to talk it out of it?
<nullcat> Drup: still have some questions...
<nullcat> I still use "Lwt_stream.from f" and "f" uses unfoldr?
ygrek has quit [Ping timeout: 256 seconds]
tsumetai has quit [Ping timeout: 252 seconds]
<dmbaturin> Ah, they don't appear in the result or Ezxmlm.member
A19774941 has left #ocaml [#ocaml]
jabesed has quit [Ping timeout: 264 seconds]
<Drup> nullcat: it's exactly what you did, really ... just that you put the speicific stuff out and have a generic function
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
raboof has quit [Changing host]
raboof has joined #ocaml
<nullcat> I understand how unfoldr works...
<nullcat> the ref thing does not change, the only change is that I provide a general function to update the state?
<nullcat> the state is still outside of function "f"
<Drup> yes
<nullcat> ok cool...
Gama11 has quit [Ping timeout: 240 seconds]
Gama11 has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Gama11_ has joined #ocaml
Hannibal_Smith has joined #ocaml
rand000 has joined #ocaml
jabesed has joined #ocaml
Gama11 has quit [Ping timeout: 244 seconds]
zaquest has joined #ocaml
<apache2> Is there a way to get compile-time warnings of unmatched exceptions?
<Drup> no
<apache2> like the warnings for inexhaustive pattern matching?
<apache2> Drup: Isn't that sort of bad? :(
<Drup> sort of, yes
hay207 has quit [Ping timeout: 264 seconds]
<apache2> is there a reason for that? is it hard to statically deduce which exceptions can be raised?
<Drup> yeah, it would need a significant change to the type system
<companion_cube> it's not hard, but indeed the type system would need to become more powerful
ygrek has joined #ocaml
robink_ has quit [Ping timeout: 244 seconds]
swgillespie has joined #ocaml
<adrien> it's also incredibly annoying
<adrien> (let's see)
muzzle has quit [Quit: Leaving.]
<Leonidas> java does that with checked exceptions, kind of
<adrien> it's really awful
<adrien> fairly often you want exceptions to propagate quite far away
<adrien> in java it's manual so even more horrible
<companion_cube> well, it could be polymorphic
<companion_cube> like, in effects
<companion_cube> "this function just propagates exceptions"
Hannibal_Smith has quit [Quit: Leaving]
<adrien> so maybe you could change that to only be required at the point where the user asks for the checks
robink_ has joined #ocaml
<adrien> but I have some doubts
<companion_cube> rgrinberg: what do you use nanomsg for? :)
<rgrinberg> companion_cube: nothing, yet...
<companion_cube> well it looks nice
<companion_cube> I like the Lwt api
<rgrinberg> credit to vbmithr_
<rgrinberg> he's the main maintainer now
<nullcat> rgrinberg: what do you mean by batch request?
<rgrinberg> nullcat: your lib only supports the pattern req -> rep -> req -> rep
<rgrinberg> sometimes you want [req, req, req] -> [rep, rep, rep]
<Drup> adrien: let's not take java as an example if a feature is good or not
<nullcat> then why don't just List.map ?...
<nullcat> req is now uid
<nullcat> rep is uid's follower list
<Drup> example to illustrate my point: static type system.
<companion_cube> :>
<nullcat> given an uid, f returns a Lwt_stream.t that can be used by user (like Lwt_stream.get)
ygrek has quit [Ping timeout: 276 seconds]
<rgrinberg> nullcat: but you said you care about efficiency. You can make fetching 3 requests at once more efficient using keep alive for example.
<nullcat> oh i see your point. reuse http connection...
<rgrinberg> In fact, most "real" high level clients usually have a fix thread pool of keep alive connections
<apache2> adrien: I would think that something similar to the warnings for inexhaustive pattern matching is exactly what you want.
<apache2> or it could be reflected in the inferred type signature or something. I like how Java forces you to be explicit about "raises ..."
<rgrinberg> nullcat: anyway i don't think you have to implement because all of that; it would quite complex.
<nullcat> rgrinberg: wait. actually for "req1 -> rep1 -> req2 -> rep2", "req2" depends on "rep1"
<nullcat> that's why it has to be like that
<nullcat> you cannot send three reqs at once
<rgrinberg> oh ok, then your API is fine
<nullcat> yeah, b/c req2's "cursor" value is rep1's "next_cursor" value
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
n11530 has joined #ocaml
n11530 has left #ocaml [#ocaml]
nullcat has joined #ocaml
matason has quit []
rgrinberg has quit [Ping timeout: 244 seconds]
<adrien> apache2: except these don't propagate
<adrien> Drup: sure, give me another example
<apache2> adrien: yeah, alright, I was just checking :)
ollehar has joined #ocaml
jonludlam has quit [Ping timeout: 272 seconds]
MercurialAlchemi has quit [Ping timeout: 244 seconds]
jonh has left #ocaml ["WeeChat 0.4.2"]
logzet_ has quit [Quit: WeeChat 1.1.1]
Simn has quit [Quit: Leaving]
Cyanure has quit [Remote host closed the connection]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dsheets has quit [Ping timeout: 256 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tani has quit [Quit: Verlassend]
ollehar has quit [Quit: ollehar]
yomimono has joined #ocaml
yomimono has quit [Read error: Connection reset by peer]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
b0mbastus has quit [Ping timeout: 265 seconds]
robink_ is now known as robink
thegameg has quit [Ping timeout: 256 seconds]
ontologiae_ has quit [Ping timeout: 245 seconds]
nv_ has joined #ocaml
psy_ has quit [Ping timeout: 255 seconds]
nv_ has quit [Quit: leaving]
Gama11_ has quit [Read error: Connection reset by peer]
Kakadu has quit [Remote host closed the connection]
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
psy_ has joined #ocaml
thomasga has quit [Quit: Leaving.]
struktured has joined #ocaml
rgrinberg has joined #ocaml
avsm has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
Denommus has joined #ocaml
avsm has quit [Quit: Leaving.]