humasect has quit [Remote host closed the connection]
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 248 seconds]
Frostillicus has joined #ocaml
humasect has joined #ocaml
humasect has quit [Ping timeout: 276 seconds]
Frostillicus has quit [Ping timeout: 252 seconds]
<discocaml>
<darrenldl> verifpal?
<discocaml>
<darrenldl> verifpal is the main odd one out in protocotol verification - you have mostly haskell and ocaml, then verifpal in go
humasect has joined #ocaml
humasect has quit [Ping timeout: 276 seconds]
syrax has quit [Ping timeout: 244 seconds]
wbooze has quit [Read error: Connection reset by peer]
wbooze has joined #ocaml
<discocaml>
<sim642> Writing static analyses that is. Static analysis of OCaml itself is still quite lacking. But in recent years there have been multiple projects trying to improve it
wbooze has quit [Quit: Leaving]
<dh`>
I really dislike haskell separate type signatures, fwiw
<dh`>
they occupy valuable vertical space
<dh`>
also the convention of attaching them to every top-level definition seems to cause people to stop thinking about whether they're providing useful information
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 252 seconds]
mange has joined #ocaml
wbooze has joined #ocaml
humasect has joined #ocaml
bartholin has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 252 seconds]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Ping timeout: 265 seconds]
humasect has quit [Quit: Leaving...]
Frostillicus has joined #ocaml
Serpent7776 has joined #ocaml
<discocaml>
<shalokshalom> I read that the new multi core system of OCaml enables the imolementation of Erlang-like fault tolerance
<discocaml>
<shalokshalom> I read that the new multi core system of OCaml enables the implementation of Erlang-like fault tolerance - is this correct(
<discocaml>
<shalokshalom> I read that the new multi core system of OCaml enables the implementation of Erlang-like fault tolerance - is this correct?
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> I heard there is already a practical implementation of that?
<discocaml>
<shalokshalom> Ah, I probably mistook it
<discocaml>
<shalokshalom> I was looking for fault tolerance, that is simply multi core use.
xenu has quit [Ping timeout: 252 seconds]
<discocaml>
<darrenldl> not sure how much fault tolerance you can have without a large backing runtime
Frostillicus has quit [Ping timeout: 260 seconds]
<discocaml>
<froyo> I think they're looking for that process-supervisor tree hierarchy that something like the otp framework provides. marginally hot code reloading may be considered fault tolerance as well.
<discocaml>
<froyo> riot does provide supervisors as far as i understand
Frostillicus has joined #ocaml
bartholin has quit [Remote host closed the connection]
<discocaml>
<shalokshalom> Riot does not mention supervisors
wbooze has quit [Ping timeout: 265 seconds]
dhil has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
remexre has quit [Ping timeout: 252 seconds]
remexre has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Haudegen has quit [Quit: Bin weg.]
<discocaml>
<bluddy5> It's still early days for Riot.
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
Frostillicus has joined #ocaml
<discocaml>
<JM> Is riot still active?
iNomad has joined #ocaml
Haudegen has joined #ocaml
Frostillicus has quit [Ping timeout: 265 seconds]
Frostillicus has joined #ocaml
myrkraverk has joined #ocaml
myrkraverk_ has quit [Ping timeout: 248 seconds]
<discocaml>
<dubious245> I like type signatures for some of the top level bindings like:
<discocaml>
<dubious245> ```ocaml
<discocaml>
<dubious245> let do_something a =
<discocaml>
<dubious245> (*Do Something, type inference take the wheel.*)
<discocaml>
<dubious245>
<discocaml>
<dubious245> let do_something_else b =
<discocaml>
<dubious245> (*Do Something. have at it type infrence I dont care.*)
<discocaml>
<dubious245>
<discocaml>
<dubious245> sig image -> image
<discocaml>
<dubious245> let do_important_thing a b =
<discocaml>
<dubious245> (*Do Something but type inference be aware this has to return an image and take an image for the api to work.*)
<discocaml>
<dubious245> ```
<discocaml>
<dubious245> Please ignore the typo in that last one. there should be one argument. :mcderpy:
<discocaml>
<froyo> `sig` will definitely cause a conflict but I don't see why `val` won't work
<discocaml>
<froyo> interestingly F* does something like that
<discocaml>
<deepspacejohn> If the hypothetical sig/val was universally quantified that would be nice
<discocaml>
<deepspacejohn> Otherwise I'm just has happy writing
<discocaml>
<deepspacejohn> ```
<discocaml>
<deepspacejohn> let do_important_thing :
<discocaml>
<deepspacejohn> image -> image =
<discocaml>
<deepspacejohn> fun a b ->
<discocaml>
<deepspacejohn> ```
<discocaml>
<deepspacejohn> instead.
<discocaml>
<deepspacejohn> universal quantification differences are my main issue with using .ml type annotations as the source of truth. `'a -> 'b` in a ml and `'a -> 'b` in a mli mean different things.
<discocaml>
<froyo> can just make the variables universal tbh it's no big deal
<discocaml>
<froyo> ```
<discocaml>
<froyo> let do_important_thing
<discocaml>
<froyo> : 'a. 'a image -> 'a whatever
<discocaml>
<froyo> = fun im ->
<discocaml>
<froyo> ...
<discocaml>
<froyo> ```
<discocaml>
<froyo> if it is universal like in a mli, idk how you'd go back to unification variables behavior of a ml
<discocaml>
<froyo> and that is certainly useful
<discocaml>
<froyo> the other way is easy to achieve as i show here
<discocaml>
<froyo> but then i get it creates a bit of a mismatch i.e. you can't construct a mli by grepping for `val` and piping that into a file
<discocaml>
<froyo> i mean you can, but there are subtle differences
<discocaml>
<froyo> so i guess it depends on what you value more
<discocaml>
<froyo> ocamlc/opt -i already gives you the latter functionality
<discocaml>
<froyo> idk it's just a different declaration paradigm that's why it fits poorly
<discocaml>
<froyo> pub/export and types over the function name
<discocaml>
<froyo> better make use of ocaml's way instead of trying to force it to act like rust or haskell
toastal has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
mange has quit [Quit: Zzz...]
Tuplanolla has joined #ocaml
Ekho has quit [Ping timeout: 252 seconds]
j0lol has quit [Ping timeout: 252 seconds]
jbowen has quit [Ping timeout: 268 seconds]
alfiee has quit [Ping timeout: 272 seconds]
jyc has quit [Ping timeout: 248 seconds]
Putonlalla has quit [Ping timeout: 248 seconds]
cbarrett has quit [Ping timeout: 268 seconds]
jyc has joined #ocaml
nyuhu has quit [Ping timeout: 272 seconds]
jbowen has joined #ocaml
nyuhu has joined #ocaml
Ekho has joined #ocaml
leonardus has quit [Ping timeout: 252 seconds]
jyc has quit [Ping timeout: 252 seconds]
leonardus has joined #ocaml
cbarrett has joined #ocaml
jyc has joined #ocaml
alfiee has joined #ocaml
j0lol has joined #ocaml
Putonlalla has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
bartholin has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
Frostillicus has joined #ocaml
Haudegen has joined #ocaml
iNomad has quit [Quit: leaving]
Frostillicus has quit [Ping timeout: 252 seconds]
inline has joined #ocaml
Frostillicus has joined #ocaml
dhil has quit [Remote host closed the connection]
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
divya has quit [Ping timeout: 252 seconds]
toastal has left #ocaml [#ocaml]
toastal has joined #ocaml
YuGiOhJCJ has joined #ocaml
leah2 has quit [Ping timeout: 265 seconds]
ol0ck_ has joined #ocaml
xenu has joined #ocaml
leah2 has joined #ocaml
divya has joined #ocaml
humasect has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
humasect has quit [Quit: Leaving...]
toastal has quit [Ping timeout: 245 seconds]
Serpent7776 has quit [Ping timeout: 276 seconds]
toastal has joined #ocaml
euphores has quit [Ping timeout: 248 seconds]
euphores has joined #ocaml
bartholin has quit [Remote host closed the connection]