<discocaml>
<struktured> oh that's kind of interesting. I ended up doing something a little wonkier by combining `[@@deriving enum, sexp] `
jabuxas has quit [Ping timeout: 246 seconds]
<discocaml>
<darrenldl> mccd: I use `OCAMLPARAM='_,ccopt=-static' dune build --release bin/docfd.exe`, but i also have not updated my dune knowledge in a long while
<discocaml>
<0x90> under System Variables select the "PATH" variable and click "Edit" button
<discocaml>
<0x90> on the edit menu, click "New" and paste each path to both of those folders
<discocaml>
<0x90> once you're done with that, apply & hit OK. load a new terminal and try `dkml --version`
<discocaml>
<0x90> once you're done with that, apply & hit OK. load a new terminal and try `dkml version`
<discocaml>
<0x90> setting up on Windows is a PITA i spent the past week doing it so i've learned a few things lol. if you dont have MinGW installed you may need that later as well. along with some missing DLL stuff
<discocaml>
<0x90> it was super tricky
<discocaml>
<0x90> PATH variable is nice cos it allows you to access them from command line.
<discocaml>
<0x90> i.e. when you type `dkml version`, it's gonna use that `dkml.exe` in the directory to perform it
<discocaml>
<vinwin008> Nicee
<discocaml>
<vinwin008> thanks man
<discocaml>
<vinwin008> works good
<discocaml>
<vinwin008> appreciate the help
<discocaml>
<0x90> no prob hopefully there isnt any others missing lol
<discocaml>
<vinwin008> haha yes
<discocaml>
<0x90> my Windows installation seems like it's held together by duct tape and zipties but it's been working today. wrote my first bit of code
<discocaml>
<vinwin008> Something just happeened again :ocaml:
<discocaml>
<riquy> In the OCaml row is it mentioned that it is not reflective. Not having that on OCaml is important or what is that used for in other languages?
<discocaml>
<riquy> In the OCaml row is it mentioned that it is not reflective. Not having that on OCaml is important or what is that used for in other languages?
<discocaml>
<octachron> Reflectivity allow programs to dynamically inspect their types. This is a feature that OCaml deliberately avoid because it compromises the ability to reason about programs (from a theoretical perspectives by allowing proofs to inspect the theorems that they are supposed to prove).
<discocaml>
<octachron> Moreover, nowadays with GADTs, it is possible to have (a limited form of) opt-in reflectivity.
<discocaml>
<riquy> So the part they wanted to avoid is modifying types at runtime? Because OCaml already know the types of every varible beforehand if I'm not mistaken.
jabuxas has joined #ocaml
<discocaml>
<riquy> It is interesting because ocaml supports some kind of mutability by using references but it avoid implementing reflectivity.
<discocaml>
<riquy> It is interesting because ocaml supports some kind of mutability by using references but it avoids implementing reflectivity.
<discocaml>
<riquy> Oh, there are no types after compilation.
<discocaml>
<riquy> Not having them there increases the performancd?
<discocaml>
<riquy> Not having them there increases the performance?
<discocaml>
<octachron> Types cannot be modified at runtime in a statical type system: types are a approximated description of the program behavior.
<discocaml>
<octachron> Erasing type does increase performance (compared to keeping copy of the type representation), and make it possible to implement polymorphic recursion, but more importantly it restricts function behaviors. Inspecting types has already consequence on programs behaviors.
<discocaml>
<octachron> With a type-erasure semantic, a function like `List.append: 'a list -> 'a list -> 'a list` cannot have a behavior that depends on the type of `'a` (because such information doesn't exist at runtime). This is no longer case with type reflection.
<discocaml>
<riquy> Makes sense, thanks for the explanation.
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
<companion_cube>
ok so 5.2 removed `Pexp_fun` from the parsetree :/
<companion_cube>
that's going to be fun
<discocaml>
<lukstafi> Note that AFAICT PPX is not affected yet -- AFAICT they are not updating the default parsetree (someone correct me).
<octachron>
Even, if at the end the new parsetree representation is probably easier to use in many cases
<companion_cube>
fun stuff
olle has quit [Ping timeout: 272 seconds]
gzar has joined #ocaml
Serpent7776 has quit [Ping timeout: 264 seconds]
<discocaml>
<yawaramin> at that point did you run the fourth command in a _new_ terminal?
<companion_cube>
oh and now `invalid_package_type` is a sum type with no printer, I see, I see
<companion_cube>
seems like the ast mapper doesn't have a new case for function_param :/
bartholin has joined #ocaml
<discocaml>
<vinwin008> Yes indeed
<discocaml>
<vinwin008> this is what happened
jabuxas has quit [Ping timeout: 256 seconds]
torretto has quit [Ping timeout: 260 seconds]
torretto has joined #ocaml
<discocaml>
<0x90> how u gettin on with this?
<discocaml>
<0x90> per chance you have msys installed and the bin folder in your PATH variable?
<discocaml>
<0x90> gimme 5 mins to wake up n ill show u what i mean
<discocaml>
<0x90> im wondering if the installation is trying to make use of those tools somehow but because they're not available, it makes it look like some files are missing
<companion_cube>
oh lord, moving from ocamlformat 0.24.1 to 0.26.2 is going to be fun…
<companion_cube>
even with a pretty specific config, it changes some things :(
waleee has joined #ocaml
mbuf has quit [Remote host closed the connection]
<discocaml>
<0x90> anybody know why utop is expecting a file instead of going into REPL mode?
<discocaml>
<0x90> was working a few days ago..... not sure what i may have changed
wingsorc has joined #ocaml
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #ocaml
jabuxas has joined #ocaml
Tuplanolla has joined #ocaml
<discocaml>
<yawaramin> you may have better luck in the #windows-support channel or in the OCaml Forum. one suggestionL wherever you post, do post all messages as plain rext, not as screenshots. plain text is searchable and accessible.