companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.2.0 released: https://ocaml.org/releases/5.2.0 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
jabuxas has joined #ocaml
kurfen has quit [Ping timeout: 256 seconds]
kurfen has joined #ocaml
waleee has quit [Ping timeout: 256 seconds]
Inline has quit [Remote host closed the connection]
Inline has joined #ocaml
gzar has quit [Quit: WeeChat 4.3.2]
myrkraverk has quit [Read error: Connection reset by peer]
myrkraverk has joined #ocaml
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
hannes has quit [Ping timeout: 264 seconds]
hannes_ has joined #ocaml
jabuxas has quit [Ping timeout: 256 seconds]
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
mbuf has joined #ocaml
hannes_ is now known as hannes
Serpent7776 has joined #ocaml
bartholin has joined #ocaml
Inline has quit [Remote host closed the connection]
Inline has joined #ocaml
hannes has quit [Ping timeout: 268 seconds]
cr1901_ has joined #ocaml
cr1901 has quit [Ping timeout: 268 seconds]
jabuxas has joined #ocaml
toastal has joined #ocaml
hannes has joined #ocaml
jabuxas has quit [Ping timeout: 268 seconds]
<discocaml_> <deepspacejohn> The documentation for -rectypes says this "By default, only recursive types where the recursion goes through an object type are supported." https://ocaml.org/manual/5.2/comp.html
<discocaml_> <deepspacejohn> This an error or does "object type" mean something different than the type of OCaml objects?
<discocaml_> <deepspacejohn> *is this
<discocaml_> <octachron> I am not sure that I follow? An object type is a kind of type, like a tuple type or an arrow type.
<discocaml_> <octachron> For instance, in `val x : < m:int > ` the type of `x` is an object type.
<companion_cube> Shouldn't the doc of rectypes say "this is for esoteric purposes, do not use"? 🤣
trillion_exabyte has quit [Ping timeout: 252 seconds]
trillion_exabyte has joined #ocaml
<discocaml_> <deepspacejohn> `type 'a t = Cons of 'a * 'a t` is recursive and does not go through an object type.
<discocaml_> <deepspacejohn> so " only recursive types where the recursion goes through an object type are supported" seems incorrect?
<discocaml_> <._null._> This is equirecursivity, the well-behaved variant. `-rectypes` enables isorecursivity (`< x: 'a> as 'a` for object types)
<discocaml_> <._null._> I mixed up the two terms, isorecursivity is the always enabled well behaved one
<discocaml_> <octachron> The type definition in your example is recursive, the type expression itself is not recursive.
<discocaml_> <octachron> Basically, the definition gives you way to construct or destruct values of type `'a t` that involves `'a t` itself, but it is not stating that parts of the type is equal to the whole type.
<discocaml_> <deepspacejohn> interesting, that makes more sense now. I hadn't considered the differences between expressions and definitions for that
Inline has quit [Quit: Leaving]
gzar has joined #ocaml
Inline has joined #ocaml
cr1901_ is now known as cr1901
oriba has joined #ocaml
<theblatte> seems like opam 2.0 doesn't let you install dependencies of a lock file, eg "opam install --locked --deps-only opam/utop.opam.locked" wants to install packages at the wrong versions
<theblatte> also is there a way to tell opam not to perform other actions than the one I asked? "opam remove utop" wants to recompile a bunch of stuff due to upstream changes in addition to removing utop
<rustyne> theblatte: --criteria="-changed" helps?
<rustyne> without going into the runes of https://opam.ocaml.org/doc/External_solvers.html
<rustyne> (I’m not sure rebuilding counts as changing)
<theblatte> rustyne: nope
<theblatte> actually some of these packages use utop some it's ok that they are recompiled, my bad
SquidDev has quit [Quit: Bye!]
SquidDev has joined #ocaml
Inline has quit [Remote host closed the connection]
Inline has joined #ocaml
jabuxas has joined #ocaml
waleee has joined #ocaml
Tuplanolla has joined #ocaml
<discocaml_> <deepspacejohn> @._null._ is there any documentation/literature about the different kinds of recursion? "isorecursive" has 0 results on google
mbuf has quit [Quit: Leaving]
<discocaml_> <deepspacejohn> actually never mind, it has results but I searched "isorecursivity" first which had 0.
<discocaml_> <andreypopp> TAPL discusses this
<discocaml_> <deepspacejohn> cool, thanks for the pointer
jabuxas has quit [Ping timeout: 256 seconds]
oriba has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
Anarchos has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
gooby323 has joined #ocaml
gooby323 has quit [Client Quit]
Fardale has quit [Quit: WeeChat 3.8]
Fardale has joined #ocaml
jabuxas has joined #ocaml
jabuxas has quit [Ping timeout: 268 seconds]
Anarchos has joined #ocaml
pi3ce has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
toastal has left #ocaml [Error from remote client]
Anarchos has quit [Client Quit]
jabuxas has joined #ocaml
bartholin has quit [Quit: Leaving]
Serpent7776 has quit [Ping timeout: 264 seconds]