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/
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<discocaml> <cemerick> Is there a writeup anywhere talking about why jsoo-generated code uses the runtime representations it does? I'm surprised to see records represented with arrays of values — as opposed to objects with named properties — which (last I knew) were privileged in various ways by e.g. v8 JIT, etc. I'm sure there's some good rationales though, and would love to read up
<discocaml> <deepspacejohn> I'm sure someone can give a more complete answer, but I believe the short version is that records (and modules) are both compiled into tuples, which JSOO represents as arrays.
<discocaml> <yawaramin> JSOO is compiling OCaml bytecode to JavaScript. bytecode represents record values as arrays. hence, the so does the JS output
<discocaml> <yawaramin> i mean heterogeneous arrays ie tuples of course
agentcasey has quit [Read error: Connection reset by peer]
wickedshell has joined #ocaml
alfiee has joined #ocaml
<discocaml> <cemerick> ah, sure, that makes sense
<discocaml> <cemerick> ah, sure, that makes sense, thanks
<discocaml> <cemerick> ah, sure, that makes sense, thanks
alfiee has quit [Ping timeout: 260 seconds]
Mister_Magister has quit [Quit: bye]
Mister_Magister has joined #ocaml
agentcasey has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 252 seconds]
Tuplanolla has quit [Quit: Leaving.]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 246 seconds]
agentcasey has quit [Ping timeout: 260 seconds]
agentcasey has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 268 seconds]
quernd1 has quit [Read error: Connection reset by peer]
quernd1 has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 246 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 268 seconds]
agentcasey_ has joined #ocaml
agentcasey has quit [Ping timeout: 268 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 260 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 272 seconds]
Haudegen has joined #ocaml
agentcasey_ has quit [Quit: ZNC 1.10.x-git-27-bfd731cf - https://znc.in]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 265 seconds]
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
burley has quit [Remote host closed the connection]
ymherklotz has quit [Remote host closed the connection]
arya_elfren has quit [Remote host closed the connection]
rustyne has quit [Remote host closed the connection]
whereiseveryone has quit [Remote host closed the connection]
pluviaq has quit [Remote host closed the connection]
b0o has quit [Remote host closed the connection]
patrick_ has quit [Remote host closed the connection]
immutable has quit [Remote host closed the connection]
ursa-major has quit [Remote host closed the connection]
slondr has quit [Remote host closed the connection]
_alix has quit [Remote host closed the connection]
ggb has quit [Remote host closed the connection]
beo has quit [Remote host closed the connection]
richardhuxton has quit [Remote host closed the connection]
Ankhers has quit [Remote host closed the connection]
sleepydog has quit [Remote host closed the connection]
henrytill has quit [Remote host closed the connection]
seeg has quit [Remote host closed the connection]
tranzystorekk has quit [Remote host closed the connection]
lane has quit [Remote host closed the connection]
xvilka has quit [Remote host closed the connection]
philipwhite has quit [Remote host closed the connection]
soni_ has quit [Remote host closed the connection]
pmk has quit [Write error: Broken pipe]
pmk has joined #ocaml
b0o has joined #ocaml
rustyne has joined #ocaml
sleepydog has joined #ocaml
lane has joined #ocaml
ggb has joined #ocaml
philipwhite has joined #ocaml
Ankhers has joined #ocaml
tranzystorekk has joined #ocaml
patrick_ has joined #ocaml
seeg has joined #ocaml
henrytill has joined #ocaml
arya_elfren has joined #ocaml
whereiseveryone has joined #ocaml
xvilka has joined #ocaml
beo has joined #ocaml
burley has joined #ocaml
burley has joined #ocaml
beo has joined #ocaml
beo has quit [Changing host]
burley has quit [Changing host]
richardhuxton has joined #ocaml
slondr has joined #ocaml
soni_ has joined #ocaml
ursa-major has joined #ocaml
immutable has joined #ocaml
ymherklotz has joined #ocaml
_alix has joined #ocaml
pluviaq has joined #ocaml
Serpent7776 has joined #ocaml
cr1901_ has joined #ocaml
cr1901 has quit [Ping timeout: 276 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
myrkraverk__ is now known as myrkraverk
bartholin has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 272 seconds]
bartholin has quit [Quit: Leaving]
olle has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 268 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
<discocaml> <.sabine.> Have you read the OCaml Platform Newsletter, the OCaml Changelog, or other communications from the OCaml Platform?
<discocaml> <.sabine.>
<discocaml> <.sabine.> I'm looking for feedback on how to make the updates and content we put out more useful to you!
<discocaml> <.sabine.>
<discocaml> <.sabine.> Here's a survey:
<discocaml> <.sabine.>
<discocaml> <.sabine.>
<discocaml> <.sabine.> Thanks for your help! 🧡
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 244 seconds]
<discocaml> <undu> Does somebody know if the ocaml team intends to release another 4.14 release in the next few months?
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 252 seconds]
gentauro has quit [Read error: Connection reset by peer]
alfiee has joined #ocaml
gentauro has joined #ocaml
alfiee has quit [Ping timeout: 252 seconds]
<discocaml> <mbacarella> as a theoretical matter, do you know why the approach is to transpile the byte code and not OCaml?
<discocaml> <mbacarella>
<discocaml> <mbacarella> ocaml-compiler-libs exists. might bear more fruit to read code into ASTs and produce JavaScript directly
<discocaml> <mbacarella> oh wait maybe the loaded ASTs are not checked or inferred
<discocaml> <octachron> The original argument was that the bytecode was a very stable IR
<discocaml> <mbacarella> ppxlib exists now though?
<discocaml> <octachron> ppxlib is very maintenance-heavy
<discocaml> <octachron> And, the parsetree is not a suitable starting point for compilation. The earliest somewhat convenient IR would be the Lambda IR.
<discocaml> <octachron> The typedtree would be another option, but with a heavy maintenance burden (a full-time developer familiar with the OCaml typechecker? maybe 50% ?)
Haudegen has quit [Quit: Bin weg.]
alfiee has joined #ocaml
<companion_cube> Where does mélange start ?
dawids_ has joined #ocaml
dawids_ has quit [Client Quit]
alfiee has quit [Ping timeout: 245 seconds]
<discocaml> <octachron> Same as rescript from the Lambda IR (after one simplification pass)
<companion_cube> Right. Starting at the typedtree means redoing all the module work
<companion_cube> Easier to come in later for sure
<octachron> More than modules, all the constructs with complex semantics are still there in the typedtree (pattern matching, classes, recursive modules)
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 260 seconds]
Haudegen has joined #ocaml
<companion_cube> Oh right, classes
<olle> :O
<companion_cube> It's a bit sad that types are lost after these are removed though
<olle> We were just talking about that over in #proglangdesign
<olle> Classes and compiler design and long-ass match-clauses
<olle> What's worst - a match-clause spanning 500+ lines, or splitting the eval() method into different classes?
<olle> The AST eval function, that is.
<companion_cube> There's no hard rule imho
<olle> Maybe not even a choice, since the programming language you use will decide for you.
alfiee has joined #ocaml
cr1901_ is now known as cr1901
alfiee has quit [Ping timeout: 248 seconds]
olle has quit [Ping timeout: 268 seconds]
<companion_cube> I assumed we were talking about ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
<discocaml> <Joe> Melange does transpilation on the AST level
casastorta has quit [Quit: ZNC 1.9.1 - https://znc.in]
casastorta has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 272 seconds]
Haudegen has joined #ocaml
bartholin has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 272 seconds]
euphores has quit [Quit: Leaving.]
Tuplanolla has joined #ocaml
euphores has joined #ocaml
burley has left #ocaml [#ocaml]
burley has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 272 seconds]
<discocaml> <anmonteiro> nah, it's at the Lambda IR like Florian said
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
JuanDaugherty has joined #ocaml
agentcasey has joined #ocaml
agentcasey has quit [Client Quit]
agentcasey has joined #ocaml
JuanDaugherty is now known as ColinRobinson
alfiee has joined #ocaml
ColinRobinson has quit [Quit: praxis.meansofproduction.biz (juan@acm.org)]
alfiee has quit [Ping timeout: 244 seconds]
agentcasey_ has joined #ocaml
agentcasey has quit [Ping timeout: 248 seconds]
agentcasey_ has quit [Quit: ZNC 1.10.x-git-27-bfd731cf - https://znc.in]
agentcasey has joined #ocaml
haesbaert has quit [Quit: leaving]
haesbaert has joined #ocaml
euphores has quit [Ping timeout: 244 seconds]
bartholin has quit [Quit: Leaving]
Inline has joined #ocaml
alfiee has joined #ocaml
euphores has joined #ocaml
alfiee has quit [Ping timeout: 245 seconds]
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 268 seconds]
Serpent7776 has quit [Ping timeout: 244 seconds]
alfiee has joined #ocaml
alfiee has quit [Ping timeout: 260 seconds]
euphores has quit [Ping timeout: 245 seconds]
Inline has quit [Ping timeout: 272 seconds]
euphores has joined #ocaml