frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

I Love OCaml

https://mccd.space/posts/ocaml-the-worlds-best/
131•art-w•3h ago•64 comments

Leaving Meta and PyTorch

https://soumith.ch/blog/2025-11-06-leaving-meta-and-pytorch.md.html
573•saikatsg•11h ago•133 comments

My Experience of building Bytebeat player in Zig

https://blog.karanjanthe.me/posts/zig-beat/
32•KMJ-007•3d ago•1 comments

A Fond Farewell

https://www.farmersalmanac.com/fond-farewell-from-farmers-almanac
468•erhuve•14h ago•165 comments

Denmark's government aims to ban access to social media for children under 15

https://apnews.com/article/denmark-social-media-ban-children-7862d2a8cc590b4969c8931a01adc7f4
43•c420•1h ago•12 comments

PyTorch Helion

https://pytorch.org/blog/helion/
92•jarbus•5d ago•21 comments

OpenMW 0.50.0 Released – open-source Morrowind reimplementation

https://openmw.org/2025/openmw-0-50-0-released/
170•agluszak•4h ago•57 comments

Comparison Traits – Understanding Equality and Ordering in Rust

https://itsfoxstudio.substack.com/p/comparison-traits-understanding-equality
29•rpunkfu•5d ago•5 comments

We chose OCaml to write Stategraph

https://stategraph.dev/blog/why-we-chose-ocaml
104•lawnchair•4h ago•88 comments

Meta projected 10% of 2024 revenue came from scams

https://sherwood.news/tech/meta-projected-10-of-2024-revenue-came-from-scams-and-banned-goods-reu...
423•donohoe•5h ago•325 comments

Toxic Salton Sea dust triggers changes in lung microbiome after just one week

https://phys.org/news/2025-10-toxic-salton-sea-triggers-lung.html
17•PaulHoule•57m ago•1 comments

You should write an agent

https://fly.io/blog/everyone-write-an-agent/
912•tabletcorry•21h ago•361 comments

1973 Implementation of Wordle was Published by DEC (2022)

https://troypress.com/1973-implementation-of-wordle-was-published-by-dec/
48•msephton•6d ago•22 comments

From Memorization to Reasoning in the Spectrum of Loss Curvature

https://arxiv.org/abs/2510.24256
34•andy12_•5h ago•13 comments

A.I. and Social Media Contribute to 'Brain Rot'

https://www.nytimes.com/2025/11/06/technology/personaltech/ai-social-media-brain-rot.html
78•pretext•2h ago•70 comments

Two billion email addresses were exposed

https://www.troyhunt.com/2-billion-email-addresses-were-exposed-and-we-indexed-them-all-in-have-i...
565•esnard•21h ago•393 comments

Revisiting Interface Segregation in Go

https://rednafi.com/go/interface-segregation/
21•ingve•5d ago•17 comments

Sweep (YC S23) is hiring to build autocomplete for JetBrains

https://www.ycombinator.com/companies/sweep/jobs/8dUn406-founding-engineer-intern
1•williamzeng0•5h ago

Text case changes the size of QR codes

https://www.johndcook.com/blog/2025/10/31/smaller-qr-codes/
122•ibobev•5d ago•37 comments

3I/ATLAS shows perihelion burst and radial-only non-gravitational acceleration

https://old.reddit.com/r/dataisbeautiful/comments/1oqfau8/3iatlas_shows_perihelion_burst_and_radi...
19•hnthrowaway0315•59m ago•7 comments

Show HN: I scraped 3B Goodreads reviews to train a better recommendation model

https://book.sv
521•costco•1d ago•210 comments

How to Keep Winning

https://amasad.me/keep-winning
5•daviducolo•4d ago•2 comments

Game design is simple

https://www.raphkoster.com/2025/11/03/game-design-is-simple-actually/
437•vrnvu•19h ago•138 comments

The Silent Scientist: When Software Research Fails to Reach Its Audience

https://cacm.acm.org/opinion/the-silent-scientist-when-software-research-fails-to-reach-its-audie...
62•mschnell•6d ago•36 comments

I'm Making a Small RPG and I Need Feeback Regarding Performance

https://jslegenddev.substack.com/p/im-making-a-small-rpg-and-i-need
41•ibobev•3h ago•35 comments

Nasdaq 100 set for worst week since April meltdown

https://fortune.com/2025/11/07/nasdaq-100-worst-week-since-april-bear-market-correction/
16•pera•49m ago•3 comments

Is Software the UFOlogy of Engineering Disciplines?

https://codemanship.wordpress.com/2025/11/07/is-software-the-ufology-of-engineering-disciplines/
75•flail•4h ago•134 comments

Analysis indicates that the universe’s expansion is not accelerating

https://ras.ac.uk/news-and-press/research-highlights/universes-expansion-now-slowing-not-speeding
225•chrka•21h ago•181 comments

From web developer to database developer in 10 years

https://notes.eatonphil.com/2025-02-15-from-web-developer-to-database-developer-in-10-years.html
145•pmbanugo•3d ago•56 comments

Kimi K2 Thinking, a SOTA open-source trillion-parameter reasoning model

https://moonshotai.github.io/Kimi-K2/thinking.html
846•nekofneko•1d ago•381 comments
Open in hackernews

I Love OCaml

https://mccd.space/posts/ocaml-the-worlds-best/
131•art-w•3h ago

Comments

dmpk2k•1h ago
OCaml has been one of those "almost there" languages since at least 2002. Most of the worthwhile ideas in OCaml will be absorbed into more popular languages by the time existing friction is sorted out. :/
StopDisinfo910•1h ago
What is this alleged friction?

Because plenty of people have been shipping great projects in Ocaml since it was released so it doesn’t seem to be much of an issue to many.

I doubt Ocaml will be surpassed soon. They just added an effect system to the multicore rewrite so all things being considered, they seem to be pulling even more ahead.

dmpk2k•1h ago
Alleged? Come now.

Beginners face the following problems: there's multiple standard libraries, many documents are barely more than type signatures, and data structures aren't printable by default. Experts also face the problem of a very tiny library ecosystem, and tooling that's often a decade behind more mainstream languages (proper gdb support when?). OCaml added multicore support recently, but now there is the whole Eio/Lwt/Async thing.

I used to be a language nerd long ago. Many a fine hour spent on LtU. But ultimately, the ecosystem's size dwarfs the importance of the language itself. I'm sympathetic, since I'm a Common Lisp man, but I don't kid myself either: Common Lisp isn't (e.g.) Rust. I like hacking with a relic of the past, and that's okay too.

ernst_klim•46m ago
TBH I think it's rather a post-hoc rationalization of why the language is not popular.

> there's multiple standard libraries

Scala has a far more fragmented ecosystem with Cats, Scalaz, Zio and Akka. C++ and Java have a bunch of stdlib extensions like boost, Guava, Apache Commons etc.

> many documents are barely more than type signatures

Can be said of most of Java, Kotlin, Scala, Erlang etc etc. Just compiled javadocs, sometimes with a couple of unhelpful lines.

> data structures aren't printable by default

Neither they are in C++

I think the real reason it's not popular is that there are languages which solve more or less the same problems of system programming but look far more familiar to an avg. programmer who was raised on C++ and Java.

StopDisinfo910•18m ago
> there's multiple standard libraries

There is only one standard library and it shipped with the compiler.

> data structures aren't printable by default

So? That’s the case with most languages. Ocaml has a deriver to make types printable and a REPL which automatically prints for testing.

> tooling that's often a decade behind more mainstream languages

Opam is a fully featured package manager, dune works fine, bucks2 supports Ocaml.

> proper gdb support when?

Ocaml has had a rewindable debugger since approximately forever.

> OCaml added multicore support recently, but now there is the whole Eio/Lwt/Async thing.

Lwt was the default and everyone agrees eio is the future now that effects are there. Async is a Janestreet thing with pretty much no impact on the language outside of Janestreet.

Honestly, I maintained my initial point. Ocaml alleged frictions were always widely overstated.

When I was writing Ocaml professionally 15 years ago, there was no dune and no opam and it was already fairly easy to use the language.

greener_grass•1h ago
For me the issue is ecosystem. The foundations are great but I need more useful and well supported packages.

For example, there is no OAuth2 client library for OCaml [1]

[1] https://ocaml.org/docs/is-ocaml-web-yet

jddj•1h ago
Almost there, but in the meantime supporting a casual squillion dollars of trades at JS
zdragnar•1h ago
Unless you're building another JS, it'd be nice if there were other companies so heavily invested in it. There's a lot out there beyond compiler prototypes and high speed financial trades, but there's not enough talk of people using ocaml for those things.
ng12•57m ago
Yes and they had to basically build their own version of the compiler to keep everything from falling over (https://oxcaml.org/).
byefruit•39m ago
This is the wrong interpretation of the oxcaml project. If you look at the features and work on it, it's primarily performance or parallelism safety features.

The latter going much further than most mainstream languages.

wrenky•32m ago
> Our hope is that these extensions can over time be contributed to upstream OCaml.

Yeah, its more just extensions to support their use cases at scale. Think of it more as bleeding edge ocmal, once they work out kinks/concerns they'll get merged back into the language OR if it remains ultra specific it'll stay in oxcaml.

Not a complete own version lol

ng12•24m ago
Yes but the context of the thread is OCaml being "almost there". Having to build this stuff in-house is pretty good evidence.
StopDisinfo910•11m ago
Evidence of what?

The main user has been writing extensions to the compiler that they test before pushing for integration like they have done for the past twenty years or so. They publish these versions since last year.

Hardly a failure and certainly not something mandatory to keep things from failing over. Your initial comment is extremely disingenuous.

procaryote•25m ago
Yeah, but when these things happen I ask myself, is Jane Street successful because of ocaml, or did they just happen to pick ocaml and then make it work?

There might be some power in attracting all the people who happen to love ocaml, if there are enough of competent people to staff your company, but that's more a case of cornering a small niche than picking on technical merits

warkdarrior•2m ago
Clearly Jane Street wouldn't be where it is, a top proprietary trading firm in US, without static type checking.
hardwaregeek•1h ago
Perhaps OCaml is the Velvet Underground of languages. Only a few thousand people learned OCaml but every one made a programming language[1]

[1]: https://quoteinvestigator.com/2016/03/01/velvet/

greener_grass•1h ago
That would be Elm :)
giovannibonetti•57m ago
Roc says hi!
z500•27m ago
And now C# is slowly absorbing features from ~~OCaml.NET~~ F#. So that's nice, at least.
pohl•1h ago
To this day, whenever I see Machine Learning abbreviated, my heart skips a beat, then I become crestfallen as I realize I'm not about to read something about Meta Language.
PaulHoule•54m ago
ML blew my mind back in the late 1980s when I got to use it on a 80286 machine for the first time!
kjmh•48m ago
ML refers to Meta Language and LLM refers to Languages and Logic Montreal [0], a PL theory group. [0] https://llm.uqam.ca
embedding-shape•44m ago
> PL theory group

I know there are great many Polish people in the world, but why it matters so much in this case? They could have been any nationality, even French!

pluralmonad•9m ago
I believe many people use PL to mean programming language. I'm wondering if your joke just wooshed me.
seanw444•41m ago
I'd rather have that issue than seeing "AI" plastered all over the place. I'm of the opinion AI should be reserved for artificial general intelligence. These things aren't intelligent yet. They're just em-bloat-ified traditional machine learning techniques. Not that they're useless. I just hate the terminology.

If people start using the term AI, we better be living in I, Robot. Not whatever the hell this is.

Tangential rant. Sorry.

wslh•1h ago
Offtopic HTML issue to the author: there is a trailing </head> tag at the end of your generated HTML after the </body> (instead of </html>).
fmbb•1h ago
> It is an old language, and there are a few features that could probably be left out like the OOP-related features, and some libraries in the ecosystem over-complicate things like in Haskell.

If one can stand a language that is just a little bit older, there is always Standard ML. It is like OCaml, but perfect!

assbuttbuttass•1h ago
I love standard ml (I'm currently writing a compiler for it), but it's far from perfect. There are weird special cases in the language definition like the ad-hoc overloading between int and real, or the annoying value restriction. Records also feel half-baked, with no support for updating fields or for partially-specified records where the full set of fields is not known
mkehrt•1h ago
I've written a fair amount of SML (though years ago) and I can't remember the value restriction ever being an issue.

I certainly agree that SML isn't really a production language, though.

retrac•1h ago
> with no support for updating fields

While it's not yet standard nearly all Standard ML implementations support what has become known as "Successor ML" [0]. A large subset of Successor ML is common to SML/NJ, MLton, Poly/ML, MLKit and other implementations.

That includes record update syntax, binary literals, and more expressive patterns among other deficiencies in Standard ML.

For me the two big remaining issues are:

1) There's only limited Unicode support in both the core language and the standard library. This is a big issue for many real-world programs including these days the compilers for which SML is otherwise a wonderful language.

2) The module system is a "shadow language" [0] which mirrors parts of SML but which has less expressiveness where modules cannot be treated as first-class values in the program. Also if you define infix operators in a module their fixity isn't exported along with the function type. (Little annoyance that gets me every time I am inclined to write Haskell-style code with lots of operators. Though maybe that's just another hint from the universe that I shouldn't write code like that.) Of course, the fix to that would be a fundamentally different language; not a revised SML.

[0] http://mlton.org/SuccessorML

[1] https://gbracha.blogspot.com/2014/09/a-domain-of-shadows.htm...

DeathArrow•1h ago
For something a bit more modern but still related to OCaml, one can try F#.
greener_grass•59m ago
F# is a practical choice but the language features are quite far behind OCaml now.

{Ecosystem, Functors} - choose 1

runevault•50m ago
From an outsider's perspective, it feels like Ocaml has more active development of features, between the new effects system they added in 5 and all the work Janestreet is doing to let Ocaml developers have more control over performance.

F# is not stagnant thankfully, it gets updates with each new version of dotnet (though I haven't checked what is coming with dotnet 10), but I don't recall anything on the level of the above Ocaml changes in years.

greener_grass•32m ago
Applicative Computation Expressions are a big deal (added in F# 5). Recent changes have been smaller in scope.

Unfortunately lots of the more advanced stuff seems to be blocked on C# team making a decision. They want a smooth interop story.

But F# remains a solid choice for general purpose programming. It's fast, stable and .NET is mainstream.

runevault•25m ago
Oh yeah I love f#, I need to find more excuses to use it. I just wish it felt like MS was willing to invest more into it. But at least they have not abandoned it and continue to put some resources into its ongoing growth.
sanufar•1h ago
OCaml’s REPL is lovely, but I found myself having some friction with initial startup. The build/package system was pretty convoluted, and I ended up choosing JS’s Core stdlib for my needs (a simple compiler). With the new multicore release it’d be cool to see OCaml in some more practical projects!
pkilgore•1h ago
There's some other stuff, but I personally believe if the tooling was closer to Rust/Go than C, it would be a lot, lot more popular.

Nobody wants to effectively learn a lisp to configure a build system.

ufko_org•1h ago
Yes, in every ML/OCaml tutorial, sooner or later the words object, class, and type inference appear and that’s when a once–minimalist language turns into an academic Frankenstein.
rwmj•58m ago
I don't think objects and classes are used much by OCaml programmers (not by me anyway). Type inference is a rather fundamental feature, and fairly easy to understand.
giovannibonetti•58m ago
Why does type inference contribute to that issue?
Barrin92•40m ago
It's not a minimalist language, you know what the "O" in Ocaml stands for right? It's a multi-paradigm language that explicitly accommodates more styles of programming than Caml, it's why it exists.
pulkas•58m ago
darklang team loved ocaml too. in the end they ended up using f#.
karmakaze•57m ago
I've dabbled in F# (and aside from the rough setup with little coherent information at the time) had a pretty good time. Actor-based concurrency was easy to grok. The one gotcha was whenever those mutable Arrays entered the picture.

I'd like to hear some practical reasons for preferring OCaml over F#. [Hoping I don't get a lot about MS & .NET which are valid concerns but not what I'm curious about.] I want to know more about day to day usage pros/cons.

ernst_klim•54m ago
> I'd like to hear some practical reasons for preferring OCaml over F#

Bigger native ecosystem. C#/.net integration is a double edged sword: a lot of libraries, but the libraries are not written in canonical F#.

A lot of language features F# misses, like effect handlers, modules, GADTs etc.

karmakaze•36m ago
I did get some sense of that where F# sort of (actually is) 2nd class to C# which is slowly gaining some F# features, but F# itself isn't well promoted/supported.

As for missing language features, they can also be a double-edged sword. I slid down that slippery slope in an earlier venture with Scala. (IIRC mostly implicits and compile times).

p0nce•54m ago
Well I need both float and double, so cannot even start using it.
ModernMech•44m ago
>why isn’t OCaml more popular?

OCaml did become popular, but via Rust, which took the best parts of OCaml and made the language more imperative feeling. That's what OCaml was missing!

StopDisinfo910•3m ago
Rust is very different from Ocaml. Rust is a low level language with a borrow checkers, traits, no module system, no GADT, no effects.

The similarities are fairly superficial actually. It’s just that Rust is only 20 years behind the PL forefront so people used to languages which are 40 years behind are discovering old features which look impressive like variants.

There is little overlap between what you would sanely use Rust for and what you would use Ocaml for. It’s just that weirdly people use Rust for things it’s very much not suited for.

pasxizeis•37m ago
As a Rust newbie and seasoned Go dev, I'm pretty interested to knownwhere would people experienced in both OCaml and Haskell, would put it in the spectrum.
hollerith•34m ago
What does "it" refer to? Ocaml?
7thaccount•32m ago
What spectrum? Language practicality? Popularity?

OCaml has some high profile use at Jane Street which is a major fintech firm. Haskell is more research oriented. Both are cool, but wouldn't be my choice for most uses.

bojo•28m ago
My team still has 8 year old Haskell systems in production. We pivoted away from the language a few years ago, which I discuss here a bit: https://news.ycombinator.com/item?id=37746386

I personally love ML languages and would be happy to keep developing in them, but the ecosystem support can be a bit of a hassle if you aren't willing to invest in writing and maintaining libraries yourself.

efficax•33m ago
OCaml is fantastic, but I avoided it and went with Rust for many projects because it had no multicore story and no green threads for a very long time. But it has that now, and I wish I could go back and start everything over in OCaml.
fer•26m ago
One of the best P2P clients ever created is written in OCaml: https://github.com/ygrek/mldonkey

I'm still surprised it can do so many things so well, so fast.

japhib•21m ago
Elixir is the closest thing to OCaml that has a chance at semi-mainstream usage IMO.

It has basically all of the stuff about functional programming that makes it easier to reason about your code & get work done - immutability, pattern matching, actors, etc. But without monads or a complicated type system that would give it a higher barrier to entry. And of course it's built on top of the Erlang BEAM runtime, which has a great track record as a foundation for backend systems. It doesn't have static typing, although the type system is a lot stronger than most other dynamic languages like JS or Python, and the language devs are currently adding gradual type checking into the compiler.

DrewADesign•13m ago
I think it’s odd that elixir doesn’t get more love. It ticks a lot of boxes that folks here get excited about, has a great ecosystem and tooling, BEAM is great, and it’s much more syntactically familiar than erlang to my eye. I know of a couple companies aside from the perennial goto examples that built sizable saas products backed by it.
skybrian•6m ago
What does deployment look like? Can you get a static binary easily like with Go?
pluralmonad•5m ago
Elixir is good at managing complexity. I love flattening hierarchy and dealing with edge cases right in function definitions using pattern matching. Every other language without it just feels crippled after getting used to the feature.
a-dub•7m ago
fun fact: the secret sauce that makes fftw fast is a code generator written in ocaml: https://github.com/FFTW/fftw3/tree/master/genfft
yujzgzc•5m ago
I loved Ocaml but now I love TypeScript more. It's got about the same amount of type safety, the ergonomics are better to me, and the packaging and ecosystem tooling are leaps and bounds above anything else.
phplovesong•3m ago
You would not really build the same software tho.