companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.11 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.11/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
Tuplanolla has quit [Quit: Leaving.]
<d_bot> <dj charlie> Pretty sure ocaml doesn’t have a sound typesystem btw
<d_bot> <dj charlie> Trying to dig up something I ran once as an example lol
<oni-on-ion> wat
steenuil has quit [Read error: Connection reset by peer]
mbuf has joined #ocaml
vicfred has joined #ocaml
<d_bot> <Drup> @dj charlie If you really have a un-sound example, I *strongly* suggest you report it 🙂
<d_bot> <dj charlie> There’s definitely an email I’m struggling to find rn
<d_bot> <dj charlie> From way back in the 2000s
<d_bot> <dj charlie> With a type that if you try to define it’ll cause things to hang up
<d_bot> <dj charlie> I found it through an article I read ages back that criticised the importance of soundness and had a list of examples for a bunch of languages
<d_bot> <Drup> yeah, that has probably been fixed since then
<d_bot> <dj charlie> Nah it definitely worked for me the time I tried it
<d_bot> <dj charlie> Btw not type unsoundness I misremembered, “undecidability”
<d_bot> <dj charlie> 2 secs
<d_bot> <Drup> ah, well, that's *very* different
<d_bot> <Drup> yes, you can make the type checker loop with a very weird pattern of module code
<d_bot> <dj charlie> ah here we go
<d_bot> <dj charlie> ``` module type I =
<d_bot> <dj charlie> sig
<d_bot> <dj charlie> module type A
<d_bot> <dj charlie> module F :
<d_bot> <dj charlie> functor(X :
<d_bot> <dj charlie> sig
<d_bot> <dj charlie> module type A = A
<d_bot> <dj charlie> module F : functor(X : A) -> sig end
<d_bot> <dj charlie> end) -> sig end
<d_bot> <dj charlie> end
<d_bot> <dj charlie> module type J =
<d_bot> <dj charlie> sig
<d_bot> <dj charlie> module type A = I
<d_bot> <dj charlie> module F : functor(X : I) -> sig end
<d_bot> <dj charlie> end
<d_bot> <dj charlie> (* Try to check J <= I *)
<d_bot> <dj charlie> module Loop(X : J) = (X : I)```
<d_bot> <dj charlie> makes you think huh?
<d_bot> <Drup> yeah, that's the one
<d_bot> <dj charlie> lol
<d_bot> <dj charlie> guess i conflated the two
<d_bot> <Drup> it's known, it's ... honestly not a problem in practice
<d_bot> <dj charlie> yeah lol
<d_bot> <Drup> undecidability of type checking can be a problem in practice if it hits on code that people actually write, fortunately that's not the case here
wingsorc has joined #ocaml
<companion_cube> undecidability or semi decidability?
<d_bot> <dj charlie> 🤔
<d_bot> <Drup> what does semi-decidability means for type checking exactly ?
<d_bot> <Drup> because if it's "it always terminate when saying no" or something like that, then it's strictly useless 😄
<d_bot> <Drup> (and in the case of scala and C++, there is far more practical solution: recursion is bounded. We could do the same if it mattered, but it doesn't. This kind of code is never really written)
mxns has joined #ocaml
<companion_cube> Drup: I'd say "always terminate when fully annotated"
<companion_cube> but maybe that's a useless discussion
<companion_cube> I feel like we actually discussed this notion recently
<companion_cube> (fully annotated = all binders annotated)
aaaaaa has quit [Quit: leaving]
<Drup> well, the binders in modules are always annotated, so that's not the issue :)
<companion_cube> right, right
mbuf has quit [Ping timeout: 246 seconds]
<companion_cube> I didn't even know about this corner case of OCaml
oautho has joined #ocaml
<oautho> hi! I'm using the ocaml and reason extension, and sometimes when I want to see where a function is defined, it tells me there are no references
<oautho> how can i get help with this?
<oni-on-ion> this may depend on editor
<oautho> ah i'm on vscode
mfp has quit [Ping timeout: 272 seconds]
mxns has quit [Ping timeout: 256 seconds]
mxns has joined #ocaml
oautho has quit [Ping timeout: 245 seconds]
mxns has quit [Ping timeout: 264 seconds]
sm2n has quit [Read error: Connection reset by peer]
sm2n has joined #ocaml
mxns has joined #ocaml
mxns has quit [Ping timeout: 264 seconds]
oni-on-ion has quit [Remote host closed the connection]
vicfred has quit [Quit: Leaving]
ggole has joined #ocaml
wingsorc_ has joined #ocaml
wingsorc has quit [Ping timeout: 260 seconds]
wingsorc_ has quit [Quit: Leaving]
mxns has joined #ocaml
narimiran has joined #ocaml
amiloradovsky has joined #ocaml
mbuf has joined #ocaml
mbuf has quit [Ping timeout: 240 seconds]
mbuf has joined #ocaml
waleee-cl has quit [Quit: Connection closed for inactivity]
decentpenguin has quit [Read error: Connection reset by peer]
decentpenguin has joined #ocaml
shawnw has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
_whitelogger has joined #ocaml
gahr has quit [Quit: leaving]
<d_bot> <joris> @companion_cube interesting article thanks
gahr has joined #ocaml
<d_bot> <Ulugbek> @oautho: you'll have better luck in reason discord server [here](https://discord.gg/nXxjRU86). There is an `editor support` channel
Haudegen has joined #ocaml
mbuf has quit [Quit: Leaving]
gahr has quit [Quit: leaving]
gahr has joined #ocaml
<d_bot> <ocaml.bro.69> Does anybody know if you can use incremental/incr_dom with Bucklescript?
osa1 has quit [Quit: osa1]
osa1 has joined #ocaml
hnOsmium0001 has quit [Quit: Connection closed for inactivity]
rwmjones|hols is now known as rwmjones
osa1 has quit [Quit: osa1]
osa1 has joined #ocaml
olle has joined #ocaml
borne has joined #ocaml
webshinra has quit [Ping timeout: 272 seconds]
webshinra has joined #ocaml
gahr has quit [Quit: leaving]
gahr has joined #ocaml
gahr has quit [Client Quit]
gahr has joined #ocaml
<reynir> I think not, it depends on js_of_ocaml
nullcone has joined #ocaml
steenuil has joined #ocaml
bartholin has joined #ocaml
Manis[m] has quit [Quit: Bridge terminating on SIGTERM]
h11 has quit [Quit: Bridge terminating on SIGTERM]
flux has quit [Quit: Bridge terminating on SIGTERM]
stan[m] has quit [Quit: Bridge terminating on SIGTERM]
ptival[m] has quit [Quit: Bridge terminating on SIGTERM]
labor[m] has quit [Quit: Bridge terminating on SIGTERM]
jimt[m] has quit [Quit: Bridge terminating on SIGTERM]
aterius has quit [Quit: Bridge terminating on SIGTERM]
Coueek[m] has quit [Quit: Bridge terminating on SIGTERM]
pqwy[m] has quit [Quit: Bridge terminating on SIGTERM]
BitPuffin has quit [Quit: Bridge terminating on SIGTERM]
aspiwack[m] has quit [Quit: Bridge terminating on SIGTERM]
loxs[m] has quit [Quit: Bridge terminating on SIGTERM]
camlriot42 has quit [Quit: Bridge terminating on SIGTERM]
kanishkaa[m] has quit [Quit: Bridge terminating on SIGTERM]
peddie has quit [Quit: Bridge terminating on SIGTERM]
lnxw37d4 has quit [Quit: Bridge terminating on SIGTERM]
mmohammadi9812 has quit [Quit: Bridge terminating on SIGTERM]
dash has quit [Quit: Bridge terminating on SIGTERM]
peddie has joined #ocaml
oni-on-ion has joined #ocaml
gahr has quit [Quit: leaving]
gahr has joined #ocaml
pqwy[m] has joined #ocaml
labor[m] has joined #ocaml
aterius has joined #ocaml
flux has joined #ocaml
stan[m] has joined #ocaml
camlriot42 has joined #ocaml
Manis[m] has joined #ocaml
Coueek[m] has joined #ocaml
dash has joined #ocaml
mmohammadi9812 has joined #ocaml
lnxw37d4 has joined #ocaml
BitPuffin has joined #ocaml
h11 has joined #ocaml
ptival[m] has joined #ocaml
aspiwack[m] has joined #ocaml
jimt[m] has joined #ocaml
kanishkaa[m] has joined #ocaml
loxs[m] has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
mfp has joined #ocaml
nullcone has quit [Quit: Connection closed for inactivity]
Haudegen has joined #ocaml
raver has quit [Read error: Connection reset by peer]
vicfred has joined #ocaml
f[x] has joined #ocaml
oni-on-ion has quit [Read error: Connection reset by peer]
waleee-cl has joined #ocaml
raver has joined #ocaml
Serpent7776 has quit [Read error: Connection reset by peer]
Serpent7776 has joined #ocaml
cross has joined #ocaml
hnOsmium0001 has joined #ocaml
berberman_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
berberman has joined #ocaml
shawnw has quit [Ping timeout: 260 seconds]
bartholin has quit [Quit: Leaving]
Tuplanolla has joined #ocaml
TheLemonMan has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
nullcone has joined #ocaml
olle has quit [Ping timeout: 264 seconds]
<d_bot> <Eric J Morey> Why are so many people lableled with "bot" here?
<Armael> beep boop
<d_bot> <Splingush> it's from the IRC bridge. When they write there, their messages get posted here by the bot.
<d_bot> <Eric J Morey> Oh. Nice!
<d_bot> <Eric J Morey> The limitations of IRC with asynchronous communication always bothered me.
<d_bot> <Eric J Morey> Is that bot written using OCaml?
<companion_cube> No, it's a go thing iirc
<companion_cube> Off the shelf
<zozozo> and then there are a few people who are here both on irc and discord, hiding incognito... :p
<companion_cube> 😇
<d_bot> <zozozo> that way we can confuse people by writing message with the same nick but with or without the "bot" annotation
<d_bot> <Eric J Morey> Fun!
<d_bot> <Eric J Morey> Has anyone here used Dis.ml from https://gitlab.com/Mishio595/disml to make a Discord bot? I want to get started on a new project using OCaml.
<companion_cube> I just write irc bots, sorry :p
<d_bot> <Eric J Morey> Well, I guess I will give it a try and see what happens.
amiloradovsky has joined #ocaml
Haudegen has joined #ocaml
neiluj has joined #ocaml
neiluj has joined #ocaml
mxns has quit [Ping timeout: 240 seconds]
borne has quit [Ping timeout: 272 seconds]
berberman has quit [Ping timeout: 264 seconds]
berberman_ has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
amiloradovsky has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
gareppa has joined #ocaml
<steenuil> I actually wanted to try and port disml to Lwt a few days ago but then figured I don't want to make a discord bot *that* badly.
<companion_cube> 😂
<Armael> :D
ggole has quit [Quit: Leaving]
mxns has joined #ocaml
<jerith> I started writing a discord bot in OCaml from scratch a few years ago (when discord's API was new), but gave up when I reached the limits of the documentation.
<d_bot> <psteckler> what's the best way to check whether a (Linux) process exists, from standard lib or Jane St libs?
<jerith> Heh, it predates free private repos on github, so it's open: https://github.com/jerith/chaocaml
<jerith> ... how does it have 12 stars? How does it have any stars at all?
<d_bot> <copy> @psteckler Read the relevant files in /proc/\d+. JST had a library for reading from procfs, I believe in core_extended, not sure if that still exists.
<reynir> @psteckler do you have the pid of the process?
<hannes> psteckler: I use Unix.waitpid / Lwt_unix.waitpid for this (it is a blocking system call, but you can pass in a flag to avoid blocking). it returns you the exit code of the process (you need to pid of the process you'd like to observe)
vicfred_ has joined #ocaml
vicfred has quit [Ping timeout: 264 seconds]
vicfred_ has quit [Max SendQ exceeded]
vicfred_ has joined #ocaml
vicfred_ has quit [Max SendQ exceeded]
vicfred_ has joined #ocaml
<reynir> You can also do Unix.kill pid 0 and then catch exceptions /o\
<reynir> ^ if it's not a child process
Haudegen has quit [Quit: Bin weg.]
amiloradovsky has quit [Ping timeout: 260 seconds]
amiloradovsky has joined #ocaml
Hrundi_V_Bakshi has joined #ocaml
<d_bot> <psteckler> I ended up using `Signal.(send zero) (`Pid pid)`
<d_bot> <psteckler> which works great
narimiran has quit [Ping timeout: 272 seconds]
olle_ has joined #ocaml
Hrundi_V_Bakshi has quit [Quit: No Ping reply in 180 seconds.]
Hrundi_V_Bakshi has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
raver has quit [Read error: Connection reset by peer]
xenu_ has joined #ocaml
serpent has joined #ocaml
xenu has quit [Read error: Connection reset by peer]
Serpent7776 has quit [Read error: Connection reset by peer]
olle_ has quit [Ping timeout: 240 seconds]
<d_bot> <ocaml.bro.69> I was looking at Jane Street's `Incr_dom` library. Is it possible to compose multiple `Component` types together? It seems like you can't.
<d_bot> <ocaml.bro.69> I would like to compose my different views together, but it seems like it is a bit difficult to do that with Jane Street's `Incr_dom`. You have to create one giant view for the entire app
<d_bot> <beheddard> I don't have much real experience with it yet, but JaneStreet `Bonsai` is where to look for that
<d_bot> <beheddard> It's an evolution of incr_dom with composing in mind
borne has joined #ocaml
Jesin has quit [Quit: Leaving]
gareppa has quit [Quit: Leaving]
Jesin has joined #ocaml
mxns has quit [Ping timeout: 265 seconds]
terrorjack has quit [Ping timeout: 264 seconds]
Tuplanolla has quit [Quit: Leaving.]
Hrundi_V_Bakshi has quit [Ping timeout: 256 seconds]
mxns has joined #ocaml
mxns has quit [Ping timeout: 272 seconds]
vicfred_ has quit [Quit: Leaving]
vicfred has joined #ocaml
vicfred has quit [Max SendQ exceeded]
vicfred has joined #ocaml