companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.3.0 released: https://ocaml.org/releases/5.3.0 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
Haudegen has quit [Quit: Bin weg.]
casastorta has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
casastortaAway has quit [Ping timeout: 265 seconds]
casastortaAway has joined #ocaml
casastortaAway has quit [Remote host closed the connection]
casastorta has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
<discocaml> <edwardpryce0425> I'll help the first 10 people interested on how to  start earning $100k or more within a week, but you will reimburse me 10% of your profits when you receive it. Note: only interested people should send a friend request or send me a dm! ask me (HOW) via Telegram username @Edward_Pryce1
<discocaml> <edwardpryce0425>
<discocaml> <edwardpryce0425> Or use the telegram link in my bio
itszor has joined #ocaml
zor has quit [Ping timeout: 248 seconds]
casastorta has quit [Ping timeout: 252 seconds]
casastorta has joined #ocaml
steenuil has quit [Remote host closed the connection]
steenuil has joined #ocaml
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 260 seconds]
wbooze has joined #ocaml
wbooze has quit [Quit: Leaving]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 260 seconds]
wbooze has joined #ocaml
YuGiOhJCJ has joined #ocaml
agentcasey has quit [Quit: ZNC 1.10.x-git-82-9ab81d1d - https://znc.in]
agentcasey has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 276 seconds]
toastal has joined #ocaml
Serpent7776 has joined #ocaml
<discocaml> <bluddy5> once you have to rebuild a giant C++ project over and over, you get a real appreciation for ocaml's compile times.
<discocaml> <contificate> Yeah, I struggle to find a development workflow - in general - that challenges the comfort of OCaml (with Merlin). Need to be immortal to work with C++
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 260 seconds]
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 276 seconds]
tronexte has quit [Read error: Connection reset by peer]
tronexte has joined #ocaml
Haudegen has joined #ocaml
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 276 seconds]
bartholin has joined #ocaml
amadaluzia has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 252 seconds]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 248 seconds]
Tuplanolla has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 252 seconds]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 260 seconds]
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 248 seconds]
ridcully has quit [Quit: WeeChat 4.6.3]
birle has joined #ocaml
birle has quit [Changing host]
birle has joined #ocaml
dhil has joined #ocaml
Mister_Magister has quit [Excess Flood]
Mister_Magister has joined #ocaml
myrkraverk_ has joined #ocaml
Mister_Magister has quit [Excess Flood]
Mister_Magister has joined #ocaml
myrkraverk has quit [Ping timeout: 248 seconds]
ridcully has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 268 seconds]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 260 seconds]
olle has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 265 seconds]
Haudegen has quit [Quit: Bin weg.]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 248 seconds]
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 248 seconds]
olle has quit [Ping timeout: 276 seconds]
Haudegen has joined #ocaml
johnridesabike has joined #ocaml
Mister_Magister has quit [Remote host closed the connection]
Mister_Magister has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<discocaml> <otini_> Polymorphic variants don’t seem to work as I expected
<discocaml> <otini_> so there is no subtyping without introducing a row variable?
<discocaml> <otini_> Not sure to understand what is the use for types of the form `` [ `A | `B ] `` then (without < or > )
<discocaml> <octachron> You can cast closed polymorphic variant types with `:>` but yes there is no implicit subtyping at all in OCaml, only parametric polymorphism and row type variables.
<discocaml> <otini_> but the compiler rejects my explicit cast too
<discocaml> <octachron> Because GADTs are invariant in their type parameters
toastal has quit [Ping timeout: 248 seconds]
<discocaml> <octachron> Combining GADTs and polymorphic variants requires to walk a sharp-edged cliff.
<discocaml> <otini_> Oh. I see.
toastal has joined #ocaml
<discocaml> <octachron> Hm, in this case, was your aim just to avoid an existential wrapper?
<discocaml> <octachron> Because, you can probably achieve this objective with using lower-bounded (``[> `Include ]``) tags
<discocaml> <otini_> My general goal was to reuse the same record for `include_description` and `include_declaration` but to have the typechecker understand the constraint that `pincl_kind` is never `` `Include_functor `` in the first case
<discocaml> <otini_> I usually do it with abstract or void types, like `type include` and `type include_functor` (or `type include = |`), I wanted to try polymorphic variants to save two type declarations
<discocaml> <otini_> This surprises me because my intuitive understanding of `[> ... ]` is "these tags or others"
toastal has left #ocaml [#ocaml]
<discocaml> <octachron> It is slightly more precise to read it as `at least those tags`, in the sense that you cannot erase the information about the present tags.
<discocaml> <octachron> And thus `` [`A | `B ] t`` means no `` `C ``
<discocaml> <otini_> I see
<discocaml> <otini_> but IIUC you advise against mixing GADTs and polymorphic variants
<discocaml> <octachron> My point of view is that the frontier between the cases where they work well and the situations where they don't work at all is non-intuitive and often too sharp. But there are cases where mixing the two work well.
<discocaml> <otini_> thanks!
toastal has joined #ocaml
pippijn_ is now known as pippijn
euphores has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
humasect has joined #ocaml
<discocaml> <zarakshr> It seems that `@warning` annotations cannot be combined with `let*`:
<discocaml> <zarakshr> ```ocaml
<discocaml> <zarakshr> let[@warning "-8"] (Bool cond) = eval env test in ...
<discocaml> <zarakshr> ```
<discocaml> <zarakshr> but
<discocaml> <zarakshr> ```ocaml
<discocaml> <zarakshr> let*[@warning "-8"] (Bool cond) = eval_cps env test in ...
<discocaml> <zarakshr> ```
<discocaml> <zarakshr> is a syntax error (similarly for `let[@warning "-8"]*`)
<discocaml> <zarakshr> is there an accepted workaround for this?
<discocaml> <zarakshr> actually, is this even by design? I feel like it should be possible to use such annotations with binding operators
<discocaml> <otini_> this looks more like an oversight
<discocaml> <zarakshr> it seems this issue has been raised: https://github.com/ocaml/ocaml/issues/9301 and even had a WIP pull started: https://github.com/ocaml/ocaml/pull/11398
<discocaml> <zarakshr> unfortunately the pull request was failing tests and has been stale for a few years
Serpent7776 has quit [Ping timeout: 248 seconds]
dhil has quit [Ping timeout: 260 seconds]
chrisz has joined #ocaml
Haudegen has joined #ocaml
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
_jbrown_ has joined #ocaml
itszor has quit [Ping timeout: 265 seconds]
Serpent7776 has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
amadaluzia has quit [Quit: ZNC 1.10.0 - https://znc.in]
Frostillicus has joined #ocaml
euphores has quit [Ping timeout: 244 seconds]
Frostillicus has quit [Read error: Connection reset by peer]
amadaluzia has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
humasect has quit [Quit: Leaving...]
szkl has joined #ocaml
toastal has quit [Ping timeout: 244 seconds]
johnridesabike has quit [Quit: johnridesabike]
toastal has joined #ocaml
Serpent7776 has quit [Ping timeout: 252 seconds]
bartholin has quit [Remote host closed the connection]
amadaluzia has quit [Quit: ZNC 1.10.0 - https://znc.in]
toastal has left #ocaml [#ocaml]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]