adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.07.1 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.07/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml | Due to ongoing spam, you must register your nickname to talk on the channel
keep_learning_M has quit [Quit: This computer has gone to sleep]
JimmyRcom has quit [Ping timeout: 244 seconds]
smasta has joined #ocaml
smasta has quit [Ping timeout: 245 seconds]
kalio has quit [Quit: WeeChat 2.2]
kalio has joined #ocaml
smasta has joined #ocaml
keep_learning_M has joined #ocaml
silver has quit [Read error: Connection reset by peer]
erkin has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
keep_learning_M has joined #ocaml
maufred has quit [Ping timeout: 264 seconds]
mfp has quit [Ping timeout: 240 seconds]
JimmyRcom has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
keep_learning_M has joined #ocaml
keep_learning_M has quit [Client Quit]
keep_learning_M has joined #ocaml
fraxamo has joined #ocaml
tormen has joined #ocaml
tormen_ has quit [Ping timeout: 246 seconds]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
keep_learning_M has quit [Quit: This computer has gone to sleep]
kvda has joined #ocaml
erkin has quit [Remote host closed the connection]
keep_learning_M has joined #ocaml
JimmyRcom has quit [Ping timeout: 244 seconds]
pierpal has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
keep_learning_M has joined #ocaml
jao has quit [Ping timeout: 240 seconds]
fraxamo has quit [Quit: Leaving]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
keep_learning_M has quit [Quit: Leaving]
kvda has joined #ocaml
kvda has quit [Client Quit]
kvda has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
kvda has quit [Ping timeout: 240 seconds]
pierpal has quit [Read error: Connection reset by peer]
smasta has quit [Ping timeout: 245 seconds]
pierpal has joined #ocaml
MadcapJake has quit [Remote host closed the connection]
MadcapJake has joined #ocaml
copy` has quit [Ping timeout: 250 seconds]
yetanotherion[m] has quit [Ping timeout: 250 seconds]
flux[m] has quit [Ping timeout: 250 seconds]
rgr[m] has quit [Ping timeout: 250 seconds]
yetanotherion[m] has joined #ocaml
copy` has joined #ocaml
flux[m] has joined #ocaml
rgr[m] has joined #ocaml
steenuil has quit [Remote host closed the connection]
gjaldon___ has joined #ocaml
gjaldon__ has quit [Ping timeout: 264 seconds]
gjaldon___ is now known as gjaldon__
monad_cat has quit [Read error: Connection reset by peer]
monad_cat has joined #ocaml
jbrown has quit [Ping timeout: 252 seconds]
smasta has joined #ocaml
bartholin has joined #ocaml
nullifidian_ has joined #ocaml
nullifidian has quit [Read error: Connection reset by peer]
jbrown has joined #ocaml
nicoo has quit [Ping timeout: 256 seconds]
nicoo has joined #ocaml
srenatus[m] has quit [Ping timeout: 264 seconds]
srenatus[m] has joined #ocaml
smasta has quit [Ping timeout: 252 seconds]
smasta has joined #ocaml
ShalokShalom_ has joined #ocaml
pierpal has quit [Ping timeout: 244 seconds]
smasta has quit [Ping timeout: 272 seconds]
Haudegen has joined #ocaml
orbifx1 has joined #ocaml
sagotch has joined #ocaml
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
orbifx1 has quit [Ping timeout: 252 seconds]
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 250 seconds]
pierpal has joined #ocaml
mfp has joined #ocaml
carlosdagos has quit [Quit: Connection closed for inactivity]
pierpal has quit [Ping timeout: 245 seconds]
pierpal has joined #ocaml
kotrcka has quit [*.net *.split]
GreyFaceNoSpace has quit [Ping timeout: 246 seconds]
zolk3ri has joined #ocaml
GreyFaceNoSpace has joined #ocaml
ggole has joined #ocaml
sagotch has quit [Ping timeout: 252 seconds]
silver has joined #ocaml
Haudegen has quit [Remote host closed the connection]
pierpal has quit [Read error: Connection reset by peer]
spew has joined #ocaml
jao has joined #ocaml
MadcapJake has quit [Quit: MadcapJake]
pierpal has joined #ocaml
jao has quit [Ping timeout: 244 seconds]
freyr69 has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
GreyFaceNoSpace_ has joined #ocaml
GreyFaceNoSpace has quit [Quit: Ex-Chat]
pierpal has quit [Ping timeout: 246 seconds]
sagotch has joined #ocaml
GreyFaceNoSpace_ has quit [Quit: Ex-Chat]
Guest3875 has joined #ocaml
sagotch has quit [Ping timeout: 250 seconds]
Guest3875 has quit [Remote host closed the connection]
sagotch has joined #ocaml
Walter[m] has quit [Ping timeout: 264 seconds]
Walter[m] has joined #ocaml
Haudegen has joined #ocaml
spew has quit [Read error: Connection reset by peer]
spew_ has joined #ocaml
freyr69 has quit [Remote host closed the connection]
lizzin has joined #ocaml
al-damiri has joined #ocaml
spew_ is now known as spew
johnelse has quit [Read error: Connection reset by peer]
johnelse has joined #ocaml
johnelse has quit [Read error: Connection reset by peer]
<Ulrar> Is there some way to get rid of "implicit elimination of optional arguments ?buf, ?fname, ?lnum" when compiling ?
<Ulrar> Some way to explicitly eliminate them, I guess
<Drup> It's a warning, you can disable it
<Drup> Other than that, ?buf:None
<Drup> (but really, if it bother you, disable the warning)
<Ulrar> Yeah it's mirage, I don't know how to disable the warning
<Ulrar> the makefile is generated
<Drup> Ah, yeah. You can do it locally to a file with a [@@@ocaml.warning] annotation, but that's not perfect.
johnelse has joined #ocaml
<Drup> So, yeah, `?buf:None`, or actually applying the function (fun x -> bla x)
<Ulrar> I guess I'll go with None then, that's not too bad
<Ulrar> thanks
johnelse has quit [Read error: Connection reset by peer]
johnelse has joined #ocaml
err0ne has quit [Disconnected by services]
err0ne has joined #ocaml
ziyourenxiang has quit [Ping timeout: 246 seconds]
<sagotch> Is there a locale-sensitive String comparison function in the OCaml ecosystem?
JimmyRcom has joined #ocaml
erkin has joined #ocaml
fraxamo has joined #ocaml
Haudegen has quit [Remote host closed the connection]
sagotch has quit [Quit: Leaving.]
JimmyRcom has quit [Ping timeout: 240 seconds]
<ansiwen> dear ocaml friends, I have a question regarding partially applied functors:
<ZirconiumX> Don't ask to ask, just ask
<ansiwen> I have a functor of the form `module Make (X: X.S) (Y: S.Y) : S.Z with type foo = Foo.t` and partially apply it somewhere with `Module A = Make (MyX)`. If I then want to use type foo = A.foo it says "The module A is a functor, it cannot have any components".
<ansiwen> What is the right approach to solve that then?
<ansiwen> ZirconiumX: I didn't ask to ask, just gave a heads up. But I got your point. :-)
<ggole> If you want to use the result of a functor, you have to fully apply it.
<ansiwen> the signature S.Z contains a "type foo", of course
<ggole> It's as if you had written let f x y = {foo = ...}, and then let a = f 0 in a.foo
<ggole> But A does not have that signature
<ggole> If you apply A to a Y, then you will get a module with that signature.
<ansiwen> ggole: ok, but if I examine A, I get "functor (Y: S.Y) -> sig type foo = Foo.t [...] end, so the information is embedded in the signature of A. no change to "access" that information somehow?
<ggole> You can apply A
<ansiwen> s/change/chance/
<ansiwen> ggole: no, I can't yet, because I forward the partial functor to another module that applies it with a private module.
<ansiwen> ggole: so, it seems then I have to reorganize the module structure I guess...
<ggole> Then you can't get at A.foo.
<ggole> Although it looks as if you have a type equality for it, so can't you use that name?
<ggole> I mean, the with type foo = Foo.t
artart78 has quit [Changing host]
artart78 has joined #ocaml
<ansiwen> ggole: I can't use Foo.t either, because that is dynamic part of the code. It could also be partially applied before with something that results into `foo = Bar.t`... so I would really need to get that info out of A.foo... unfortunately
<ggole> Then perhaps you do need to reorganise.
<ggole> I have to leave, sorry - maybe somebody else will chime in.
ggole has quit [Quit: ggole]
ShalokShalom_ has quit [Ping timeout: 240 seconds]
ShalokShalom_ has joined #ocaml
<octachron> ansiwen, if you want the type foo to be generated with the first module argument, you could write module F(X:S.X) = struct type foo = X.t module G(Y:S.Y) = ... end
Haudegen has joined #ocaml
jnavila has joined #ocaml
jnavila has quit [Ping timeout: 250 seconds]
jnavila has joined #ocaml
erkin has quit [Remote host closed the connection]
steenuil has joined #ocaml
jnavila has quit [Ping timeout: 246 seconds]
<ansiwen> octachron: I now "embedded" another Maker functor for the last second parameter into the module created with the first parameter, so that the type gets instantiated when applying the first parameter. That seems to work. But it looks like that is exactly what you are also proposing here, right?
kalio has quit [Ping timeout: 246 seconds]
kalio has joined #ocaml
<octachron> ansiwen, indeed
jao has joined #ocaml
fraxamo has quit [Quit: Leaving]
jnavila has joined #ocaml
troydm has quit [Ping timeout: 252 seconds]
bartholin has quit [Remote host closed the connection]
<Leonidas> is there a Scanf %s that does not bail on whitespace?
smasta has joined #ocaml
<companion_cube> scanf is magic so dark, you can become a licensed chimney sweep after using it
kakadu_ has joined #ocaml
<Drup> Leonidas: don't use scanf ? é_è
<Drup> It should tell you a lot that I recomend against it, given my uses of printf ...
<Leonidas> Yeah, stopped using Scanf
<Leonidas> Though Scanf and scanning for formatting strings is an exercise in recursive thinking :D
troydm has joined #ocaml
bartholin has joined #ocaml
<companion_cube> maybe try to use parse combinators, if it's for a small thing?
bartholin has quit [Ping timeout: 250 seconds]
<spew> companion_cube: I love that pattern you wrote there
<spew> scanf is magic so dark, a demon will eat your soul if you use it too much
<spew> now someone else go
<companion_cube> :D
<companion_cube> Drup: your input is required
<Drup> printf is magic so dark that octachron and I might suggest improvements to your code ? :|
<Drup> (I'm not very good at producing these on demands, the inspiration as to come naturally)
<spew> oooooh: that's dark
Haudegen has quit [Read error: Connection reset by peer]
spew has quit [Quit: going home]
<companion_cube> sprintf is such dark magic, it makes Format look like a clean system?
miriano has joined #ocaml
Haudegen has joined #ocaml
miriano has quit [Quit: Page closed]
silver_ has joined #ocaml
silver has quit [Ping timeout: 246 seconds]
jnavila has quit [Remote host closed the connection]
emily has quit [Ping timeout: 252 seconds]
zolk3ri has quit [Quit: Lost terminal]
emily has joined #ocaml
zolk3ri has joined #ocaml
carlosdagos has joined #ocaml
smasta has quit [Ping timeout: 244 seconds]
JimmyRcom has joined #ocaml
kakadu_ has quit [Remote host closed the connection]
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
troydm has joined #ocaml
smasta has joined #ocaml
pierpal has joined #ocaml
caente has joined #ocaml
caente has quit [Client Quit]
nullifidian_ is now known as nullifidian
demonimin has joined #ocaml
<Fardale> Drup: what should I a use to parse input instead of scanf ?
caente has joined #ocaml
caente has quit [Client Quit]
caente has joined #ocaml
Haudegen has quit [Remote host closed the connection]
anton-trunov has quit [Ping timeout: 245 seconds]
anton-trunov has joined #ocaml
<Drup> literally anything else.
xuanrui has joined #ocaml