<discocaml>
<barconstruction> Koka has had a minor release this month for the first time in over a year if anybody is paying attention to these little research languages
ridcully has quit [Ping timeout: 248 seconds]
chrisz has quit [Ping timeout: 240 seconds]
chrisz has joined #ocaml
ridcully has joined #ocaml
humasect has joined #ocaml
humasect has quit [Quit: Leaving...]
casastorta has quit [Ping timeout: 248 seconds]
casastorta has joined #ocaml
YuGiOhJCJ has joined #ocaml
casastorta has quit [Ping timeout: 265 seconds]
toastal has joined #ocaml
Frostillicus has quit [Ping timeout: 260 seconds]
Frostillicus has joined #ocaml
casastorta has joined #ocaml
Frostillicus has quit [Ping timeout: 260 seconds]
Frostillicus has joined #ocaml
euphores has joined #ocaml
toastal has left #ocaml [#ocaml]
<discocaml>
<shalokshalom> I don't criticize anything
<discocaml>
<shalokshalom> I did clarify, that the comment "all MLs need type annotations for modules" is not correct.
<discocaml>
<shalokshalom> And I already listed the features, that break type inference in OCaml.
<discocaml>
<shalokshalom> And I did not say, that this is bad, or shouldn't have been done.
<discocaml>
<shalokshalom> I said its a design decision that favors expressivity over simplicity, and that's just that.
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
Haudegen has joined #ocaml
<discocaml>
<bbatsov> Any idea who's behind this book series? (it's 6 six short books) I find it weird that some books were printed without authors being mentioned.
<discocaml>
<shadowkestrel> my slop senses are tingling...
<discocaml>
<five.sided.fistagon> are you saying f# will properly infer types 100% of the time? because that's definitely not true for OOP stuff like methods. I almost never see stuff like ``fun x -> x.Method`` and ``_.Method`` infer properly
<discocaml>
<five.sided.fistagon> didn't really read the full conversation, not sure if that's what you're saying
<discocaml>
<shadowkestrel> this "Axionics Ltd" has no discernible business presence, and wrote dozens of 100+ page paperbacks in the span of june this year
<discocaml>
<shadowkestrel> i severely doubt these books are written by humans, let alone competent humans
<discocaml>
<shalokshalom> No, I am saying there are no features available, that are inherently undecidable 🙂
<discocaml>
<shalokshalom> It uses a weird styling for the OCaml logo.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> Maybe it's AI created?
<discocaml>
<shadowkestrel> Bozhidar: yep this company is ai slop, the cat has 5 legs
<discocaml>
<shalokshalom> There are also Wikis, who are entirely AI created.
<discocaml>
<dr.shuppet> They don't even check their outputs with minimal effort
LainIwakura has joined #ocaml
bartholin has joined #ocaml
Frostillicus has joined #ocaml
casastorta has quit [Ping timeout: 248 seconds]
Mister_Magister has quit [Excess Flood]
Mister_Magister has joined #ocaml
LainIwakura has quit [Ping timeout: 272 seconds]
<discocaml>
<darrenldl> generating so much useless text and also wasting energy both at unprecedented rate
<discocaml>
<shalokshalom> The energy consumption should be something that is required to be displayed at each prompt result.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> Like, regulated by law.
<olle>
Energy consumption is only a problem if it's non-green
<olle>
Plenty of energy from the sun every day :)
<discocaml>
<shadowkestrel> more of the issue from AI training is water use for cooling. data centres have a fun habit of going full nestlé on communities' water sources
LainIwakura has joined #ocaml
<olle>
Yea better point, water is not infinite.
<discocaml>
<shalokshalom> That doesn't make it non-damaging, just less damaging.
inline_ has quit [Quit: Leaving]
<olle>
Wonder what status is for analog chips for AI training.
<discocaml>
<shalokshalom> Analog?
<olle>
Yea non-digital chips
<discocaml>
<shalokshalom> Do you mean "native" and NPUs?
<olle>
Nop
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
<olle>
Or maybe? What's NPU?
casastorta has joined #ocaml
casastortaAway has joined #ocaml
<olle>
Oh neural proc unit. I guess it _could_ be analog, since ANN are stochastic, but not sure if they are.
<olle>
I've already started to copy-paste code from LLM into production, so
casastortaAway has joined #ocaml
<olle>
LLM doesn't have to compete with human brain, it has to compete with google + stackoverflow
<olle>
An LLM at 100 IQ is already smarter than 50% of the population, by def, too.
<discocaml>
<youngkhalid> *that sometimes spits nonsense so confidently that people even pay for it
<olle>
Stackoverflow does that too ;)
Frostillicus has joined #ocaml
<companion_cube>
@Kali that's xAI, not openAI
<discocaml>
<Kali> oops, mixed up which company elon musk owns nowadays
<discocaml>
<shalokshalom> Elon Musk was a co-founder of OpenAI.
<discocaml>
<shalokshalom> So that's probably, why you mix it up.
<discocaml>
<shalokshalom> But back then, it was an NGO.
<discocaml>
<froyo> > F# type system is 100% decidable, and the creator of the language made that a hard requirement on all features that are introduced into the language, from day one.
<discocaml>
<froyo> no no it uses type system features to make the evaluator, implying type _checking_ is undecidable
<discocaml>
<shalokshalom> Don, the main creator of F#, has gone public to say, he heavily discourages the use of it.
<discocaml>
<froyo> there's a choice here, that's great. the community would have to avoid such powerful complex features by convention, the language has them.
<discocaml>
<froyo> personally i find it unfortunate that fsharp could neither reach the constrained simplicity nor the consistent principled feature set ideals
<discocaml>
<shalokshalom> #offtopic🎲
amadaluzia_ has joined #ocaml
amadaluzia has quit [Ping timeout: 240 seconds]
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Anarchos has joined #ocaml
johnridesabike has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Haudegen has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
toastal has joined #ocaml
hsw has joined #ocaml
toastal has left #ocaml [#ocaml]
Frostillicus has quit [Read error: Connection reset by peer]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
Frostillicus has quit [Quit: Frostillicus]
bartholin has quit [Remote host closed the connection]
hessefvhj has joined #ocaml
hessefvhj has quit [Client Quit]
Serpent7776 has joined #ocaml
amadaluzia has joined #ocaml
amadaluzia_ has quit [Ping timeout: 252 seconds]
bartholin has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
casastorta has quit [Ping timeout: 260 seconds]
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastorta has joined #ocaml
casastortaAway has joined #ocaml
xgqt has quit [Quit: WeeChat 4.2.2]
xgqt has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
<discocaml>
<discusser> I decided to start learning OCaml just to see what a functional language is like, but I honestly have a hard time seeing myself code with it. What do people use OCaml for? I know that Jane Street and Meta use it, but apart from that, what is it used for, and why not just use another language?
johnridesabike has quit [Quit: johnridesabike]
euphores has quit [Ping timeout: 240 seconds]
<Anarchos>
discusser it is really well suited to write compiler or proof assistants.
<discocaml>
<yawaramin> it can be used for basically anything where other languages like Go, Java, Python, C# etc. are acceptable. it's a general-purpose language. it offers a large number of moderate benefits over other languages. eg compared to Go it has a REPL out of the box so you can easily try it out. and compared to Python it has native compilation for good performance and easy deployment. its type system hits the Goldilocks spot that makes it feel safe and
<discocaml>
<discusser> I see. The type system is quite neat and impressive. I also find it pretty cool that OCaml compiles to bytecode *and* to a native executable. Honestly I'd write a compiler but I've been doing that for the entire month now so I don't wanna do it again. Maybe a proof assistant can be fun to implement. Thanks for the answers
<discocaml>
<yawaramin> compiles to: bytecode, native, JavaScript, and WebAssembly
thizanne has quit [Ping timeout: 265 seconds]
Anarchos has quit [Ping timeout: 260 seconds]
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
<discocaml>
<shalokshalom> You can port the compiler and see how much simpler it is.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> Compiler are **always** one single pure function itself - you want the same output with any given input.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> Features like pattern matching and deconstructing make the development of compilers very accessible.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> If you port an already existing software, you have a much easier time getting to know the language.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> Generally its a good idea, to develop the logical core of the very most applications in a functional style - you only want state to change, where its really your intention.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> At this point come event systems and effects into play, but more about that later.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> You want controlled effects, and with traditional imperative style, is the state in your program invisible.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> And by that account, uncontrollable.
bartholin has quit [Remote host closed the connection]
<discocaml>
<deepspacejohn> OCaml strikes a really nice balance between being fully type safe, practicality, and being pleasant to use. Its compiler is also extremely fast, which is nice.
Serpent7776 has quit [Ping timeout: 240 seconds]
<discocaml>
<froyo> trying to rotate/balance a red-black tree in most other languages only to find that it's more performant and much nicer to read in OCaml is a testimony to the power of pattern matching as is implemented in it, a killer feature that is otherwise hard to come by. and if it exists, not with the same power.
<discocaml>
<shalokshalom> What do you see as benefits of OCaml compared to the various implementations of StandardML?
Mister_Magister has quit [Ping timeout: 245 seconds]
Mister_Magister_ has joined #ocaml
Mister_Magister_ is now known as Mister_Magister
Frostillicus has quit [Read error: Connection reset by peer]
<discocaml>
<polyml> guards in patterns, or patterns, let rec cycles, declaring structures in let, no compiler reserved overloaded math operators, functional record update syntax, accessing records with dots
Frostillicus has joined #ocaml
<companion_cube>
A larger ecosystem and set of tools
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #ocaml
<discocaml>
<shalokshalom> Yeah, this would have been my guess.
Frostillicus has quit [Read error: Connection reset by peer]
<discocaml>
<yawaramin> named arguments, easy builds to get executables
<companion_cube>
Honestly: ocaml-lsp is a big big upside
<discocaml>
<lecondorduplateau> editor support is very good 👍
<discocaml>
<polyml> biggest upside is that if you have a struct with 100 fields you don't have to list all 100 fields when you want to update one field in the struct