inline has quit [Read error: Connection reset by peer]
bartholin has joined #ocaml
reynir has joined #ocaml
bartholin has quit [Read error: Connection reset by peer]
gp88 has joined #ocaml
inline has joined #ocaml
Humean has quit [Ping timeout: 252 seconds]
<discocaml>
<octachron> `discontinue` is here to avoid resource leaks, not memory leaks.
inline has quit [Read error: Connection reset by peer]
inline has joined #ocaml
Haudegen has joined #ocaml
Tuplanolla has joined #ocaml
kron has quit [Quit: kron]
kron has joined #ocaml
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
inline has quit [Ping timeout: 260 seconds]
inline has joined #ocaml
dhil has joined #ocaml
Anarchos has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
Haudegen has joined #ocaml
leah2 has quit [Remote host closed the connection]
leah2 has joined #ocaml
leah2 has quit [Client Quit]
leah2 has joined #ocaml
gp88 has quit [Remote host closed the connection]
gp88 has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
wingsorc__ has quit [Read error: Connection reset by peer]
wingsorc has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
Frostillicus has joined #ocaml
<discocaml>
<contificate> ah, then I misremembered - thanks
Frostillicus has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
Frostillicus has joined #ocaml
dhil has quit [Ping timeout: 260 seconds]
Frostillicus has quit [Ping timeout: 248 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 260 seconds]
humasect has joined #ocaml
Anarchos has joined #ocaml
Frostillicus has joined #ocaml
<discocaml>
<lukstafi> How do I nest a set of `t` inside of `t`? So basically the type is recursive with the module of the type... at least in the implementation. OK. Recursive modules then.
<discocaml>
<lukstafi> `Recursive modules require an explicit module type` 😢
<discocaml>
<lukstafi> I could use `'self` and tie later, no simpler solution?
Frostillicus has quit [Ping timeout: 252 seconds]
<discocaml>
<otini_> Not sure to understand the problem, but maybe you want `type nonrec t = ...`?
<discocaml>
<yawaramin> yeah explicit module type works fine, i just tested it
<discocaml>
<lukstafi> Which type? Type is what I'm trying to define.
<discocaml>
<yawaramin> `t`
<discocaml>
<lukstafi> But then it will be abstract.
<discocaml>
<yawaramin> `type t = { set : TSet.t }`
<discocaml>
<._null._> `module rec T : sig type t = C of TSet.t val compare : t -> t -> int end = struct type t = C of TSet.t let compare = Stdlib.compare end and TSet : Set.S with type elt = T.t = Set.Make (T)`
<discocaml>
<._null._> Bit of a mouthful, but it works
<discocaml>
<yawaramin> wait, don't do that
<discocaml>
<lukstafi> `module rec T : sig type t = { set : TSet.t } val compare : t -> t -> int end = struct t = { set : TSet.t } let compare = ... end and TSet = Set.Make(T)` ah I guess it works
<discocaml>
<yawaramin> you need something like `let compare t1 t2 = TSet.compare t1.set t2.set`
<discocaml>
<yawaramin> `Stdlib.compare` won't work
<discocaml>
<lukstafi> I ignore the `set` field in the actual comparison so all good.
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<discocaml>
<lukstafi> The funny part is I'll include the modules so they'll disappear in the interface using `Base`s `comparator_witness` trick.
Frostillicus has joined #ocaml
reynir has quit [Quit: WeeChat 3.8]
Exa has quit [Quit: see ya!]
Exa has joined #ocaml
Frostillicus has quit [Ping timeout: 268 seconds]
tremon has joined #ocaml
Humean has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
johnridesabike has joined #ocaml
Anarchos has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]