Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.1.1 released: https://ocaml.org/releases/5.1.1 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
<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> <darrenldl> if you want to use github to build and host the release, a workflow that works for me is at <https://github.com/darrenldl/docfd/blob/main/.github/workflows/deploy.yml>
<discocaml> <darrenldl>
<discocaml> <darrenldl> but you need to have made an opam lock file
<discocaml> <anmonteiro> this assumes a musl toolchain, no?
<discocaml> <darrenldl> yep, or install the glibc-static package (which seems to be installed already with github ubuntu image)
waleee has quit [Ping timeout: 268 seconds]
YuGiOhJCJ has joined #ocaml
YuGiOhJCJ has quit [Ping timeout: 260 seconds]
YuGiOhJCJ has joined #ocaml
<discocaml> <vinwin008> hello
<discocaml> <vinwin008> I'm trying to install ocaml
<discocaml> <vinwin008> but there's some error thing
<discocaml> <vinwin008> Can someone please help
<discocaml> <0x90> WHAT OS are you using?
<discocaml> <vinwin008> Windows
<discocaml> <0x90> what are u currently doin to install it
<discocaml> <vinwin008> I did the above 3 steps in powershell
<discocaml> <0x90> okay
<discocaml> <0x90> can you tell me if you have the following directory
<discocaml> <0x90> `%USERPROFILE%\AppData\Local\Programs\DkMLNative\usr\bin`
<discocaml> <vinwin008> Yes i have it
<discocaml> <0x90> ok and this one `C:\Users\miket\AppData\Local\Programs\DkMLNative\bin`
<discocaml> <0x90> ok and this one `%USERPROFILE%\AppData\Local\Programs\DkMLNative\bin`
<discocaml> <0x90> if you have that 2nd one, also see if you have `dkml.exe` inside there
<discocaml> <vinwin008> It looks like i don't have this file
<discocaml> <0x90> hmmm interesting
<discocaml> <0x90> oh wait you do
<discocaml> <0x90> at the top dkml
<discocaml> <0x90> good
<discocaml> <0x90> i think you just need to add that folder to your PATH environment variable
<discocaml> <0x90> press Windows key, type "env" and look for this
<discocaml> <vinwin008> oh ok
<discocaml> <vinwin008> Umm how do i add it 😅
<discocaml> <0x90> gimme one sec i wanna make sure i dont have u add a ton of junk to your PATH
<discocaml> <vinwin008> thanks a ton man
<discocaml> <0x90> okay i think u'll want to just add both of those paths to a PATH variable
<discocaml> <0x90> so once u open that control panel option
<discocaml> <0x90> click "Environment Variables..."
<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> <0x90> whats it sayin
<discocaml> <0x90> dkmlvars-v2.sexp doesn't exist it seems
<discocaml> <0x90> can u verify that it is not in that folder? (or that the folder doesn't exist)
<discocaml> <0x90> oo wait
<discocaml> <0x90> it seems like ur dkml install mighta went wild somehoww
<discocaml> <vinwin008> yEA IT'S def not there
<discocaml> <vinwin008> what do i even do now oof
<discocaml> <vinwin008> Is there any way to unistall the existing files
<discocaml> <vinwin008> and then try again
<discocaml> <vinwin008> godayumn there are so many files scattered everywhere
<discocaml> <0x90> LOl yeah same happened to me. it took me 2 tries
<discocaml> <0x90> i would go to Control Panel -> Uninstall a program -> Uninstall DkNative
<discocaml> <0x90> then go back to that directory, make sure it really is deleted
<discocaml> <0x90> and also remove those 2 environmental variables you added. and start again with `winget Diskuv.OCaml`
<discocaml> <0x90> and also remove those 2 environmental variables you added. and start again with `winget install Diskuv.OCaml`
<discocaml> <vinwin008> alright
<discocaml> <0x90> this is what mine looks like
<discocaml> <0x90> not sure how much you were missing but i'd imagine `dkmlvars-v2.sexp` was just part of it?
Serpent7776 has joined #ocaml
<discocaml> <vinwin008> Yup
<discocaml> <vinwin008> I think I did not have the DkML forlder itlsef
<discocaml> <vinwin008> itself
<discocaml> <vinwin008> Something is deeply wrong lol
<discocaml> <0x90> whats it doin now
<discocaml> <0x90> sounds like its strugglin to connect to a database?
<discocaml> <vinwin008> I deleted from Control panel
<discocaml> <0x90> probably to grab the files?
<discocaml> <0x90> thats when u run `winget`?
<discocaml> <vinwin008> But the DkML Native folder is still there
<discocaml> <0x90> whats inside the folder
<discocaml> <vinwin008> 2 folders, bin and usr
<discocaml> <vinwin008> they contain some ocaml files inside
<discocaml> <vinwin008> I'll try unistalling again
<discocaml> <0x90> honestly if u do `winget install Diskuv.OCaml` and it says that "stuff already exists" and it wont proceed
<discocaml> <0x90> you could try doing `winget install Diskuv.OCaml --override` to override it and proceed anyway i think
<discocaml> <vinwin008> ok i'll try
<discocaml> <0x90> check if any other DkML things exist in Control Panel as well
<discocaml> <0x90> might be multiple things
<discocaml> <vinwin008> unistalled and installed everything
<discocaml> <vinwin008> still the same sexp error
<discocaml> <vinwin008> DkML native has installed but not DkML
olle has joined #ocaml
<discocaml> <vinwin008> holy i'm done
<discocaml> <vinwin008> it shows a different error again and again
emp has quit [Quit: ZNC 1.8.2 - https://znc.in]
emp has joined #ocaml
myrkraverk has quit [Ping timeout: 256 seconds]
mro has joined #ocaml
wingsorc has quit [Ping timeout: 260 seconds]
lthms has left #ocaml [The Lounge - https://thelounge.chat]
mro has quit [Ping timeout: 264 seconds]
bartholin has joined #ocaml
jabuxas has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
mro has joined #ocaml
bartholin has quit [Quit: Leaving]
mro has quit [Remote host closed the connection]
jabuxas has quit [Ping timeout: 260 seconds]
jabuxas has joined #ocaml
mbuf has joined #ocaml
jabuxas has quit [Ping timeout: 246 seconds]
<discocaml> <riquy> I found this list on wikipedia that compares programming languages and list what features/characteristics they have https://en.m.wikipedia.org/wiki/Comparison_of_programming_languages#General_comparison
<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> I found this list on wikipedia that compares programming languages and list what paradigms they implement https://en.m.wikipedia.org/wiki/Comparison_of_programming_languages#General_comparison
<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> I am indeed afraid that the parsetre changes from https://github.com/ocaml/ocaml/pull/12236 are rather extensive.
<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.
bartholin has quit [Quit: Leaving]
myrkraverk has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
anadon has joined #ocaml