<discocaml>
<pierre_emmanuel> Thanks a lot, exactly what I was searching !
bartholin has quit [Quit: Leaving]
mima has quit [Ping timeout: 260 seconds]
mima has joined #ocaml
Tuplanolla has joined #ocaml
reynir has joined #ocaml
waleee has joined #ocaml
reynir has quit [Ping timeout: 245 seconds]
stauber has joined #ocaml
gareppa has joined #ocaml
<discocaml>
<elliottcable> I have an extremely vague memory (… maybe a sideways comment in a Jane Street podcast??) of somebody saying that it's type-theoretically _impossible_ for Rust-style fully-generic lifetime polymorphism to exist in OCaml simultaneously with Hindley-Milner inferrence. (I may be botching this description.)
<discocaml>
<elliottcable> Does anybody have some good words for this that I could search for? Or better yet, an "idiot-dayjobber-compatible" article or blog-post I could devour. I'd love to learn more.
<discocaml>
<elliottcable> I have an extremely vague memory (… maybe a sideways comment in a Jane Street podcast??) of somebody saying that it's type-theoretically _impossible_ for Rust-style fully-generic lifetime polymorphism to exist in OCaml simultaneously with Hindley-Milner inference. (I may be botching this description.)
<discocaml>
<Kali> it's not specific to ocaml, though
<discocaml>
<geoff> Not the same as full lifetimes, but the recent janestreet blog posts about modes go into how they invision bringing some similar functionality into ocaml
<discocaml>
<geoff> Not the same as full lifetimes, but the recent janestreet blog posts about modes go into how they envision bringing some similar functionality into ocaml
<discocaml>
<geoff> Though I have the feeling that *if* these ever make it upstream, that it's a long way off
bartholin has joined #ocaml
cedric has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
stauber has quit [Quit: Client closed]
cedric has quit [Quit: Konversation terminated!]
Trillion1uroNote has quit [Ping timeout: 260 seconds]
cedb has quit [Quit: WeeChat 4.0.2]
TrillionEuroNote has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 245 seconds]
TrillionEuroNote has joined #ocaml
Wojciech_K has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 244 seconds]
TrillionEuroNote has joined #ocaml
gareppa has quit [Quit: WeeChat 3.8]
humasect has joined #ocaml
humasect has quit [Client Quit]
TrillionEuroNote has quit [Ping timeout: 245 seconds]
TrillionEuroNote has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 260 seconds]
TrillionEuroNote has joined #ocaml
wingsorc__ has joined #ocaml
MarvelousWololo has joined #ocaml
Serpent7776 has quit [Ping timeout: 246 seconds]
TrillionEuroNote has quit [Ping timeout: 256 seconds]
TrillionEuroNote has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 246 seconds]
TrillionEuroNote has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 246 seconds]
TrillionEuroNote has joined #ocaml
bartholin has quit [Quit: Leaving]
TrillionEuroNote has quit [Ping timeout: 246 seconds]
<discocaml>
<angeredgecko> Maybe something along the lines of “higher rank type inference is undecidable”
<discocaml>
<angeredgecko> Maybe something along the lines of “higher rank inference is undecidable”
TrillionEuroNote has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 260 seconds]
TrillionEuroNote has joined #ocaml
wingsorc__ has quit [Remote host closed the connection]
wingsorc__ has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 256 seconds]
<discocaml>
<elliottcable> this is it! yes, thank you!
<discocaml>
<elliottcable> :clap_clap:
<discocaml>
<oubra> weird thing my fav lang was rust
<discocaml>
<oubra> now it's ocaml
<discocaml>
<oubra> 💀
<discocaml>
<elliottcable> tool for the task, and all that. both fantastic languages.
<discocaml>
<elliottcable> :both:
<discocaml>
<oubra> yeah
<discocaml>
<oubra> I'll use rust for speed stuff, even though ocaml is decent on that too
<discocaml>
<oubra> i like ocaml way of problem solving
<discocaml>
<oubra> i never used recursive functions, and pattern matching with this power in rust lol
<discocaml>
<Et7f3 (@me on reply)> And you have ocaml-rs
<discocaml>
<elliottcable> I do not find myself reaching for Rust for "general tasks", though, not without a good reason; whereas OCaml has become my default over the last five years — especially with how well it meshes with the JS ecosystem and VM, and stuff like BuckleScript/Melange … it's just so good at so _many_ things, it's hard to hold back from "it's so good for _every_ thing!"
<discocaml>
<oubra> rust was inspired by ocaml anyawys
<discocaml>
<oubra> Rust is obvsly not for general tasks
<discocaml>
<oubra> if i want to create a CLI app i'll choose ocaml
<discocaml>
<oubra> or go
<discocaml>
<oubra> backend prolly go or node
<discocaml>
<oubra> or ocaml as last choice 🤔
<discocaml>
<elliottcable> this was great too, thank you
<discocaml>
<elliottcable> wat why
<discocaml>
<elliottcable> (also: write in OCaml, Melange, then run it on node. :P)
* discocaml
<elliottcable> ducks
<discocaml>
<Et7f3 (@me on reply)> go was literally created for server
<discocaml>
<oubra> I like node's way of backend (much easier w/ next js, trpc)
<discocaml>
<elliottcable> no personal opinion, I don't use Next.js, so you'll have to tell me if that looks elegant to you. `¯\_(ツ)_/¯`
<discocaml>
<regularspatula> There is (or was) people using nextjs with ReScript too fwiw
<discocaml>
<elliottcable> 🤐
ced1 has joined #ocaml
TrillionEuroNote has joined #ocaml
<discocaml>
<oubra> that's def disgusting
<discocaml>
<oubra> 💀
<discocaml>
<regularspatula> Why you think that…because it’s Reason?
ced1 is now known as cedb
<discocaml>
<elliottcable> we have a whole giant pile of reason-syntax FE code; I have admit, i find it pretty unreadable
<discocaml>
<elliottcable> I say this coming from a JS background. Perfectly happy with JS; and definitely perfectly happy with ML-syntaxes as well … but the middle-ground just, feels like the worst of both worlds to me
<discocaml>
<elliottcable> kinda unavoidable though, if you are doing FE; really need that JSX-equiv
<discocaml>
<regularspatula> That’s interesting. I prefer ocaml syntax but I have no strong opinion tbh
<discocaml>
<elliottcable> vaguely remember some discussion of a JSX PPX (or possibly non-PPX transpiler?) for Melange, I think? that might be more digestible to me
<discocaml>
<regularspatula> I think you still need reason for that (def could be mistaken though)
<discocaml>
<regularspatula> Reason syntax I mean
<discocaml>
<oubra> well uh i like ocaml not reason
<discocaml>
<regularspatula> Sure but it’s just syntax
<discocaml>
<oubra> still 💀
<discocaml>
<elliottcable> haha.
<discocaml>
<oubra> jk i don't have any strong opinion like u
<discocaml>
<oubra> jk i don't have any strong opinion same as u
<discocaml>
<oubra> so reason looks pretty fine to me
<discocaml>
<oubra> rust is way worse if we compare
<discocaml>
<regularspatula> Yeah I’m just joking a bit…I know people sometimes get passionate about syntax
<discocaml>
<oubra> lmao i wish if there's that struct system like rust in ocaml
<discocaml>
<oubra> like the way rust does functional programming kinda diff in ocaml
<discocaml>
<oubra> like the way rust does functional programming kinda diff than ocaml
<discocaml>
<regularspatula> Does rust do functional programming?
<discocaml>
<oubra> yeah?
TrillionEuroNote has quit [Ping timeout: 245 seconds]
<discocaml>
<oubra> is those structs called functional programming idk
<discocaml>
<oubra> is those structs called functional programming? idk
<discocaml>
<oubra> uh nvm rust is an imperative language