Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.13.0 released: https://ocaml.org/releases/4.13.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 264 seconds]
sleeping_papaya has joined #ocaml
Tuplanolla has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sleeping_papaya has quit [Ping timeout: 268 seconds]
sleeping_papaya has joined #ocaml
rgrinberg has joined #ocaml
sleeping_papaya has quit [Ping timeout: 250 seconds]
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 264 seconds]
sleeping_papaya has joined #ocaml
dh` has joined #ocaml
dh` has joined #ocaml
dh` has quit [Changing host]
sleeping_papaya has quit [Ping timeout: 265 seconds]
Colt has quit [Quit: Leaving]
Colt has joined #ocaml
waleee has quit [Ping timeout: 265 seconds]
vicfred has quit [Quit: Leaving]
waleee has joined #ocaml
sleeping_papaya has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sleeping_papaya has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
sleeping_papaya has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
sleeping_papaya has quit [Ping timeout: 265 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
average has quit [Quit: Connection closed for inactivity]
rgrinberg has joined #ocaml
waleee has quit [Ping timeout: 250 seconds]
waleee has joined #ocaml
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 250 seconds]
waleee has quit [Quit: WeeChat 3.3]
<d_bot> <Curzon> is the only solution to compile to JS and see what nodejs offers for building into executables or just using npm, you think?
<d_bot> <Curzon> You know "Flow", it's like a typescript language but written in OCaml, but they somehow compiled ocaml to binaries for windows, mac and linux
<d_bot> <darrenldl> as in compiled the flow tool binary for the three platforms
<d_bot> <darrenldl> ?
<d_bot> <Curzon> yeah
<d_bot> <Curzon> i wondered if they used js_of_ocaml and compiled js to three platforms using some npm package
<d_bot> <Curzon> that's a huge step though
<d_bot> <darrenldl> you can always pick the corresponding worker in ci/cd for compilation
<d_bot> <Curzon> ??
<d_bot> <darrenldl> pick windows vm worker to compile windows binary etc
<d_bot> <Curzon> you mean virtual machines?
<d_bot> <darrenldl> yep
<d_bot> <Curzon> opam doesnt work on windows
<d_bot> <Curzon> natively
<d_bot> <Curzon> you'd use cygwin or wsl but would still compile as linux executable
<d_bot> <darrenldl> hmmmm
<d_bot> <Curzon> i'd honestly would rather just compile ocaml to js
<d_bot> <Curzon> and not care about the performance
<d_bot> <darrenldl> their build instruction for windows relies on cygwin
<d_bot> <Curzon> this is also why i bought a macbook, so it wouldnt be such a pain to work with ocam;l
<d_bot> <Curzon> i dont have to use cygwin or wsl on my windows machine
<d_bot> <Anurag> @Curzon you can use cygwin along with the mingw/msvc ocaml switch and the generated executables will work on windows then.
klu has quit [Quit: .]
rgrinberg has quit [Ping timeout: 265 seconds]
mbuf has joined #ocaml
b0o has quit [Quit: WeeChat 3.3]
klu has joined #ocaml
klu has quit [Changing host]
klu has joined #ocaml
klu has quit [Quit: .]
klu has joined #ocaml
klu has joined #ocaml
klu has quit [Changing host]
Anarchos has quit [Ping timeout: 256 seconds]
Haudegen has joined #ocaml
klu has quit [Quit: .]
klu has joined #ocaml
klu has quit [Changing host]
klu has joined #ocaml
zebrag has quit [Remote host closed the connection]
Serpent7776 has joined #ocaml
mro has joined #ocaml
horninghack has joined #ocaml
hornhack has quit [Ping timeout: 260 seconds]
<d_bot> <mseri> You can also use things like reason-mobile or other of the approaches presented e.g. here: https://discuss.ocaml.org/t/cross-compiling-implementations-how-they-work/8686
<d_bot> <mseri> Just for the sake of examples, here I use reason mobile to cross compile for mac, linux and windows in the Github action: https://github.com/mseri/doi2bib
<d_bot> <mseri> It takes some effort and some degree of trial and error, but it is definitely doable
<d_bot> <Et7f3> Time to present https://esy.sh I prefer esy to opam because it is friendlier for windows. However opam are actively improving support. 2.1 should be windows release but I haven't used recently. Esy install cygwin for unix environment and mingw64-gcc cross compiler (that generate truly native exe that don't depend on cygwin1.dll) and since OCaml rely on external assembler/C compiler it manages to generate true windows binary (only o
<d_bot> <Et7f3> @Curzon OCaml compiler require unix env to build: make, sh, awk, sed, ... because it use autoconf. But once you have a ocamlopt binary it requires only the C compiler. Most package use dune so they compile out of the box on windows. Some package require specific unix functions and/or make but it is a minority.
mro has quit [Remote host closed the connection]
<d_bot> <mettekou> Anyone here using OCaml for engineering applications, e.g. industrial communication protocols (OPC UA, CAN...), numerical mathematics...?
gdd has quit [Ping timeout: 250 seconds]
gdd has joined #ocaml
olle has joined #ocaml
<d_bot> <Jektrix> Interesting question. I'm interested in implementing a protocol that needs to run over RS485 so keen to here if anyone else has done stuff in that space
<d_bot> <mettekou> @Jektrix I'm trying to port some F# that replaces some NI LabVIEW to OCaml, so I'm also interested in that space.
<d_bot> <mettekou> Currently working on parsing TDMS files using Angstrom.
xd1le has quit [Quit: xd1le]
bartholin has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
<d_bot> <bnguyenv> For numerical mathematics in general, there is some stuff, you can look at https://ocaml.xyz/ typically
<ns12> What is "d_bot"?
<d_bot> <NULL> Messages from Discord, bridged by the bot
<d_bot> <bnguyenv> The discord bridge !
<ns12> So the real discussion is happening on Discord and not on IRC?
<d_bot> <NULL> IRC is bridged back, so there's no single place where the discussion happens
<d_bot> <NULL> The IRC channel and the Discord channel are linked to be one and the same
<ns12> NULL: do you get a notification in Discord when I mention your name in IRC style?
<d_bot> <mettekou> I was already aware of Owl, thanks. My question was about people using OCaml for engineering applications, though, not about library recommendations.
<d_bot> <NULL> ns12: No, and I doubt it would either if you used my full Discord username (@NULL, or if the bridge truncates it, it is @ NULL#9971)
<d_bot> <Jektrix> I need to talk over a serial port I gues
mro has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
Anarchos has joined #ocaml
vb has quit [Ping timeout: 265 seconds]
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 250 seconds]
Colt has quit [Quit: Leaving]
<d_bot> <bnguyenv> Then I don't really know... (I would guess not very many)
kurfen has quit [Ping timeout: 244 seconds]
kurfen has joined #ocaml
mro has quit [Remote host closed the connection]
Haudegen has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
waleee has joined #ocaml
rgrinberg has joined #ocaml
mro has joined #ocaml
<d_bot> <mbacarella> the ocaml syntax colors in vscode are kind of disappointing. i'm accustomed to the angry fruit salad one.
sleeping_papaya has joined #ocaml
<d_bot> <mbacarella> that wasn't meant as a diss against the ocaml extension, more like i'm surprised there aren't many existing options in vs code
<Franciman> hi @mbacarella, I use kakoune
<Franciman> so not vscode
<Franciman> and I like colors there :P
sleeping_papaya has quit [Ping timeout: 250 seconds]
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 264 seconds]
sleeping_papaya has joined #ocaml
waleee has quit [Ping timeout: 264 seconds]
waleee has joined #ocaml
sleeping_papaya has quit [Ping timeout: 264 seconds]
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 250 seconds]
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 265 seconds]
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 250 seconds]
mro has quit [Remote host closed the connection]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
krnkktz has quit [K-Lined]
smondet[m] has quit [K-Lined]
mclovin has quit [K-Lined]
CodeBitCookie[m] has quit [K-Lined]
saltrocklamp[m] has quit [K-Lined]
tomku[m] has quit [K-Lined]
adibsaad[m] has quit [K-Lined]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 260 seconds]
JSharp has quit [Ping timeout: 265 seconds]
jyc has quit [Ping timeout: 264 seconds]
cbarrett has quit [Ping timeout: 264 seconds]
krnkktz has joined #ocaml
tizoc has quit [Ping timeout: 246 seconds]
conjunctive has quit [Ping timeout: 264 seconds]
tengu1 has joined #ocaml
Boarders_ has quit [Ping timeout: 268 seconds]
caasih has quit [Read error: Connection reset by peer]
v0idpwn has quit [Read error: Connection reset by peer]
tizoc has joined #ocaml
mro has joined #ocaml
conjunctive has joined #ocaml
caasih has joined #ocaml
Boarders_ has joined #ocaml
jyc has joined #ocaml
v0idpwn has joined #ocaml
mro has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
JSharp has joined #ocaml
cbarrett has joined #ocaml
mclovin has joined #ocaml
smondet[m] has joined #ocaml
adibsaad[m] has joined #ocaml
saltrocklamp[m] has joined #ocaml
CodeBitCookie[m] has joined #ocaml
tomku[m] has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
mclovin has quit [Quit: Client limit exceeded: 20000]
krnkktz has quit [Quit: Client limit exceeded: 20000]
saltrocklamp[m] has quit [Quit: Client limit exceeded: 20000]
favonia has joined #ocaml
tengu1 has quit [Ping timeout: 256 seconds]
Anarchos has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mbuf has quit [Quit: Leaving]
bartholin has quit [Quit: Leaving]
Haudegen has joined #ocaml
zebrag has joined #ocaml
<d_bot> <cemerick> Working on a ppx; I can resolve module types and signatures that are outside of the current project just fine, but trying to use e.g. `Env.lookup_module` and such on idents referring to local modules fails. I'm guessing the "initial environment" I'm using isn't picking up local artifacts; how can I fix that?
krnkktz has joined #ocaml
Skyfire has quit [Ping timeout: 240 seconds]
mclovin has joined #ocaml
saltrocklamp[m] has joined #ocaml
<d_bot> <cemerick> oh, I see there's #ppx, I'll ask there 🙃
<companion_cube> ppx with types is super hard, afaik
berberman has quit [Quit: ZNC 1.8.2 - https://znc.in]
<companion_cube> it's really supposed to be syntactic
berberman has joined #ocaml
favonia has quit [Ping timeout: 256 seconds]
<d_bot> <cemerick> there's only so much you can do without poking beyond the immediate expansion context
<companion_cube> 🤷
<companion_cube> you'd need another kind of ppx that doesn't exist
<companion_cube> one that works on typedtree
<d_bot> <cemerick> that's overstating it
<d_bot> <cemerick> like I said, I can inspect module types just fine, just not those defined locally
<companion_cube> I guess you're in compiler-libs and it's able to load .cmi files dynamically
<d_bot> <cemerick> I suspect it's just a matter of properly configuring the compiler-libs env
<companion_cube> but it hasn't started typechecking the current file
<companion_cube> at all
<companion_cube> (since the file isn't even ready to compile!)
<d_bot> <cemerick> right
<d_bot> <cemerick> I'm thankfully not aiming to get types defined in the current module, just other modules in the same project
<companion_cube> for this to work, the ppx would have to be called at every subtree of the AST, in the context where it's about to be typed :s
<companion_cube> (like, with let-bound variables already typed)
<companion_cube> that's more like a compiler plugin
<d_bot> <cemerick> hrm, I sort of assumed that that's what was happening
<companion_cube> no, ppx is run wholesale on the parsetree
<d_bot> <cemerick> ech, yeah, dune --verbose confirms that everything in a directory is ppx'd before ocamlc gets to it
<companion_cube> all the modern ppx architecture with ppxlib is designed so that you apply all the ppx in one pass, btw; but still on the parsetree before any type analysis
<d_bot> <cemerick> well, that's a bummer
favonia has joined #ocaml
<d_bot> <octachron> dune has staged_pps which are run after the compilation of the module dependency
<d_bot> <cemerick> eh, just putting the referenced modules in a nearby library separates them enough
mro has joined #ocaml
<companion_cube> octachron: will still not work for types in the same file
<companion_cube> but yeah, it's the hack that ppx_import uses I belive
<companion_cube> +e
average has joined #ocaml
<d_bot> <cemerick> @octachron That doesn't seem to immediately solve the problem, but maybe it will make it so that referenced modules don't have to be in a separate library. I think the fundamental issue is either that the temporary ppx executable that dune builds doesn't include the local .cmxa's, or an analogous issue with the paths registered with `Compenv`.
Anarchos has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Anarchos has joined #ocaml
Skyfire has joined #ocaml
bobo_ has joined #ocaml
spip has quit [Ping timeout: 256 seconds]
spip has joined #ocaml
bobo_ has quit [Ping timeout: 264 seconds]
mro has quit [Remote host closed the connection]
<d_bot> <antron> has anyone compared tsdl and ocamlsdl2?
vicfred has joined #ocaml
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 264 seconds]
bobo_ has joined #ocaml
spip has quit [Ping timeout: 265 seconds]
romildo has joined #ocaml
rgrinberg has joined #ocaml
<d_bot> <antron> well, they are both similar in that they don't install or work readily on windows 😛
<d_bot> <let Butanium = raise Not_found;;> x)
<d_bot> <antron> looks like there is an sdl2 binding inside revery, too, but it would have to be extracted from the repo. or i could try just using revery i guess
romildo has quit [Quit: Leaving]
Serpent7776 has quit [Quit: leaving]
favonia has quit [Ping timeout: 268 seconds]
favonia has joined #ocaml
bobo_ has quit [Ping timeout: 256 seconds]
spip has joined #ocaml
Tuplanolla has joined #ocaml
sleeping_papaya has joined #ocaml
sleeping_papaya has quit [Ping timeout: 268 seconds]
favonia has quit [Ping timeout: 260 seconds]
bobo_ has joined #ocaml
bobo__ has joined #ocaml
spip has quit [Ping timeout: 260 seconds]
bobo_ has quit [Ping timeout: 256 seconds]
spip has joined #ocaml
average has quit [Quit: Connection closed for inactivity]
bobo__ has quit [Ping timeout: 268 seconds]
olle has quit [Ping timeout: 265 seconds]
spip has quit [Quit: Konversation terminated!]
spip has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
average has joined #ocaml
qwr has joined #ocaml