<discocaml>
<innocent_zero> For more context, I'm trying to use ocamllsp with eglot. Right now it works the way it does without building with dune, basically not recognising any external modules/not inferring types reliably. Any help would be really great!
bew has joined #ocaml
Serpent7776 has joined #ocaml
Haudegen has joined #ocaml
luc4 has joined #ocaml
marijanp has joined #ocaml
YuGiOhJCJ has joined #ocaml
toastal has left #ocaml [#ocaml]
marijanp has left #ocaml [Disconnected: Hibernating too long]
toastal has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
toastal has quit [Quit: Gateway shutdown]
toastal has joined #ocaml
toastal has quit [Client Quit]
olle has quit [Ping timeout: 272 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
olle has joined #ocaml
infinity0 has quit [Ping timeout: 272 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
infinity0 has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
mange has quit [Quit: Zzz...]
johnridesabike has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
Frostillicus has joined #ocaml
funkatronixxx has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
tomku has quit [Ping timeout: 240 seconds]
tomku has joined #ocaml
Haudegen has joined #ocaml
Frostillicus has joined #ocaml
tronexte has quit [Ping timeout: 245 seconds]
tronexte has joined #ocaml
funkatronixxx has quit [Ping timeout: 244 seconds]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
Mister_Magister has quit [Excess Flood]
casastortaAway has joined #ocaml
Mister_Magister has joined #ocaml
funkatronixxx has joined #ocaml
funkatronixxx has quit [Ping timeout: 265 seconds]
<discocaml>
<jaydub3621> Even after `dune build`?
funkatronixxx has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
marijan has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
luc4 has quit [Quit: Konversation terminated!]
bew has quit [Quit: WeeChat 3.5]
Frostillicus has quit [Remote host closed the connection]
Frostillicus has joined #ocaml
inline has quit [Quit: Leaving]
zor has quit [Read error: Connection reset by peer]
zor has joined #ocaml
<discocaml>
<aurelian5014> larger than Switft?
<discocaml>
<aurelian5014> I guess there are more android phones...
funkatronixxx has quit [Ping timeout: 272 seconds]
<discocaml>
<rmu.> that and there's been a recent increase in enterprise contexts adopting the language, banks and the like going from java -> kotlin for new projects.
<discocaml>
<aurelian5014> not the banks I support
<discocaml>
<aurelian5014> I mostly see C# and Java, with some C++ perf critical systems
<discocaml>
<aurelian5014> I'd take kotlin over java for sure - though rust is pretty mature at this point
<discocaml>
<aurelian5014> you can Rc/Clone all over the place and still come out ahead over java
<discocaml>
<rmu.> it's. either .NET or JVM or both. It's a matter of ecosystem
<discocaml>
<aurelian5014> meh
agentcasey_ has quit [Quit: ZNC 1.10.x-git-82-9ab81d1d - https://znc.in]
<discocaml>
<aurelian5014> "ecosystem" is a loaded term in my experience - often used for protecting one's fief
agentcasey has joined #ocaml
<discocaml>
<aurelian5014> if Spring is such a productivity boon then why does it take a bank 2 years to do anything
<discocaml>
<aurelian5014> hint - it's not the languange or the framework
funkatronixxx has joined #ocaml
<discocaml>
<rmu.> 99% of employees don't do actual work 😂
<discocaml>
<rmu.> plus bureaucracy
<discocaml>
<aurelian5014> that has not been my experience
gwizon has joined #ocaml
inline has joined #ocaml
sdlnxgk has joined #ocaml
casastorta has quit [Ping timeout: 252 seconds]
Tuplanolla has joined #ocaml
<discocaml>
<jalsol> so you are saying I can open my own bank and build a highly fault tolerant architecture with any tech stack I want, if ecosystem isn't a problem?
casastorta has joined #ocaml
casastorta has quit [Remote host closed the connection]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
<discocaml>
<astreamingcomesacrossthesky> Genuinely curious: has anyone actually argued that spring aids productivity in like the 10-15 years? I could see that being a kind of lazy but valid argument in 2002 compared to hand-coding Java servlets but there have been substantial improvements to Java the language since then that I think have fundamentally shifted the stakes. Not to speak of the other JVM languages and the newer web frameworks etc
<discocaml>
<yawaramin> well, try implementing a multi-user app with authentication in Spring and then in OCaml. twist: the auth has to be passkeys only, no passwords
casastortaAway has joined #ocaml
<discocaml>
<astreamingcomesacrossthesky> I think this is what Rich Hickey expresses so elegantly in his talk titled Simple vs Easy. Spring is the quintessence of easy. It's "near to hand" and offers off-the-shelf solutions that are either already known tools to developers or can be picked up without too much effort
<discocaml>
<astreamingcomesacrossthesky> I like to think OCaml gets close to being simpler in this concept
<discocaml>
<yawaramin> yeah but which one is better for productivity
Haudegen has joined #ocaml
<discocaml>
<astreamingcomesacrossthesky> Large enterprises like JVM and .NET bc there are lots of warm bodies for them to fill roles, not because of any hand waving strawmen arguments about getting stuff done. But that's another topic 🙂
<discocaml>
<astreamingcomesacrossthesky> Question of scale but point taken
<discocaml>
<yawaramin> and also because a ton of libraries have already been written
<discocaml>
<astreamingcomesacrossthesky> Yeah, which is the argument for hosted languages that purport to be friendlier like eg Kotlin or F# or Clojure
<discocaml>
<astreamingcomesacrossthesky> Idr who but I heard someone once equate Java to writing assembly language, it's a tool to reach for but in most cases you should go for the higher level tool that leverages the performance of the platform without the complexity
<discocaml>
<yawaramin> i would take hyperbolic statements with a grain of salt. most people will never experience the productivity of writing Java with a powerful IDE
<discocaml>
<astreamingcomesacrossthesky> I don't think of it so much as a hyperbolic statement so much as an imperfect analogy, which most all analogies are
<discocaml>
<astreamingcomesacrossthesky> In any case I'm sure this was a sentiment that predates eg Intellij
<discocaml>
<astreamingcomesacrossthesky> I think Java's a fine language in 2025
<discocaml>
<astreamingcomesacrossthesky> I wouldn't say the same of what I understand it was like in 2005 however
<discocaml>
<yawaramin> Java was a thunderbolt to C++ developers in 1995. you mean i don't have to worry about memory any more, it's just automatic?!
<discocaml>
<astreamingcomesacrossthesky> Kuhn was right about those paradigm shifts
euphores has joined #ocaml
funkatronixxx has quit [Ping timeout: 252 seconds]
euphores has quit [Client Quit]
euphores has joined #ocaml
sdlnxgk has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Frostillicus has quit [Ping timeout: 260 seconds]
Frostillicus has joined #ocaml
funkatronixxx has joined #ocaml
<discocaml>
<aurelian5014> tech stack is the least of your worries
<discocaml>
<aurelian5014> tech stack pretty low on the list of things you need to do if opening a bank
<discocaml>
<aurelian5014> tech stack pretty low on the list of things you need to shore up if opening a bank
<discocaml>
<aurelian5014> bank creation has been severely suppressed through regulatory capture since the financial crisis
Frostillicus has quit [Remote host closed the connection]
Frostillicus has joined #ocaml
<discocaml>
<aurelian5014> agree in 1995 terms, even 2005. Today, it's different story imo
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
casastorta has joined #ocaml
<discocaml>
<shalokshalom> Yeah, and Swift is also pretty limited to iOS and macOS development on the job markets.
<discocaml>
<shalokshalom> For Kotlin, you have web dev jobs, business apps, and so on, as well.
casastortaAway has joined #ocaml
luc4 has joined #ocaml
<discocaml>
<shalokshalom> But also "what do you mean, **everything** is a class? 😂
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
marijan has left #ocaml [Error from remote client]
funkatronixxx has quit [Ping timeout: 244 seconds]
funkatronixxx has joined #ocaml
<discocaml>
<froyo> > so you are saying I can open my own bank and build a highly fault tolerant architecture with any tech stack I want, if ecosystem isn't a problem?
<discocaml>
<froyo> seems to have worked even with COBOL so
<discocaml>
<gooby_diatonic> Do you think it's worth setting up an OCaml dev environment with Docker? It works pretty nicely with stuff like Wordpress where there isn't a rebuild step so it just isolates everything, but I was wondering if it would just slow the developer down in case of OCaml
<discocaml>
<froyo> what are you getting out of that which you're not getting with a nix shell
<discocaml>
<gooby_diatonic> Mostly not having to install and learn nix \:P
<discocaml>
<gooby_diatonic> Also I need a DB instance for the project, so with Docker I can just make a compose file that will start up everything and make sure the environment is in order
<discocaml>
<gooby_diatonic> Kind of irks me when I need to have a global DB on the host OS, especially when some stuff uses Postgres, some other MySQL etc
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
Anarchos has joined #ocaml
<sadiq>
2
<sadiq>
whoops
<discocaml>
<gooby_diatonic> Happy to say that I didn't even manage to test the setup because Docker compose broke in the latest version
<discocaml>
<winterqt> lol
funkatronixxx has quit [Ping timeout: 248 seconds]
<discocaml>
<gooby_diatonic> Or rather, the problematic package is `docker-buildx`
tomku has quit [Ping timeout: 240 seconds]
casastorta has quit [Ping timeout: 276 seconds]
tomku has joined #ocaml
polykernel has joined #ocaml
casastorta has joined #ocaml
casastorta has quit [Remote host closed the connection]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
funkatronixxx has joined #ocaml
casastorta has joined #ocaml
casastortaAway has joined #ocaml
Frostillicus has quit [Ping timeout: 248 seconds]
Frostillicus has joined #ocaml
Serpent7776 has quit [Ping timeout: 276 seconds]
sdlnxgk has joined #ocaml
euphores has quit [Ping timeout: 272 seconds]
Frostillicus has quit [Ping timeout: 248 seconds]
Frostillicus has joined #ocaml
johnridesabike has quit [Quit: johnridesabike]
<discocaml>
<lecondorduplateau> > i would take hyperbolic statements with a grain of salt. most people will never experience the productivity of writing Java with a powerful IDE
<discocaml>
<lecondorduplateau> @yagkasha_21078 how do you caracterise "productivity"?
<discocaml>
<lecondorduplateau> if its a matter of writing a lot of boilerplates yes the "java with an IDE" experience wins
<discocaml>
<lecondorduplateau> tbh I have never felt the productivity level of ocaml + merlin/lsp in my opinion
Frostillicus has quit [Ping timeout: 276 seconds]
<discocaml>
<yawaramin> well a lot of programming is actually boilerplate. macros and LLMs kinda prove that. Java + IDE was like the LLM of its time
<discocaml>
<yawaramin> but even if you're talking about maintaining existing codebases, Java + IDE still wins there by a long way because of its refactoring powers
<discocaml>
<lecondorduplateau> absolutely
<discocaml>
<lecondorduplateau> when do you needs LLM when you have a powerful language server
<discocaml>
<lecondorduplateau> the two have different usage but for me language servers state don't reach their full level of power
<discocaml>
<lecondorduplateau> which can be caracterised by a high asssistance for the developer in a predictive way
<discocaml>
<lecondorduplateau> *its full level of power
<discocaml>
<lecondorduplateau> services provided by merlin took the right direction in my opinion
funkatronixxx has quit [Ping timeout: 272 seconds]
<discocaml>
<lecondorduplateau> we need more refactoring features now
funkatronixxx has joined #ocaml
<discocaml>
<yawaramin> one example: in Scala with IntelliJ IDEA i can start typing a method invocation and it will offer me a tab-complete with all named parameters. imagine having this in OCaml like you type `BytesLabels.blit` and it offers an autocomplete like `BytesLabels.blit ~src ~src_pos ~dst ~dst_pos ~len`
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
Tuplanolla has quit [Quit: Leaving.]
infinity0 has quit [Ping timeout: 245 seconds]
bartholin has quit [Remote host closed the connection]
Frostillicus has joined #ocaml
<discocaml>
<gooby_diatonic> Can just add it to the LSP
<discocaml>
<gooby_diatonic> The Dart LSP impléments this and I get the same functionality within Emacs \:P
infinity0 has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
funkatronixxx has quit [Ping timeout: 244 seconds]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
luc4 has quit [Quit: Konversation terminated!]
funkatronixxx has joined #ocaml
<discocaml>
<shawnfrostx> thank you dune devs for introducing me to cram tests 🙏 i have now gone full circle and test python scripts with cram
Haudegen has quit [Quit: Bin weg.]
<discocaml>
<deepspacejohn> Cram tests are great
funkatronixxx has quit [Remote host closed the connection]