seangrove has quit [Remote host closed the connection]
seangrove has joined #ocaml
seangrove has quit [Remote host closed the connection]
Kakadu has quit [Remote host closed the connection]
Vintila has joined #ocaml
silver has quit [Read error: Connection reset by peer]
Maelan has quit [Ping timeout: 240 seconds]
Maelan has joined #ocaml
Simn has quit [Quit: Leaving]
hxegon is now known as hxegon_AFK
malina has quit [Ping timeout: 248 seconds]
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
Muzer has quit [Ping timeout: 244 seconds]
chris2 has quit [Ping timeout: 268 seconds]
hxegon_AFK is now known as hxegon
chris2 has joined #ocaml
yegods has quit [Remote host closed the connection]
aantron has quit [Remote host closed the connection]
aantron has joined #ocaml
yegods has joined #ocaml
Haudegen has quit [Ping timeout: 268 seconds]
aantron_ has joined #ocaml
aantron has quit [Ping timeout: 244 seconds]
hxegon has quit [Ping timeout: 244 seconds]
estokes has joined #ocaml
estokes has left #ocaml [#ocaml]
letaris has joined #ocaml
Haudegen has joined #ocaml
yegods has quit [Remote host closed the connection]
yegods has joined #ocaml
letaris has quit [Read error: Connection timed out]
pyon has quit [Quit: fix config]
pyon has joined #ocaml
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
badon has quit [Ping timeout: 250 seconds]
badon has joined #ocaml
Haudegen has quit [Ping timeout: 268 seconds]
yegods has quit [Remote host closed the connection]
yegods has joined #ocaml
Haudegen has joined #ocaml
nicholasf has quit [Remote host closed the connection]
idegen has quit [Quit: Leaving.]
anoisz has joined #ocaml
NingaLeaf has joined #ocaml
NingaLeaf has left #ocaml [#ocaml]
aantron_ has quit [Remote host closed the connection]
aantron has joined #ocaml
teknozulu has quit [Ping timeout: 244 seconds]
nicholasf has joined #ocaml
struk|desk|away is now known as struk|desk
ygrek_ has quit [Ping timeout: 244 seconds]
ggole has joined #ocaml
noddy has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
wiredsister has quit [Ping timeout: 268 seconds]
wiredsister has joined #ocaml
slash^ has joined #ocaml
struk|desk is now known as struk|desk|away
wiredsister has quit [Ping timeout: 250 seconds]
yegods has quit [Remote host closed the connection]
wiredsister has joined #ocaml
JacobEdelman_ has joined #ocaml
wiredsister has quit [Ping timeout: 246 seconds]
ygrek_ has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
noddy has quit [Ping timeout: 252 seconds]
Muzer has joined #ocaml
wiredsister has joined #ocaml
ibor1 has quit [Ping timeout: 264 seconds]
Vintila has quit [Ping timeout: 252 seconds]
MercurialAlchemi has joined #ocaml
wiredsister has quit [Ping timeout: 264 seconds]
anoisz has quit [Read error: Connection reset by peer]
wiredsister has joined #ocaml
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
wiredsister has quit [Ping timeout: 260 seconds]
Kakadu has joined #ocaml
manizzle has quit [Remote host closed the connection]
JacobEdelman_ has quit [Quit: Connection closed for inactivity]
wiredsister has joined #ocaml
orbifx2 has joined #ocaml
orbifx has quit [Ping timeout: 246 seconds]
ygrek_ has quit [Ping timeout: 252 seconds]
wiredsister has quit [Ping timeout: 244 seconds]
Simn has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
wiredsister has joined #ocaml
schive has joined #ocaml
wiredsister has quit [Remote host closed the connection]
wiredsister has joined #ocaml
orbifx has joined #ocaml
Vintila has joined #ocaml
orbifx2 has quit [Ping timeout: 250 seconds]
wiredsister has quit [Ping timeout: 268 seconds]
nicholasf has quit [Remote host closed the connection]
badon has quit [Quit: Leaving]
badon has joined #ocaml
nicholasf has joined #ocaml
malina has joined #ocaml
Haudegen has quit [Ping timeout: 260 seconds]
silver has joined #ocaml
malina has quit [Ping timeout: 244 seconds]
wiredsister has joined #ocaml
rand__ has joined #ocaml
Haudegen has joined #ocaml
wiredsister has quit [Remote host closed the connection]
wiredsister has joined #ocaml
wiredsister has quit [Remote host closed the connection]
wiredsister has joined #ocaml
malina has joined #ocaml
wiredsister has quit [Ping timeout: 250 seconds]
<companion_cube>
edwin, Leonidas: release in a few days, new qtest will rock ;-)
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
yegods has joined #ocaml
yegods has quit [Remote host closed the connection]
orbifx2 has joined #ocaml
orbifx has quit [Ping timeout: 248 seconds]
<Leonidas>
companion_cube: awesome! will test as soon as I get my new laptop
<companion_cube>
\o/
butts_butts has joined #ocaml
ibor has joined #ocaml
anoisz has joined #ocaml
wiredsister has joined #ocaml
ibor has quit [Ping timeout: 260 seconds]
rand__ has quit [Quit: leaving]
<companion_cube>
wtf, cohttp depends on camlp4 again?!
<orbitz>
Is there suggested reading on GADTs for Ocaml? Seems like I'm just stumbling upon nice usages of them rather than understanding how to directly use them.
Riviera has quit [Remote host closed the connection]
Kakadu has joined #ocaml
wiredsister has joined #ocaml
wiredsister has quit [Ping timeout: 260 seconds]
<mrvn>
I hate that type inference totaly breaks down with GADTs.
<malina>
I hate when nickers mismatch the colour of bra's in the morning but ok
<malina>
ymmv
<ggole>
I miss or-patterns as much.
<ggole>
(As inference.)
wiredsister has joined #ocaml
idegen has joined #ocaml
yegods has joined #ocaml
anoisz has quit [Read error: Connection reset by peer]
wiredsister has quit [Ping timeout: 264 seconds]
MercurialAlchemi has quit [Ping timeout: 244 seconds]
nicholasf has quit [Remote host closed the connection]
butts_butts has quit [Read error: Connection reset by peer]
wiredsister has joined #ocaml
wiredsister has quit [Ping timeout: 244 seconds]
wiredsister has joined #ocaml
yegods has quit [Remote host closed the connection]
wiredsister has quit [Ping timeout: 248 seconds]
Kakadu has quit [Quit: Konversation terminated!]
ansiwen has joined #ocaml
idegen has quit [Quit: Leaving.]
<ansiwen>
how can I match against a record with an identical label as another record in the same scope without raising warning 42: "this use of X required disambiguation."?
<zozozo>
ansiwen: try matching on a different label of the same record first ?
<ansiwen>
zozozo: unfortunately all labels of record A are also in record B
<zozozo>
ansiwen: then may I ask why you have two types which are basically equal ?
<ansiwen>
it's not my type, see above
<zozozo>
ah, ok
<zozozo>
well then add some type annotations
<ansiwen>
zozozo: that's what I tried, but it doesn't make the warning disappear
<zozozo>
like match (x : Rsa.pub) with ...
<ansiwen>
oh, in the match line, not in the pattern line?
leowzukw has joined #ocaml
<zozozo>
yup, basically tell the compiler the type of the value that you match on
<flux>
hmm, can you really get rid of the warning without explicitly indicating the constructor's full path?
<flux>
..other than by simply disabling the warning
<flux>
which I believe many do
<ansiwen>
flux: the warning has been enabled in the mirage project by default now
<flux>
so if you have a match for a record to avoid the warning you need to instead of: match foo with { x = 42 } -> .. you do match foo with { Rsa.Pub.x = 42 } ..
<flux>
unless the trick zozozo mentioned works of course :)
<ansiwen>
zozozo: in the match line I don't know yet, if it is that key type, so I would need to add another level of matching... doesn't look nice...
<zozozo>
ermm.. how can you not know the type of the value you match on ?
<flux>
I think it's nice that you need to disable the warning. if the default were otherwise, the error message might turn out to be even more baffling if one isn't aware that it's just a 'shortcut' the compiler provides, and it needs some help from the user :)
<zozozo>
well, I find it strange then, and I'd disable the warning as Drup suggests
wiredsister has joined #ocaml
<ansiwen>
zozozo: ok... I see
wiredsister has quit [Ping timeout: 276 seconds]
<ansiwen>
zozozo: even with this expression the warning appears: `(pub:Nocrypto.Rsa.pub).Nocrypto.Rsa.n`
<ansiwen>
so it seems like you can't get rid of the warning if there is label shadowing
wiredsister has joined #ocaml
Haudegen has quit [Ping timeout: 276 seconds]
<Drup>
Well, this warning is kinda made for that ...
wiredsis` has joined #ocaml
octachron has joined #ocaml
wiredsister has quit [Ping timeout: 252 seconds]
wiredsis` has quit [Ping timeout: 252 seconds]
MercurialAlchemi has joined #ocaml
wiredsis` has joined #ocaml
letaris has joined #ocaml
Haudegen has joined #ocaml
Enjolras has quit [Quit: Lost terminal]
hxegon has joined #ocaml
GeorgeHahn has joined #ocaml
yegods has quit []
jgjl has joined #ocaml
jgjl has quit [Client Quit]
wiredsis` has quit [Ping timeout: 252 seconds]
larhat has quit [Quit: Leaving.]
<flux>
mirage sure likes warnings.
dwillems has joined #ocaml
<flux>
so doesn't the warning 42 basically mean that compilers that didn't yet have the disambiguation feature are not able to compile it?
<flux>
yet to me it seems like Pub.Rsa { Nocrypto.Rsa.e; n} is completely non-ambiguous?-o
<flux>
or does the Nocrypto.Rsa module expose two records withh the field e.. right?
wiredsis` has joined #ocaml
<flux>
ah right, that's the issue
wiredsis` has quit [Ping timeout: 246 seconds]
<flux>
and there's really no way to refer to the pub's field e or n without activating that warning
dwillems has quit [Ping timeout: 244 seconds]
<flux>
ansiwen, btw, there is also this, if you still want to (for whatever reason) to keep the warning enabled for the rest of the file: begin [@ocaml.warning "-42"] match ... end
<companion_cube>
[@@@ocaml.warning "-42"] at toplevel, simpler
<flux>
well I of course meant that to be used inside the function for only local effect
<flux>
but if one wants to use it for the file, then that's probably the easy way to go
<octachron>
flux, "match[@warning]" also works
Algebr` has joined #ocaml
<flux>
octachron, oh, nice
<Drup>
only since 4.03, no ?
<Drup>
Ah no, this one was already there
hxegon has quit [Quit: BRB]
Vintila has quit [Ping timeout: 246 seconds]
hydan has quit [Ping timeout: 252 seconds]
letaris has quit [Read error: Connection timed out]
<mrvn>
I would write: Nocrypto.Rsa.{e; n}
<companion_cube>
but this is only 4.03 :)
<companion_cube>
at least I think?
<mrvn>
Nocrypto.Rsa.({e; n})
jackweirdy has joined #ocaml
d0nn1e has quit [Ping timeout: 244 seconds]
<flux>
mrvn, the problem is that the module e and n are part of two records inside the Nocrypto.Rsa
<flux>
or perhaps you didn't mean that as a solution at all :)
<flux>
I suppose it'd be somehow better to just catch with _ -> None. but on the other hand, it'd be somehow worse.
<companion_cube>
nah
<companion_cube>
it's better
<companion_cube>
just make the try/with as narrow as possible
<Drup>
flux: there is a new warning for this kind of code
<companion_cube>
I mean, how many exceptions can you have in List.hd or float_of_string?
<flux>
wish the audio quality of those videos were better..
<flux>
companion_cube, well, that's realistically what I do as well. but sometimes it's nice to do multiple things instead of wrapping each and every thing with a try/with.
<flux>
I suppose this doesn't work yet: match int_of_string a, int_of_string b with exception _, exception _ -> ..
<companion_cube>
oh
<companion_cube>
that would be interesting
<mrvn>
flux: why should it execute the other if the first one fails?
<flux>
mrvn, which one is the first one anyway?
<flux>
you didn't except an evaluation order for tuples did you :P
<mrvn>
flux: no, first one is indetermine and actually changes between bytecode and native. :)
<flux>
so best to do both!
<flux>
though it wouldn't really be a tuple anymore
Anarchos has joined #ocaml
letaris has quit [Read error: Connection timed out]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
silver has quit [Quit: rakede]
julien_t has joined #ocaml
nicholasf has quit [Remote host closed the connection]
schive has quit [Quit: Leaving]
nicholasf has joined #ocaml
<flux>
hmm, ppx_curried_constr, I wonder if I'll even start using that
<flux>
maybe the next time I find myself manually currying constructors I'll just instead put the ppx in
<flux>
didn't work in the toplevel for just-defined constructor though :)
<flux>
(in fact, the constructor doesn't work at all now)
leyyin has quit [Ping timeout: 244 seconds]
yegods has joined #ocaml
<flux>
maybe their approach is somehow broken in 4.02.3, ppx_implicits doesn't work for the basic example
<flux>
the ability to do typed things in ppx extensions sounds pretty cool.. and potentially awful :).
mettekou has joined #ocaml
julien_t has quit [Ping timeout: 240 seconds]
<flux>
let add = [%stackoverflow "add two integers"] 2 3 <- use string as a search expression to find a function of form int -> int -> _ ;-)
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
ibor has joined #ocaml
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 248 seconds]