<discocaml>
<sim642> That requires comments and string literals playing together nicely
<discocaml>
<myrkraverk> That seems to be even more stupid, but _ok_, still, does not explain the converse.
<discocaml>
<sim642> I think these rules exist to make commenting out code work well when the commented out code contains string literals that contain comment symbols
<discocaml>
<sim642> `(* "*)" *)`
<discocaml>
<myrkraverk> Yeah, fair; still, it's a very much a surprise not to allow single `"`s in comments.
<discocaml>
<sim642> What's the use case for such a comment? It says absolutely nothing
<discocaml>
<myrkraverk> Well, when I happen to be writing a lexer, for strings, I want to comment what I'm doing.
<discocaml>
<myrkraverk> `"...\"..."` -- the rule for this kind of stuff needs explanation, imo.
<discocaml>
<myrkraverk> So, while I _can_ just write `quote-character` in the comment, it is a surprise when I can't put the `"` in.
<discocaml>
<sim642> `(* " *)` doesn't really explain anything more than that lexer rule directly
<discocaml>
<myrkraverk> Why do you want _my_ production code in a potential bug report?
<discocaml>
<myrkraverk> And none of the rationale you just gave is given in that lex.html file.
<discocaml>
<sim642> There may be a more compete explanation somewhere, but this is the first thing I found
<discocaml>
<sim642> Although I guess an issue/PR about improving that official documentation on the quirk probably wouldn't hurt
<discocaml>
<myrkraverk> Yeah, rationales in documentation helps a lot.
<discocaml>
<myrkraverk> And it is a _very surprising_ behaviour for someone not well versed in OCaml.
dhil has joined #ocaml
Serpent7776 has joined #ocaml
<companion_cube>
Otoh you can comment out absolutely any block of code and it works
<discocaml>
<myrkraverk> *nod*
<discocaml>
<myrkraverk> It's not a bad feature; just surprising when you find the darker corners of the lexing rules.
slbtty has quit [Quit: Konversation terminated!]
<companion_cube>
Yeah, you get used to it
<companion_cube>
It's not a big deal at all. Otoh the lack of single line comments is quite annoying
Anarchos has joined #ocaml
xd1le has quit [Quit: xd1le]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
n0den1te has joined #ocaml
<n0den1te>
hi, why do we need to do opam upgrade when reinstalling certain libraries? For example, I was trying to install `owl` and it advised me to do an `opam update` followed by an `upgrade` since the "repos weren't reindexed for some time". Turns out doing so eats a lot of cpu and time
<n0den1te>
3/4 cores spinning at 100%
azimut has joined #ocaml
rf has joined #ocaml
<discocaml>
<darrenldl> i dont think the reminder is tied to any particular libraries
<n0den1te>
maybe not, I was asking more about opam's cpu hogging behaviour
<n0den1te>
or dune's
bartholin has joined #ocaml
olle has quit [Ping timeout: 246 seconds]
<n0den1te>
is discocaml the discord bridge bot to IRC?
<discocaml>
<NULL> Yes
<discocaml>
<geoff> opam builds the packages from source
<n0den1te>
Okay, so opam/dune's cpu hog is well known?
<n0den1te>
I forgot why I _rarely_ run `opam upgrade` and had a headslap moment as soon as I gave that invocation
<discocaml>
<geoff> As much as anything that needs to compile many programs at once
<discocaml>
<NULL> `opam update` looks quite slow for what it appears to do, I don't know why. `opam upgrade` looks also rather slow to compute what to upgrade, but then it's just compiling everything, so it's up to the packages at this point
<discocaml>
<darrenldl> yeah im still baffled by opam update's slowness
<discocaml>
<NULL> In any case, I wouldn't call any steps except compilation as "cpu hog"
<n0den1te>
is there anything packages can do to minimize the overhead in compilation?
<discocaml>
<NULL> Have fewer packages installed ?
<n0den1te>
if opam is just recompiling everything, what's the point in having the `upgrade` step?
<discocaml>
<NULL> No, it's compiling everything that needs to
<n0den1te>
NULL: Nope, just `owl`
<discocaml>
<NULL> I mean, `owl` is a big package IIRC
<n0den1te>
and maybe those stuff from RWOv2
<discocaml>
<NULL> Those are also big
<n0den1te>
I only have these 2 "distribution" packages installed
<n0den1te>
Nothing else -- if they are quite big, what's the end user supposed to do?
<discocaml>
<NULL> How slow are you talking ? On my side, `update` takes 10-15s, `upgrade` takes as much to compute what to upgrade and the upgrades vary widely
<n0den1te>
about an hr.. ish
<discocaml>
<NULL> What step is this ? Package compilation and installation ?
<n0den1te>
I lumped them into the `upgrade` step. So, compile+install
<n0den1te>
there were about 517 packages that it went all out in recompile+install.
<discocaml>
<NULL> You mean the upgrade has 517 steps ? That's almost as many as I have with much more packages installed
<discocaml>
<NULL> You mean the upgrade has 517 steps ? That's almost as many as I have when everything is recompiled* with much more packages installed
<n0den1te>
sigh... I either need a better machine or give up on `upgrade`
<discocaml>
<NULL> How powerful is it ? My laptop is almost 3 years old and definitely not on the higher end
<n0den1te>
it's got a fair few knocks. bought in 2011. ha ha
<n0den1te>
i3 4 core
<discocaml>
<NULL> Ok, that's really quite old
<discocaml>
<NULL> What step is it at now ? (what package)
alexherbo2 has quit [Ping timeout: 245 seconds]
<n0den1te>
it completed ~30 mins ago
<discocaml>
<darrenldl> 2011 i3 machine is stretching a bit
<n0den1te>
I thought I'd ask if this is a known issue
<discocaml>
<NULL> Well it shouldn't have to recompile everything very often
<discocaml>
<NULL> That mostly happens when dune updates (and hopefully at some point these upgrades won't trigger a recompilation since it's not really needed in most cases)
bartholin has quit [Ping timeout: 264 seconds]
<n0den1te>
thanks - so it's dune's updates triggering the mass recompile
<discocaml>
<NULL> You can see it when you accept the upgrade, in my case yes
<discocaml>
<leviroth> You aren’t using WSL by any chance are you?
<discocaml>
<NULL> (Can you still decently run Windows with such an old machine ?)
wingsorc__ has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
n0den1te has quit [Ping timeout: 240 seconds]
bartholin has joined #ocaml
n0den1te has joined #ocaml
<n0den1te>
NULL: Haha, no. I run Slackware linux on this machine.