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/
romildo has quit [Quit: Leaving]
berberman has quit [Quit: ZNC 1.8.2 - https://znc.in]
berberman has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
berberman has quit [Quit: ZNC 1.10.1 - https://znc.in]
berberman has joined #ocaml
casastortaAway has quit [Ping timeout: 252 seconds]
casastorta has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
agentcasey has quit [Quit: ZNC 1.10.x-git-82-9ab81d1d - https://znc.in]
agentcasey has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
agentcasey has quit [Quit: ZNC 1.10.x-git-82-9ab81d1d - https://znc.in]
agentcasey has joined #ocaml
agentcasey has quit [Client Quit]
casastorta has quit [Ping timeout: 276 seconds]
casastortaAway has quit [Ping timeout: 252 seconds]
marijanp has joined #ocaml
_whitelogger has joined #ocaml
euphores has joined #ocaml
casastorta has joined #ocaml
casastortaAway has joined #ocaml
casastortaAway has quit [Client Quit]
casastorta has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
YuGiOhJCJ has joined #ocaml
casastorta has quit [Ping timeout: 252 seconds]
humasect has quit [Quit: Leaving...]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
casastorta has quit [Ping timeout: 244 seconds]
deavmi has quit [Ping timeout: 248 seconds]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
bartholin has joined #ocaml
Tuplanolla has joined #ocaml
shwouchk has quit [Quit: WeeChat 4.5.2]
deavmi has joined #ocaml
deavmi has quit [Ping timeout: 260 seconds]
deavmi has joined #ocaml
shwouchk has joined #ocaml
toastal has quit [Ping timeout: 276 seconds]
deavmi has quit [Ping timeout: 244 seconds]
Haudegen has joined #ocaml
toastal has joined #ocaml
deavmi has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<discocaml> <deepspacejohn> I noticed there are no warnings for unused object instance variables or methods. Is that not possible to implement due to their structural nature?
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
marijanp has left #ocaml [Error from remote client]
inline has quit [Quit: Leaving]
<discocaml> <sim642> There seems to be an unused-field warning
<discocaml> <sim642> But I guess it might only be triggered when explicitly setting an object type to your object or whatnot
<discocaml> <sim642> If it's exposed, such that it could be accessed from another module, then the compiler cannot say it's unused because it won't know that
humasect has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
inline has joined #ocaml
<discocaml> <asadun5771> does anyone here have any experience with hardcaml?
<discocaml> <asadun5771> namely to program FPGA (in this case I have Arty A7-100T)
Serpent7776 has joined #ocaml
tomku has quit [Ping timeout: 252 seconds]
tomku has joined #ocaml
olle_ has joined #ocaml
olle_ has quit [Ping timeout: 248 seconds]
<discocaml> <deepspacejohn> @sim642 that warning is for unused record fields, not object instance variables, right?
<discocaml> <deepspacejohn> https://ocaml.org/play#code=W0BAQHdhcm5pbmcgIitBIl0KbW9kdWxlIE06IHNpZyBlbmQgPSBzdHJ1Y3QKICBjbGFzcyB4ID0KICAgIG9iamVjdAogICAgICB2YWwgdXNlZCA9ICJ1c2VkIgogICAgICB2YWwgdW51c2VkID0gInVudXNlZCIKICAgICAgbWV0aG9kIHVzZWQgPSBwcmludF9lbmRsaW5lIHVzZWQKICAgICAgbWV0aG9kIHVudXNlZCA9IHByaW50X2VuZGxpbmUgdW51c2VkCiAgICBlbmQKICBsZXQgKCkgPSAobmV3IHgpI3VzZWQKZW5k
<discocaml> <deepspacejohn> There aren't any warnings for the unused variables or methods
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
<discocaml> <sim642> Hmm, I must've misread then
<discocaml> <deepspacejohn> I'm sure this is not a hot take to anyone here, but every once in a while when I experiment with using OCaml objects I always feel like I'm just doing a huge downgrade. I need more type annotations, there's no LSP go-to-definition for methods, no warnings for unused methods, bundle size gets bigger (for JSOO), and all kinds of other rough edges.
<humasect> try Modules ?
<humasect> not sure about LSP for ocaml, but merlin is *awesome*
<discocaml> <sim642> It's not surprising, objects are quite rarely used. Although it's a feedback loop: they're also used less because they're less optimized
<discocaml> <sim642> But I'm surprised about needing more type annotations for objects
<discocaml> <sim642> I thought annotations weren't necessary there at all
<discocaml> <deepspacejohn> I assumed the lack of go-to-definition for objects was more due to their fundamentally dynamic nature. In many cases there's no "definition" for a method.
<discocaml> <sim642> That probably doesn't help the issue indeed
<humasect> because objects are dynamic
<humasect> modules are static
<discocaml> <deepspacejohn> Any time a class does anything polymorphic, including a polymorphic method, you usually need type annotations.
<discocaml> <sim642> Right, polymorphism is explicit there
<discocaml> <deepspacejohn> anyway, I'm just being grumpy. I have no special need to use objects except that once a year or so I get curious and decide to try them out.
<discocaml> <deepspacejohn> maybe I'll find a use case for them this time? (typically not)
<humasect> very_pretty#syntax ~stuff:
humasect has quit [Quit: Leaving...]
<discocaml> <lecondorduplateau> ocaml needs static objects
<discocaml> <lecondorduplateau> instead of poor unlabeled tuples
<discocaml> <sim642> Well, there will be labeled tuples now
<companion_cube> I'd also like static variables :p
agentcasey has joined #ocaml
Serpent7776 has quit [Ping timeout: 240 seconds]
euphores has quit [Ping timeout: 252 seconds]
agentcasey has quit [Quit: ZNC 1.10.x-git-82-9ab81d1d - https://znc.in]
agentcasey has joined #ocaml
bartholin has quit [Quit: Leaving]
agentcasey_ has joined #ocaml
agentcasey has quit [Ping timeout: 276 seconds]
agentcasey has joined #ocaml
agentcasey_ has quit [Ping timeout: 260 seconds]
infinity0 has quit [Ping timeout: 248 seconds]
humasect has joined #ocaml
tomku has quit [Ping timeout: 248 seconds]
polykernel has quit [Remote host closed the connection]
polykernel has joined #ocaml
tomku has joined #ocaml
humasect has quit [Quit: Leaving...]