companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.0 released(!!1!): https://ocaml.org/releases/5.0.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
trillion_exabyte has quit [Ping timeout: 240 seconds]
trillion_exabyte has joined #ocaml
<discocaml> <Liam> friend helped me finally find OCaml-tan
<discocaml> <Liam> she got posted to #offtopic🎲
trillion_exabyte has quit [Ping timeout: 250 seconds]
trillion_exabyte has joined #ocaml
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
pieguy128 has joined #ocaml
waleee has quit [Ping timeout: 264 seconds]
chrisz has quit [Ping timeout: 246 seconds]
chrisz has joined #ocaml
Haudegen has joined #ocaml
trillion_exabyte has quit [Ping timeout: 276 seconds]
trillion_exabyte has joined #ocaml
Everything has joined #ocaml
bgs has quit [Remote host closed the connection]
czy has quit [Remote host closed the connection]
czy has joined #ocaml
bartholin has joined #ocaml
<discocaml> <Bluddy> I'd be very surprised if that were true. Taking over preemptive scheduling for native code means 1. Not using OS threads but rolling your own and 2. Taking over basic functionality of the processor which requires permissions usually reserved for the OS.
<discocaml> <Armael> Not necessarily, you can preempt goroutines by having the compiler insert poll points in the generated code
<discocaml> <Armael> The ocaml compiler also inserts poll points (for other reasons, to process signals in particular); I wonder if those could be used to "preempt" fibers, eg by performing an effect at polls?
<discocaml> <Armael> (that would be handled by the scheduler)
Anarchos has joined #ocaml
Absalom has quit [Quit: the lounge - https://webirc.envs.net]
trillion_exabyte has quit [Ping timeout: 265 seconds]
trillion_exabyte has joined #ocaml
<discocaml> <beajeanm> Afaik go doesn't offer access to native threads. The scheduler execute goroutines on multiple OS threads, but they is no way for the app developper to interact with that directly. And the recent versions preempt any goroutine that has been running for more than 10ms
olle has joined #ocaml
bartholin has quit [Quit: Leaving]
spip has joined #ocaml
<discocaml> <antron> Going to stream Dream development and general OCaml office hours at 14:00 at https://www.twitch.tv/antron_ML, in 2.5 hours. I'm going to eventually start announcing this only in #webdev or #share, but I wanted to ping a wider group of people (and IRC) a few more times first!
<discocaml> <Bluddy> That's very interesting @beajeanm. I guess they have constant polling points where a goroutine looks for preemption signals or checks on a timer and cooperatively switches to waiting.
Haudegen has quit [Quit: Bin weg.]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<companion_cube> I think they added more preemption points in the last few years, but it used to be that a tight loop could peg a goroutine
<companion_cube> (i think)
Haudegen has joined #ocaml
Everything has quit [Quit: leaving]
amk has quit [Ping timeout: 255 seconds]
amk has joined #ocaml
alexherbo2 has joined #ocaml
Techcable has quit [Ping timeout: 255 seconds]
<adrien> is it possible to get a TLS server's ciphersuites when connecting with tls-lwt? I'm under the impression this isn't easily possible
Haudegen has quit [Quit: Bin weg.]
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
Johann has quit [Ping timeout: 265 seconds]
hrberg has joined #ocaml
Haudegen has joined #ocaml
bartholin has joined #ocaml
gentauro has quit [Read error: Connection reset by peer]
gentauro has joined #ocaml
azimut has quit [Ping timeout: 255 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
Tuplanolla has joined #ocaml
terrorjack has joined #ocaml
ralu1 has quit [Quit: The Lounge - https://thelounge.chat]
ralu1 has joined #ocaml
ralu1 has quit [Client Quit]
ralu1 has joined #ocaml
ralu1 has quit [Quit: The Lounge - https://thelounge.chat]
ns12 has quit [Quit: bye]
ralu1 has joined #ocaml
ns12 has joined #ocaml
ralu1 has quit [Client Quit]
czy` has joined #ocaml
czy` has quit [Remote host closed the connection]
czy has quit [Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50)]
ralu1 has joined #ocaml
czy has joined #ocaml
ralu1 has quit [Quit: The Lounge - https://thelounge.chat]
ralu1 has joined #ocaml
<discocaml> <cemerick> Is anyone aware of a structured logging reporter for the `logs` package?
<mauke> I have a question about modules
<mauke> https://dev.realworldocaml.org/files-modules-and-programs.html#nested-modules says Username.t and Hostname.t are considered different types, even though they're both declared equal to String_id.t
<mauke> when are module types considered "the same" by the type checker?
<octachron> Only when they are known as equal
<mauke> well, I would say a type is always known to be equal to itself
<octachron> Yes? But `Username.t` and `Hostname.t` are unrelated types: signatures are opaque.
Techcable has joined #ocaml
<octachron> thus when one evaluate if `Username.t` and `Hostname.t` one should only look at the signature of both modules.
<octachron> And the signature only says that the module `Username` or `Hostname` defines some type `t`.
<octachron> How this type is defined is an implementation detail that users of the module are not privy too.
<mauke> does that mean without ": ID" they would be considered the same?
ralu1 has quit [Quit: The Lounge - https://thelounge.chat]
ralu1 has joined #ocaml
oriba has joined #ocaml
<octachron> Indeed, without an explicit signature, the typechecker use a transparent signature that leaves everything visible.
<octachron> In other words, the signature is the "public interface" of the module.
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
<mauke> where are these rules documented? I want to learn more about the details
<octachron> In "the signature and abstact types" section above for instance. Or in the same similar section of the reference manual.
alexherbo2 has quit [Remote host closed the connection]
waleee has joined #ocaml
alexherbo2 has joined #ocaml
Stumpfenstiel has joined #ocaml
oriba has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
alexherbo2 has quit [Remote host closed the connection]
brettgilio has joined #ocaml
<mauke> octachron: by reference manual, do you mean https://v2.ocaml.org/releases/5.0/htmlman/moduleexamples.html ?
<mauke> that's just prose with some examples
<mauke> I was hoping to find some sort of specification
waleee has quit [Ping timeout: 265 seconds]
<octachron> You can have a look at the language reference part of the manual or the academic articles if you prefer.
waleee has joined #ocaml
<discocaml> <Kali> if you want a specification, you can see the Module Types and Module Expressions sections of https://v2.ocaml.org/releases/5.0/htmlman/language.html
<discocaml> <pseud> Any resources on just getting started with ocaml on the front-end ?
<discocaml> <pseud> Nothing fancy, just thinking something to help settle whether dune or esy, how to interop w a js library.
<discocaml> <pseud> That sort of thing. Almost thinking no frameworks at all, just with a nicer language (ocaml).
bartholin has quit [Quit: Leaving]
olle has quit [Ping timeout: 252 seconds]
czy has quit [Remote host closed the connection]
czy has joined #ocaml
Stumpfenstiel has quit [Ping timeout: 276 seconds]
waleee has quit [Ping timeout: 260 seconds]
waleee has joined #ocaml
waleee has quit [Ping timeout: 248 seconds]
Haudegen has quit [Ping timeout: 250 seconds]
Tuplanolla has quit [Quit: Leaving.]
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
pieguy128 has joined #ocaml
mauke_ has joined #ocaml
mauke has quit [Ping timeout: 240 seconds]
mauke_ is now known as mauke