adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org and http://caml.inria.fr | http://ocaml.org/releases/4.02.0.html | Public channel logs at http://irclog.whitequark.org/ocaml
circ-user-etfiX has quit [Ping timeout: 250 seconds]
arj has joined #ocaml
sheijk has joined #ocaml
arj has quit [Ping timeout: 258 seconds]
AltGr has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
jonludlam has quit [Quit: Coyote finally caught me]
BitPuffin has joined #ocaml
madroach has quit [Ping timeout: 250 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
madroach has joined #ocaml
arj has joined #ocaml
pierpa has quit [Ping timeout: 256 seconds]
arj has quit [Ping timeout: 264 seconds]
MrScout has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest56118
ygrek has joined #ocaml
yomimono has quit [Ping timeout: 272 seconds]
Guest56118 has quit [Ping timeout: 244 seconds]
yomimono has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 256 seconds]
shinnya has quit [Ping timeout: 258 seconds]
MrScout has quit [Remote host closed the connection]
MrScout has joined #ocaml
darkf has joined #ocaml
MrScout has quit [Ping timeout: 258 seconds]
MrScout has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
MrScout has quit [Remote host closed the connection]
hugomg has quit [Quit: Leaving]
MrScout has joined #ocaml
WraithM has quit [Ping timeout: 255 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
BitPuffin has quit [Ping timeout: 272 seconds]
MrScout has quit [Ping timeout: 258 seconds]
btrace_ has quit [Read error: Connection reset by peer]
btrace_ has joined #ocaml
btrace_ has quit [Client Quit]
segmond has quit [Ping timeout: 245 seconds]
circ-user-etfiX has joined #ocaml
arj has joined #ocaml
sheijk has quit [Ping timeout: 250 seconds]
arj has quit [Ping timeout: 240 seconds]
segmond has joined #ocaml
martintrojer has quit [Ping timeout: 264 seconds]
martintrojer has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
yomimono has quit [Ping timeout: 258 seconds]
samrat has joined #ocaml
maufred has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
q66 has quit [Quit: Leaving]
arj has quit [Ping timeout: 256 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest64378
badkins has quit []
Guest64378 has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
ygrek has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
maufred has joined #ocaml
<struktured> hmm was looking for a missing mtgox ocaml module until I realized its probably because mtgox ceased to exist
samrat has quit [Ping timeout: 264 seconds]
arj has joined #ocaml
samrat has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
samrat has quit [Client Quit]
girrig has quit [Ping timeout: 244 seconds]
bytbox has quit [Remote host closed the connection]
girrig has joined #ocaml
manizzle has quit [Ping timeout: 245 seconds]
circ-user-etfiX has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
Submarine has quit [Remote host closed the connection]
ljs has joined #ocaml
arj has joined #ocaml
pyon has quit [Quit: Know your place, 3D woman!]
arj has quit [Ping timeout: 258 seconds]
bytbox has joined #ocaml
ygrek has quit [Ping timeout: 255 seconds]
manud_ has quit [Quit: Be back later ...]
ggole has joined #ocaml
manud_ has joined #ocaml
arj has joined #ocaml
manud_ has quit [Ping timeout: 256 seconds]
arj has quit [Ping timeout: 256 seconds]
circ-user-etfiX has joined #ocaml
manizzle has joined #ocaml
circ-user-etfiX has quit [Ping timeout: 256 seconds]
arj has joined #ocaml
arj has quit [Ping timeout: 250 seconds]
larhat has quit [Quit: Leaving.]
siddharthv_away is now known as siddharthv
samrat has quit [Quit: Computer has gone to sleep.]
pierpa` has quit [Ping timeout: 245 seconds]
circ-user-etfiX has joined #ocaml
bytbox has quit [Remote host closed the connection]
arj has joined #ocaml
girrig has quit [Ping timeout: 245 seconds]
claudiuc has quit [Remote host closed the connection]
girrig has joined #ocaml
arj has quit [Ping timeout: 256 seconds]
girrig has quit [Ping timeout: 265 seconds]
mcc has joined #ocaml
girrig has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
psy_ has quit [Read error: No route to host]
psy_ has joined #ocaml
arj has joined #ocaml
circ-user-etfiX has quit [Ping timeout: 244 seconds]
arj has quit [Ping timeout: 272 seconds]
AlexRussia has quit [Quit: WeeChat 1.1-dev]
typedlambda has quit [Ping timeout: 250 seconds]
SGrondin has joined #ocaml
typedlambda has joined #ocaml
<SGrondin> Hi, I'm new-ish to OCaml and I understand that Lwt and Async code can't be mixed for obvious reasons, but has anyone here used https://github.com/janestreet/lwt-async ? What do you do when there's a library you'd love to use but it uses the "other" event loop? Thanks :)
ikaros has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 244 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest55760
Guest55760 has quit [Ping timeout: 240 seconds]
psy_ has quit [Remote host closed the connection]
arj has joined #ocaml
manud_ has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
ljs has quit [Quit: Be back later ...]
flasheater has quit [Remote host closed the connection]
bugabinga has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
arj has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
arj has quit [Ping timeout: 240 seconds]
q66[lap] has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
bezirg has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
bezirg has quit [Quit: Leaving.]
bezirg has joined #ocaml
larhat has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
pii4 has quit [Changing host]
pii4 has joined #ocaml
arj has joined #ocaml
<arj> whitequark: opam-query and opam query is something completely different, right? I just wondered: maybe the choice of names is not so good?
<arj> whitequark: I am sorry... opam query does not exist... I mixed up another opam like tool for a different language. There the "query" command exists :/
pii4 has quit [Quit: freenode]
bezirg has left #ocaml [#ocaml]
pii4 has joined #ocaml
pii4 has quit [Client Quit]
ygrek has joined #ocaml
pii4 has joined #ocaml
badon has quit [Ping timeout: 250 seconds]
pii4 has quit [Quit: [-.-]...]
pii4 has joined #ocaml
psy_ has joined #ocaml
pii4 has quit [Client Quit]
octachron has joined #ocaml
pgomes has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest52073
NoNNaN has joined #ocaml
Guest52073 has quit [Ping timeout: 256 seconds]
pgomes has quit [Ping timeout: 255 seconds]
thomasga has joined #ocaml
Thooms has joined #ocaml
zpe has joined #ocaml
manud_ has quit [Quit: Lingo: www.lingoirc.com]
q66[lap] has quit [Read error: Connection reset by peer]
SGrondin has quit [Quit: Leaving.]
q66[lap] has joined #ocaml
bezirg has joined #ocaml
bezirg has quit [Client Quit]
ljs has joined #ocaml
bezirg has joined #ocaml
dch has quit [Ping timeout: 244 seconds]
jcloud has quit [Ping timeout: 244 seconds]
nox has quit [Read error: Network is unreachable]
dch has joined #ocaml
nox_ has joined #ocaml
jcloud has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
ljs has quit [Ping timeout: 258 seconds]
q66[lap] has quit [Read error: Connection reset by peer]
zpe has quit [Remote host closed the connection]
q66[lap] has joined #ocaml
ddosia has joined #ocaml
larhat has quit [Ping timeout: 264 seconds]
btrace has joined #ocaml
larhat has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
tane has joined #ocaml
<companion_cube> I'm not sure: does yojson mix well with Lwt?
psy_ has quit [Remote host closed the connection]
BitPuffin has joined #ocaml
kakadu has joined #ocaml
Simn has joined #ocaml
vogler has joined #ocaml
tane has quit [Remote host closed the connection]
zpe has joined #ocaml
vogler has quit [Quit: WeeChat 1.0.1]
demonimin_ has quit [Ping timeout: 272 seconds]
psy_ has joined #ocaml
<Leonidas> companion_cube: depends on what you mean with "well". I use it in a project, but it is blocking of course.
<companion_cube> erf.
freling has joined #ocaml
demonimin has joined #ocaml
avsm has joined #ocaml
demonimin has quit [Changing host]
demonimin has joined #ocaml
ollehar has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest81960
jonludlam has joined #ocaml
pii4 has joined #ocaml
<orbitz> Is there a good way to use opam to build out something you want to install not in opam? For example, I have an ocaml project that generates a bunch of binaries and I want to take them and make a tarball, and of course I want to use opam to handle the building
Guest81960 has quit [Ping timeout: 245 seconds]
<companion_cube> opam isn't a build system, why would you need it?
<orbitz> because i want the deps
<orbitz> i have a lot of deps to be installed
<Leonidas> companion_cube: in my case, that's not a problem, since JSON generation is not a bottleneck :-)
<Leonidas> orbitz: you can tell it to just install the deps of your package.
<orbitz> what do you mean by 'it' here?
nicoo has quit [Ping timeout: 250 seconds]
Thooms has joined #ocaml
AlexRussia has joined #ocaml
avsm has quit [Quit: Leaving.]
<companion_cube> orbitz: then write a local "opam" file and pin it
AltGr has left #ocaml [#ocaml]
<orbitz> companion_cube: but won't that still 'install'?
nicoo has joined #ocaml
<orbitz> Or do you mean just do the 'make'
_andre has joined #ocaml
<companion_cube> use an empty "install" section, I'd say
<companion_cube> opam would be used to install/upgrade the dependencies
<flux> I think he wants to use them only for compiling his package
<flux> he doesn't want them to be installed 'globally' for the user to use
<companion_cube> yes, with a "build" section that does it, and "install" section that does nothing
<flux> perhaps orbitz can just opam init a local opam tree and install there.
<Leonidas> an opam sandbox, so to say?
<Leonidas> orbitz: I've been using a pinned opam file for CI: it installs the dependencies via OPAM and then proceeds to build the code manually.
<Leonidas> thinking of it, I could just as well use opam for that too.
<orbitz> Hrm i'll think about it
<orbitz> the distribution method I'm trying to use right now, for my own convenience, is just adding an opam repo just for this, and then doing opam install, and my package is in like /tmp/foo.tar
<orbitz> or something
<orbitz> ugly, I know, but this package is a bit funny
<orbitz> Thanks for the suggestions
ljs has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
ljs has quit [Ping timeout: 255 seconds]
ygrek has quit [Ping timeout: 250 seconds]
BitPuffin has quit [Ping timeout: 255 seconds]
ljs has joined #ocaml
jpdeplaix has quit [Ping timeout: 255 seconds]
ljs has quit [Ping timeout: 272 seconds]
jpdeplaix has joined #ocaml
zwer_n has joined #ocaml
zwer_n has left #ocaml [#ocaml]
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
oscar_toro has joined #ocaml
ebzzry has quit [Remote host closed the connection]
siddharthv is now known as siddharthv_away
cesar_ has joined #ocaml
ebzzry has joined #ocaml
cesar_ is now known as Guest34632
Guest34632 has quit [Ping timeout: 272 seconds]
thomasga has quit [Quit: Leaving.]
ebzzry has quit []
ebzzry has joined #ocaml
thomasga has joined #ocaml
ddosia has quit [Quit: Leaving.]
AlexRussia has quit [Quit: WeeChat 1.1-dev]
AlexRussia has joined #ocaml
florent_ is now known as gal_bolle
AlexRussia has quit [Ping timeout: 272 seconds]
AlexRussia has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
mcc has quit [Quit: This computer has gone to sleep]
<whitequark> wow, gasche's caml-list mail
<whitequark> repsonding to a single sentence with five paragraphs of text and extensive links to source
<whitequark> *sources
dsheets_ has joined #ocaml
BitPuffin has joined #ocaml
<companion_cube> I think that's called "procrastinating one's thesis" ^^
kaustuv has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
<kaustuv> I have some software that requires a package named ulex08. Is there any way I can tell ocamlfind to alias that to ulex?
psy_ has quit [Remote host closed the connection]
<whitequark> not really
<whitequark> you can make a symlink from the ulex directory in lib to ulex08, I think
chambart has joined #ocaml
tane has joined #ocaml
mort___ has joined #ocaml
jao has quit [Ping timeout: 240 seconds]
<Leonidas> there is no inverse operation to frexp in the stdlib?
oscar_toro has quit [Quit: Leaving.]
<Leonidas> its docs state the reverse operation :-/
MercurialAlchemi has joined #ocaml
psy_ has joined #ocaml
<nicoo> Leonidas: ldexp ?
<nicoo> Well, `uncurry ldexp` if you want to be pedantic
cesar_ has joined #ocaml
cesar_ is now known as Guest80901
shinnya has joined #ocaml
demonimin has quit [Ping timeout: 258 seconds]
ygrek has joined #ocaml
Guest80901 has quit [Ping timeout: 255 seconds]
<Leonidas> still have to write my own uncurry wrapper function
<Leonidas> but yeah, thanks.
demonimin has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
<whitequark> why is module C = MakeC(T).Random a syntax error?
sheijk has joined #ocaml
<Drup> pretty sure you need to bind the result of the functor before
<whitequark> ugh
darkf has quit [Quit: Leaving]
<whitequark> Drup: how do I write something like
<whitequark> module BindStorage(T: functor(Sodium_storage.S) -> sig end) = struct
<Drup> high order functor !
<whitequark> yes
<Drup> you are stepping into functor-crazy territory :D
<Drup> functor(M:Sodium_storage.S) -> sig end
<Drup> you need to name it.
<whitequark> also, is there some syntax for executing a functor just for side effectS?
<Drup> and forget the name ?
<whitequark> yea
<Drup> let () = let module M=F(X) in ()
<whitequark> ugh
<whitequark> okay
<Drup> Maybe you could ask on mantis to be able to say "module _ = .."
<Drup> it would be consistent with other bindings
<whitequark> yes, I was thinking
<Drup> but, what are you doing to need a functor *only* for its side effects ?!
<whitequark> ctubs
<whitequark> *cstubs
<Drup> Oh, hum, ok.
<whitequark> 6662
<whitequark> 41 bug reported...
<whitequark> module type WITH_STORAGE = functor(Sodium_storage.S) -> sig end
<whitequark> doesn't work
<Drup> you need to name it !
<Drup> (M:Sodium_storage.s)
<Drup> .S*
<whitequark> right
<whitequark> actually, this works even without naming the whole type, then
<whitequark> oh
<whitequark> that's what you said
<whitequark> dumb me.
<MercurialAlchemi> 14.
<MercurialAlchemi> nevermind
badkins has joined #ocaml
olauzon has joined #ocaml
engil has quit [Changing host]
engil has joined #ocaml
ygrek has quit [Ping timeout: 258 seconds]
ygrek has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest23446
Guest23446 has quit [Ping timeout: 255 seconds]
larhat has quit [Quit: Leaving.]
bytbox has joined #ocaml
pyon has joined #ocaml
<Drup> whitequark: for ppx that take a structure_item and returns a structure, you don't have other choice than to map on "structure" and iterate manually through the sturcture_item ?
<Drup> through the list of structure_items
bezirg has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 240 seconds]
bytbox has quit [Remote host closed the connection]
leifw_ is now known as leifw
ygrek has joined #ocaml
Hannibal_Smith has joined #ocaml
Thooms has joined #ocaml
ollehar has quit [Ping timeout: 256 seconds]
<Drup> want to buy List.flat_map in the stdlib :(
<hcarty> kaustuv: Another work-around is to "ocamlfind install ulex08 META" where META depends on ulex.
<Leonidas> so, List.(>>=)? :p
<Drup> Leonidas: yes
<Drup> even if the analogy is not very useful most of the time.
<Leonidas> it still confuses me why these are equivalent, need to learn more.
<companion_cube> Drup: you don't want to add dependencies? 0:-)
<Drup> companion_cube: you are right, I'm going to add containers as dependency of eliom.
<companion_cube> :>
<companion_cube> or, you know, copy a function
<companion_cube> (what's wrong with dependencies?)
<companion_cube> (I hear you ask that so often)
<Drup> I'm not joking
<companion_cube> oh
<Drup> we have a home grown stdlib anyway
<Drup> we could at least have a good one.
<companion_cube> is there something useful in eliom.stdlib \ containers?
<Drup> yes, but only eliom-specific things
<Drup> well, maybe not only, but mostly
<Drup> you can look it up yourself ^^'
j0sh has quit [Quit: leaving]
j0sh has joined #ocaml
<companion_cube> I guess it's src/tools/utils?
<Drup> err, death by ocamldoc-not-include
<companion_cube> doesn't look like it contains many List or Option related stuff
<Drup> no, it doesn't
<Leonidas> meh, BatList doesn't have flat_map either. That's odd
<Drup> It's called differently
<whitequark> Drup: no, no other choice
bytbox has joined #ocaml
<Drup> Leonidas: actually, you are right, I don't find it
<Drup> It's called concat_map in BatEnum
<Drup> but it's not in BatList
<Leonidas> ah!
<companion_cube> yeah, it's not defined
<Drup> weird, I remember coding it
<companion_cube> "just use flatten (map f l)" basically
<Drup> maybe it was so innefficiant that I didn't bother including it.
<Leonidas> talking about battieres, what happened to thelema?
<Drup> companion_cube: the inlined version is oh-so-slightly better.
<companion_cube> Drup: I don't remember, I just remember having a PR to add it
<companion_cube> :D
bytbox has quit [Ping timeout: 244 seconds]
sheijk has quit [Quit: .]
ikaros has quit [Quit: Ex-Chat]
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
octachron has quit [Quit: Leaving]
tane has quit [Quit: Verlassend]
ygrek has quit [Ping timeout: 250 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest60593
arj has quit [Quit: Leaving.]
Guest60593 has quit [Ping timeout: 255 seconds]
Thooms has quit [Quit: WeeChat 1.0.1]
kakadu has quit [Ping timeout: 246 seconds]
chambart has quit [Ping timeout: 264 seconds]
axiles has joined #ocaml
zpe has quit [Remote host closed the connection]
jbalnit has quit [Quit: Leaving.]
pgomes has joined #ocaml
tane has joined #ocaml
badon has joined #ocaml
ggole has quit []
pierpa` has joined #ocaml
octachron has joined #ocaml
pgomes has quit [Ping timeout: 255 seconds]
jwatzman|work has joined #ocaml
emery has quit [Ping timeout: 250 seconds]
emery has joined #ocaml
kakadu has joined #ocaml
q66 has joined #ocaml
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
struktured has quit [Quit: Konversation terminated!]
struktured has joined #ocaml
WraithM has joined #ocaml
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
MrScout has joined #ocaml
struk_at_work has quit [Ping timeout: 246 seconds]
slash^ has joined #ocaml
mort___ has quit [Ping timeout: 272 seconds]
zpe has joined #ocaml
jbalnit has joined #ocaml
manizzle has quit [Ping timeout: 240 seconds]
dav has joined #ocaml
dav has quit [Changing host]
dav has joined #ocaml
<companion_cube> whitequark: ppx_deriving_yojson does trigger 'unused rec flag' :)
<whitequark> companion_cube: you know what to do :p
<companion_cube> erf
chambart has joined #ocaml
MrScout has quit [Remote host closed the connection]
MrScout_ has joined #ocaml
dsheets_ has quit [Ping timeout: 240 seconds]
malo has joined #ocaml
dsheets_ has joined #ocaml
manizzle has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest34814
AlexRussia has quit [Ping timeout: 245 seconds]
paddymahoney has joined #ocaml
AlexRussia has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
MrScout has joined #ocaml
MrScout has quit [Ping timeout: 258 seconds]
Guest34814 has quit [Remote host closed the connection]
WraithM has quit [Ping timeout: 265 seconds]
axiles has quit [Quit: Quitte]
mearnsh has quit [Ping timeout: 255 seconds]
mearnsh has joined #ocaml
Hannibal_Smith has quit [Quit: Sto andando via]
MrScout has joined #ocaml
BitPuffin has quit [Ping timeout: 256 seconds]
bytbox has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest86793
Guest86793 has quit [Remote host closed the connection]
claudiuc has joined #ocaml
chambart has quit [Ping timeout: 256 seconds]
ollehar has joined #ocaml
<ollehar> a function can return a module, right?
<companion_cube> a first-class module, yes
<ollehar> and this can be constructed with functor?
<ollehar> let return_module () = module M (N)
<companion_cube> let f () = let module S = Set.Make(Int) in (module S : Set.S with type elt=int);;
dav has quit [Quit: leaving]
<nlucaroni> was there a reason functor application isn't allowed within the module-expr part of the grammar? e.g., let f () = (Set.Make(Int) : Set.S with type elt=int);;
larhat has joined #ocaml
<ollehar> let get_shipgenerator race = match race with
<ollehar> | Rabbit -> let module M = (ShipGenerator (Rabbit)) in M
<ollehar> ;;
nlucaroni has quit [Quit: leaving]
<ollehar> not working
<ollehar> unknown identifier M
samrat has joined #ocaml
<ollehar> *unbound
manud has joined #ocaml
<Drup> ollehar: replace "M" by "(module M : ...)"
<ollehar> OT, but why can't it infer the type of M?
<Drup> the answer is basically "the types are complicated"
<ollehar> ha
<Drup> it would technically be possible, I think, but it's not done by ocaml
marchelzo_ has joined #ocaml
<ollehar> help
<ollehar> can't figure out type
<ollehar> M : ShipGenerator
slash^ has quit [Read error: Connection reset by peer]
<ollehar> but with submodule Rabbit
Anarchos has joined #ocaml
<octachron> Rabbit is a module?
<ollehar> Yeah
<ollehar> oh darn
<ollehar> I have both a type Rabbit and a module Rabbit : ANIMALTYPE
<ollehar> renamed Rabbit to RabbitModule
Anarchos has quit [Client Quit]
<_2can> hello, could someone help me figure out what the >>= operator does in the example here https://github.com/rgrinberg/obeanstalk ?
<ollehar> monadic bind?
Anarchos has joined #ocaml
chambart has joined #ocaml
bytbox has quit [Read error: Connection reset by peer]
bytbox has joined #ocaml
<smondet> _2can: in that example the monad is Deferred.t; B.Worker.reserve bs >>= (fun job -> ...) the left side of `>>=` is a "future" value, the right side is a function that will be called when the future is "realized"
<octachron> "deferred_value >>= f" when the computation of deferred_value is done feeds its value to the function f which will compute a new deferred value
<_2can> I see, and the >>| ?
<ollehar> what type has a module created by a functor?
<mrvn> ollehar: depends on the functor
<ollehar> let module M = (ShipGenerator (RabbitModule)) in (module M : sig ... end)
<mrvn> ollehar: and each invokation generates an unique new type
<ollehar> mrvn: but you have a sig of both functor and parameter module?
<octachron> ollehar: you could use the toplevel to see what is the type of your functor
<mrvn> ollehar: the sig of the functor shows you the return type of the functor
pgomes has joined #ocaml
<ollehar> but I can't use explicit sig in first-class module?
<mrvn> What doesShipGenerator look like?
<octachron> ollehar: otherwise something like module type S = module type of ShipGenerator(RabbitModule) may work
<smondet> _2can: m >>| f is a "shortcut" for m >>= (fun x -> return (f x))
<mrvn> For example Map.Make is functor (Ord : OrderedType) -> S with type key = Ord.t, so you use (M : S)
<mrvn> A good functor should define types for input and output.
ljs has joined #ocaml
<_2can> smondet, octachron: thank you, I'm going to read up on monads
NoNNaN has quit [Ping timeout: 250 seconds]
manud has quit [Quit: Be back later ...]
ljs has quit [Quit: Be back later ...]
thomasga has quit [Quit: Leaving.]
deavid has quit [Read error: Connection reset by peer]
deavid has joined #ocaml
ljs has joined #ocaml
tane has quit [Quit: Verlassend]
ljs has quit [Client Quit]
ljs has joined #ocaml
kerneis_ has quit [Ping timeout: 256 seconds]
kerneis_ has joined #ocaml
ljs has quit [Ping timeout: 244 seconds]
dsheets_ has quit [Ping timeout: 245 seconds]
paddymahoney has quit [Ping timeout: 255 seconds]
ljs has joined #ocaml
ljs has quit [Read error: Connection reset by peer]
ljs has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest99363
BitPuffin has joined #ocaml
Guest99363 has quit [Ping timeout: 264 seconds]
bytbox has quit [Remote host closed the connection]
Submarine has quit [Ping timeout: 272 seconds]
manud has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
SGrondin has joined #ocaml
WraithM has joined #ocaml
Submarine has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
manud has quit [Read error: Connection reset by peer]
manud has joined #ocaml
ljs has quit [Quit: Be back later ...]
ollehar has quit [Remote host closed the connection]
ljs has joined #ocaml
bjorkintosh has quit [Quit: Leaving]
waneck has joined #ocaml
octachron has quit [Quit: Leaving]
ljs has quit [Ping timeout: 245 seconds]
ljs has joined #ocaml
jonludlam has quit [Quit: Coyote finally caught me]
ljs has quit [Read error: Connection reset by peer]
ljs has joined #ocaml
manud has quit [Read error: Connection reset by peer]
manud_ has joined #ocaml
ljs has quit [Quit: Be back later ...]
bytbox has joined #ocaml
johnelse has quit [Ping timeout: 240 seconds]
pgomes has left #ocaml ["Leaving"]
siddharthv_away has quit [Ping timeout: 250 seconds]
johnelse has joined #ocaml
siddharthv_away has joined #ocaml
johnelse is now known as Guest42622
reynir is now known as reynur
manud_ has quit [Read error: Connection reset by peer]
manud_ has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 255 seconds]
WraithM has quit [Ping timeout: 258 seconds]
sheijk has joined #ocaml
manud_ has quit [Quit: Be back later ...]
<companion_cube> whitequark: ping
<whitequark> companion_cube: pong
<companion_cube> I'm trying to debug ppx_deriving_yojson, with:
badon_ has joined #ocaml
<companion_cube> ~/.opam/4.02.1/lib/ppx_tools/rewriter -ppx "$PPX/ppx_deriving _build/src/ppx_deriving_yojson.cmxs $PPX/ppx_deriving_show.cmxs" src_test/test_ppx_yojson.ml
<companion_cube> where PPX points to `ocamlfind query ppx_deriving`
<companion_cube> but I basically get "show cannot be derived for [%import :Yojson.Safe.json]"
\q has quit [Ping timeout: 240 seconds]
<whitequark> you need to run import before deriving
<whitequark> well, obviously
<whitequark> import is not a part of deriving.
<companion_cube> oh
badon has quit [Disconnected by services]
<companion_cube> so how should I invoke ppx_import? :3
\q has joined #ocaml
chambart has quit [Ping timeout: 265 seconds]
<companion_cube> just tried -ppx "`ocamlfind query ppx_import`/ppx_import `ocamlfind query yojson`/yojson.cmi"
<companion_cube> but well...
<whitequark> two -ppx
<whitequark> also don't do query
<whitequark> just ocamlfind ppx_import/ppx_import
<whitequark> also ppx_import doesn't accept command-line arguments
<whitequark> it doesn't need any, too
<companion_cube> wait,do I need to have two -ppx or only one?
<whitequark> two
<whitequark> first import, then deriving
<companion_cube> ~/.opam/4.02.1/lib/ppx_tools/rewriter -ppx "`ocamlfind ppx_import/ppx_import`" -ppx "$PPX/ppx_deriving _build/src/ppx_deriving_yojson.cmxs $PPX/ppx_deriving_show.cmxs" src_test/test_ppx_yojson.ml
reynur is now known as reynir
<whitequark> no, not ``
<whitequark> what the hell are you doing
enitiz has joined #ocaml
<whitequark> ocamlfind ppx_tools/rewriter -ppx 'ocamlfind ppx_import/ppx_import' -ppx 'ocamlfind ppx_deriving/ppx_deriving _build/src/ppx_deriving_yojson.cmxs PPX/ppx_deriving_show.cmxs'
<whitequark> wait, .cmxs?
<whitequark> why the fuck are you passing .cmxs?!
<whitequark> .cma
struktured has quit [Ping timeout: 258 seconds]
<whitequark> it changes the extenion automatically
<whitequark> crap, my letter on the keyboard died
<whitequark> ocamlfind ppx_tools/rewriter -ppx 'ocamlfind ppx_import/ppx_import' -ppx 'ocamlfind ppx_deriving/ppx_deriving _build/src/ppx_deriving_yojson.cma $PPX/ppx_deriving_show.cma'
<whitequark> thi should work
\q has quit [Ping timeout: 255 seconds]
\q has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<companion_cube> cannot locate module Yojson
<whitequark> hmmm
* companion_cube facepalms
<whitequark> add -I `ocamlfind query yojson -I-format`
<whitequark> er, without -I
<whitequark> just `ocamlfind query yojson -i-format`
kandu has quit [Ping timeout: 265 seconds]
kandu has joined #ocaml
olauzon has quit [Quit: olauzon]
<companion_cube> to the ppx_import ?
kandu is now known as Guest44428
<whitequark> to the rewriter
<companion_cube> same
<companion_cube> I think it would be faster if you did the command line on your side... didn't you use rewriter to test ppx_deriving_yojson ?
<whitequark> rewriter did not exist then
<whitequark> indeed, it doesn't work with -I even
<whitequark> that's odd
Guest6 has joined #ocaml
<whitequark> it's really odd, especially since I in fact tested rewriter on ppx_import
<companion_cube> did you try on your computer?
<whitequark> sure
<whitequark> -I doesn't help
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
<companion_cube> let rec i1_to_yojson: _ -> Yojson.Safe.json = fun x -> `Int x[@@ocaml.warning (-39)] ← ok, so that's not where I should put the annotation, I guess?
<companion_cube> it still triggers the warning
<companion_cube> (I removed ppx_import to be able to test)
bytbox has quit [Remote host closed the connection]
<whitequark> it should be "-39"
<companion_cube> oh
\q has quit [Ping timeout: 245 seconds]
thomasga has joined #ocaml
<companion_cube> http://vrac.cedeela.fr/test.ml I get this, and with warning 39 enabled it outputs a lot of warnings :(
\q has joined #ocaml
<whitequark> try putting it on the fun
Guest44428 has quit [Remote host closed the connection]
Simn has quit [Quit: Leaving]
<whitequark> oh, that's what you do
<whitequark> or do you? hm, @ vs @@
<Drup> @@, it's on the struct
Guest6 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<whitequark> but why is [@@x] right before and?
<whitequark> that doesn't make sense
<Drup> indeed
<companion_cube> well, ok, where shoudl I put it?
<Drup> This flow thing is impressive.
<whitequark> companion_cube: I have no idea
<companion_cube> I don't even know where to find the documentation of [@warning]
<companion_cube> Drup: ?
<whitequark> companion_cube: in the source!
<companion_cube> whitequark: of the compiler? :D
<companion_cube> oh god you're not joking
<whitequark> I'm not
<companion_cube> Drup: oh, same thing as hack?
<Drup> for javascript
<companion_cube> yeah
kandu_ has joined #ocaml
milosn has quit [Ping timeout: 265 seconds]
govg has quit [Ping timeout: 255 seconds]
<Drup> I know several researcher working on the topic, too, which makes me slightly laugh. Being overtakeng by javascript on an academic topic ... :D
<Drup> by facebook*
milosn has joined #ocaml
<companion_cube> well, facebook has fundings :p
<jwatzman|work> and a whole ton of PHP and JS code that makes focusing a lot of effort on tooling for it totally worth it :)
<jwatzman|work> (I work on Hack, and can see the Flow team from where I sit)
<companion_cube> well,cheers
cesar_ has joined #ocaml
<Drup> jwatzman|work: oh, nice :)
pierpa has joined #ocaml
cesar_ is now known as Guest48051
<companion_cube> well... @warning isn't in http://caml.inria.fr/pub/distrib/ocaml-4.02/notes/Changes
<SGrondin> Hey, I'm new to OCaml and I have a question for you guys... http://stackoverflow.com/questions/27005450/how-can-i-use-a-lwt-library-from-async-code It's got to be an obvious one? Because I can't seem to be able to find much about it online
<companion_cube> mixing Async and Lwt? doesn't sound good
<SGrondin> I know :(
zpe has quit [Remote host closed the connection]
<SGrondin> I found the tiny code snippets in the last post here: http://alan.petitepomme.net/cwn/2011.11.01.html not sure if it'll be enough?
govg has joined #ocaml
sheijk has quit [Read error: Connection reset by peer]
<whitequark> I think lwt-async is supposed to be a replacement of lwt
<whitequark> however, packages in opam rather depend on lwt directly
<SGrondin> Yeah, so I'd need to download and compile from the sources manually and then point them at lwt-async or something?
<whitequark> you could try opam pinning it
<SGrondin> oh good idea
<whitequark> don't expect it to work
milosn has quit [Ping timeout: 250 seconds]
<SGrondin> yeah, all my options sound painful
Guest48051 has quit [Ping timeout: 245 seconds]
<SGrondin> I could rewrite it to async, it's not huge, but I'm not confident in my abilities with the language yet to not make a tiny mistake or bad assumption somewhere, especially with that kind of code
milosn has joined #ocaml
<companion_cube> meh, spent the evening on this @warning thing, didn't get a solution -_-
<whitequark> open a bug on mantis, ask frisch
<whitequark> this should work in fact
<whitequark> I dunno why it does not
<companion_cube> well I'll push the commit on github anyway, so you can check it
sheijk has joined #ocaml
<Drup> SGrondin: pure curiosity, what are you trying to use with what ?
samrat has quit [Quit: Computer has gone to sleep.]
<SGrondin> A Async+Cohttp server I wrote that connects to a bunch of services with https://github.com/vbmithr/ocaml-websocket
<companion_cube> maybe the correct workaround is for libraries to functorize over the IO monad
<Drup> SGrondin: what prevents you to use lwt ? :p
<SGrondin> I'd have to rewrite quite a bit (not so bad) and I like Core..
<SGrondin> and it's a fun challenge
<companion_cube> for some value of "fun" :p
milosn has quit [Remote host closed the connection]
<SGrondin> btw Cohttp just abstracts away all the threading stuff and then offers 2 implementations: lwt and async
milosn has joined #ocaml
<SGrondin> the code is very nice, too. there's no docs but reading the sources was so easy
thomasga has quit [Quit: Leaving.]
<Drup> SGrondin: Code is independent, you can use Core+Lwt.
<whitequark> imo you should use lwt
<Drup> Core*
<SGrondin> Alright, I'll switch to it if I can't get OPAM pinning or lwt-async to work
<companion_cube> whitequark: that's because you have a healthy lack of trust toward core/async :)
<Drup> If it's for the chalenge, no problem, have fun. But I wouldn't count on the fact that async-lwt works perfectly and all that :)
<SGrondin> yeah, I'm mentally prepared for the pain
<companion_cube> godspeed then ^^
<SGrondin> Ok, so I have 2 really beginner questions for you guys, I'm almost ashamed to ask
<Drup> it would be easier and more useful to functorized vbmithr's library
<SGrondin> yeah Drup, I agree, I opened a ticket to asking if he has plans to do so
<SGrondin> to ask*
<SGrondin> Alright, so my 2 really sad questions: In Async, Deferred.create passes an Ivar to be filled. What happens if I never fill it and return unit without blocking? Any bad consequences?
milosn has quit [Ping timeout: 250 seconds]
manud has joined #ocaml