hackinghorn has quit [Remote host closed the connection]
hackinghorn has joined #ocaml
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
PinealGlandOptic has joined #ocaml
hackinghorn has quit [Remote host closed the connection]
hornhack has joined #ocaml
hornhack has quit [Remote host closed the connection]
favonia has quit [Ping timeout: 255 seconds]
hackinghorn has joined #ocaml
Stumpfenstiel has quit [Ping timeout: 256 seconds]
favonia has joined #ocaml
hackinghorn has quit [Remote host closed the connection]
favonia has quit [Ping timeout: 240 seconds]
hackinghorn has joined #ocaml
favonia has joined #ocaml
Corbin has joined #ocaml
hornhack has joined #ocaml
hackinghorn has quit [Read error: Connection reset by peer]
favonia has quit [Ping timeout: 240 seconds]
gzj has quit [Remote host closed the connection]
gzj has joined #ocaml
favonia has joined #ocaml
waleee has quit [Ping timeout: 268 seconds]
hackinghorn has joined #ocaml
hornhack has quit [Read error: Connection reset by peer]
hackinghorn has quit [Quit: Leaving]
gzj has quit [Remote host closed the connection]
gzj has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
gzj has quit [Ping timeout: 265 seconds]
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 252 seconds]
favonia has joined #ocaml
mbuf has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 272 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 252 seconds]
favonia has joined #ocaml
gravicappa has joined #ocaml
hannes has quit [Read error: Connection reset by peer]
hannes has joined #ocaml
favonia has quit [Ping timeout: 252 seconds]
favonia has joined #ocaml
glassofethanol has quit [Ping timeout: 256 seconds]
favonia has quit [Ping timeout: 250 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 252 seconds]
bartholin has joined #ocaml
Tuplanolla has joined #ocaml
bartholin has quit [Ping timeout: 255 seconds]
mbuf has quit [Quit: Leaving]
bartholin has joined #ocaml
cedric has joined #ocaml
dhil has joined #ocaml
Serpent7776 has joined #ocaml
bartholin has quit [Ping timeout: 265 seconds]
neiluj_ has quit [Remote host closed the connection]
neiluj_ has joined #ocaml
bartholin has joined #ocaml
m811 has joined #ocaml
<m811>
Hey! Are there any good talks on the internals of how OCaml's type checking is implemented? Haskell has more than a few on its constraint checking etc, but OCaml's talks don't show up that easily.
terrorjack has quit [Remote host closed the connection]
terrorjack has joined #ocaml
bartholin has joined #ocaml
<m811>
colin: Thanks. Though if I'm not mistaken, that's a description of speeding up your run of the mill type unification algorithm. OCaml does a lot more these days I think.
<m811>
E.g. subtyping, GADTs(?), polymorphic variants etc.
<d_bot>
<colin> Internals are always glossed over, I doubt you'll find much of substance. Just allusions to a "first-order unification algorithm" and "union-find data structures" etc. You may find http://gallium.inria.fr/~fpottier/publis/emlti-final.pdf interesting (it's the chapter from ATAPL) - it doesn't have much in the way of implementation specifics but is a good view of the landscape.
<d_bot>
<colin> If you search for "objective caml" in that PDF, you'll find brief mentions of things related to what you said. Example: equirecursive types w/ OCaml objects and polymorphic variants at the bottom of page 71 of the PDF.
<m811>
Ah, ATTAPL, you say. I've got that book. I'll go over the 10th chapter too. Thank you!
waleee has joined #ocaml
<m811>
Ah, I've actually read the 10th chapter already. I found "OutsideIn(X) -- Modular Type Inference with Local Assumptions (2011) - Dimitrios Vytiniotis, Simon Peyton, Jones Tom Schrijvers, Martin Sulzmann" to be far more accessible.
<m811>
Would it be fair to assume OCaml does its checking/inferring much like Haskell and the constraint system described in HM(X)?
<m811>
I'm starting to skim OCaml's source too for answers, starting with the parser AST.
<m811>
Fortunately found a HACKING.adoc in the latter's directory.
glassofethanol has quit [Ping timeout: 255 seconds]
glassofethanol has joined #ocaml
olle_ has joined #ocaml
glassofethanol has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 255 seconds]
<d_bot>
<ggole> The Remy paper mentioned in colin's first link has some concrete code in the appendix that might be helpful
<m811>
Oh, interesting. I don't see him pasting that link.
<m811>
I'll take a look at that PDF, too. Thank you!
<d_bot>
<ggole> There's a (rotted) link at the bottom of one of the sections
<m811>
Ah, you meant a link at the end of generalizations.html. Got it!
<d_bot>
<ggole> Oh yeah, should have been a bit clearer about that.
<m811>
I'm curious, are you two chatting via some other mechanism that both of your messages come via <d_bot>?
<d_bot>
<ggole> We're on discord, which is bridge via that bot
<m811>
Ah, okay. Thanks!
glassofethanol has joined #ocaml
olle_ has quit [Ping timeout: 258 seconds]
bartholin has quit [Ping timeout: 268 seconds]
bartholin has joined #ocaml
favonia has quit [Ping timeout: 245 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
glassofethanol has quit [Ping timeout: 240 seconds]
zebrag has joined #ocaml
bartholin has quit [Ping timeout: 268 seconds]
olle_ has joined #ocaml
favonia has quit [Ping timeout: 272 seconds]
favonia has joined #ocaml
glassofethanol has joined #ocaml
<d_bot>
<mbacarella> You are invited to the next OCaml Cafe on Wed, Aug 4th @ 7pm (US, Central).
<d_bot>
<mbacarella>
<d_bot>
<mbacarella> This month, OCaml Café will consist of two parts. First, Rudi Grinberg of OCaml Labs 2 will present an informal introduction to Dune, the OCaml build system. Learn about Dune from one the people developing it. Following Rudi’s presentation, we will open the discussion to all things OCaml-related.
<d_bot>
<mbacarella> OCaml Cafe is a friendly, low stakes opportunity to ask questions about the OCaml language and ecosystem, work through programming problems that you’re stuck on, and get feedback on your code. Especially geared toward new and intermediate users, experienced OCaml developers will be available to answer your questions. Bring your code and we’ll be happy to review it, assist with debugging, and provide recommendations for imp
<Corbin>
Just to double-check my understanding of what's recommended and supported: If I want to have a foreign language (a DSL) compiled to bytecode, even if the foreign language has no names, I should compile it to OCaml source and generate names as needed. Right?
glassofethanol has quit [Ping timeout: 250 seconds]
favonia has quit [Ping timeout: 240 seconds]
favonia has joined #ocaml
yoctocell has joined #ocaml
glassofethanol has joined #ocaml
mbuf has joined #ocaml
zebrag has quit [Remote host closed the connection]
zebrag has joined #ocaml
bartholin has joined #ocaml
mbuf has quit [Quit: Leaving]
waleee has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
olle_ has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
glassofethanol has quit [Ping timeout: 240 seconds]
favonia has quit [Ping timeout: 256 seconds]
favonia has joined #ocaml
bartholin has quit [Ping timeout: 252 seconds]
bartholin has joined #ocaml
Stumpfenstiel has joined #ocaml
favonia has quit [Ping timeout: 272 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 245 seconds]
glassofethanol has joined #ocaml
favonia has joined #ocaml
favonia has quit [Ping timeout: 252 seconds]
favonia has joined #ocaml
bartholin has quit [Ping timeout: 272 seconds]
glassofethanol has quit [Ping timeout: 240 seconds]
favonia has quit [Ping timeout: 272 seconds]
favonia has joined #ocaml
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
glassofethanol has joined #ocaml
glassofethanol has quit [Ping timeout: 245 seconds]
tomku has quit [Ping timeout: 255 seconds]
tomku has joined #ocaml
yoctocell has quit [Ping timeout: 256 seconds]
glassofethanol has joined #ocaml
gravicappa has quit [Ping timeout: 258 seconds]
<companion_cube>
That's a way to do it, but bytecode is pretty stable, you could directly produce it I think.
olle_ has joined #ocaml
olle_ has quit [Ping timeout: 265 seconds]
cedric has quit [Quit: Konversation terminated!]
favonia has quit [Ping timeout: 255 seconds]
favonia has joined #ocaml
favonia has quit [Ping timeout: 272 seconds]
favonia has joined #ocaml
Corbin has quit [Ping timeout: 255 seconds]
zebrag has quit [Quit: Konversation terminated!]
favonia has quit [Ping timeout: 252 seconds]
favonia has joined #ocaml
dhil has quit [Ping timeout: 272 seconds]
glassofethanol has quit [Ping timeout: 268 seconds]