Andre Popp's Avatar

Andre Popp

@andreypopp

261
Followers
194
Following
75
Posts
06.08.2023
Joined
Posts Following

Latest posts by Andre Popp @andreypopp

In my experience it’s better than python/ts 😂 type system helps a looot

19.01.2026 20:36 👍 3 🔁 0 💬 0 📌 0
Video thumbnail

I built my own JavaScript runtime in OCaml

I wanted to see how far OCaml could go against Bun and Node, and also also OCaml vs zig vs c++ in similar APIs.

So I built `sirocco`.

Uses JavaScriptCore (same engine as Bun and Safari). Event loop with libuv and it's written in OxCaml.

02.01.2026 15:08 👍 31 🔁 9 💬 1 📌 0

Tried an OCaml compiler branch with modular explicits (soon to be merged?) and polymorphic arguments (already merged) and it feels sooo good (where it’s needed).

26.12.2025 14:01 👍 1 🔁 0 💬 0 📌 0

Oh, what’s unsound about it?

16.12.2025 06:34 👍 3 🔁 0 💬 1 📌 0
Preview
Making html_of_jsx ~10x faster | sancho.dev A story of how static analysis helped improve performance in html_of_jsx

I made html_of_jsx a bit faster and published a blog post about it: how it's done and some won'ts!

sancho.dev/blog/making-...

07.12.2025 15:12 👍 7 🔁 3 💬 0 📌 0

Prague when

30.11.2025 23:33 👍 0 🔁 0 💬 1 📌 0

Pretty fun to program in and very well suits the problem found in AoC usually.

26.11.2025 18:03 👍 1 🔁 0 💬 0 📌 0

BQN

26.11.2025 17:46 👍 1 🔁 0 💬 1 📌 0

What book are you going through? I’ve enjoyed Software Foubdations for Coq/Rocq and would love to try Lean using some similar in format book (lots of exercises, book content is in the code comments).

04.09.2025 04:17 👍 1 🔁 0 💬 0 📌 0

I think mlx works pretty good with lsp to be honest. And type safe. There are some improvements could be made but overall pretty happy.

29.07.2025 06:54 👍 3 🔁 0 💬 1 📌 0
Preview
GitHub - ocaml-mlx/mlx: OCaml .mlx syntax dialect which adds JSX syntax expressions OCaml .mlx syntax dialect which adds JSX syntax expressions - ocaml-mlx/mlx

Seen ocaml-mlx/mlx? github.com/ocaml-mlx/mlx

29.07.2025 06:49 👍 3 🔁 0 💬 1 📌 0

Что значит отправить URL? Судя по зависимостям — там только чтобы его из строки парсить (и обратно).

28.04.2025 11:01 👍 1 🔁 0 💬 1 📌 0

oh, in tmux there are lots of "quality of life" improvements over screen: can zoom-in/zoom-out a pane, floating windows and many more

19.01.2025 15:21 👍 3 🔁 0 💬 0 📌 0

But it’s possible to resolve constraints in any order (Applicative before Traversable in the example above), no? How would that work with currying?

11.01.2025 06:02 👍 2 🔁 0 💬 1 📌 0

feels like this discussion happens again and again 😅 between same persons

08.01.2025 06:39 👍 1 🔁 0 💬 0 📌 0
Video thumbnail

I'm writing a fun little text editor in C and vulkan!

Like vim, it's modal. But there is no concept of a cursor in normal mode, only a selection. You can switch the selection "granularity" with h and l, then move the selection with j and k.

And ofc there are a ton more hotkeys for selection manip.

01.01.2025 22:31 👍 13 🔁 5 💬 1 📌 0

ah! though the demos you share here and on twitter are cool!

23.12.2024 13:04 👍 1 🔁 0 💬 1 📌 0

presenting?

22.12.2024 11:36 👍 0 🔁 0 💬 1 📌 0

ok, fair, so what’s NEWLANG? and can we collaborate?

08.12.2024 12:50 👍 1 🔁 0 💬 0 📌 0

wait, I've max-multicasted DISTRO, it's alone ~40 votes

08.12.2024 12:25 👍 1 🔁 0 💬 1 📌 0

Yeah, will need a runtime.

08.12.2024 09:07 👍 0 🔁 0 💬 1 📌 0

yep, but actually it looks like it is made for xtensa (esp32-S), now there is esp32-C also available which is RISCV, would be interesting to see what's missing from OCaml's official RISCV support.

08.12.2024 08:47 👍 0 🔁 0 💬 1 📌 0

I'm pretty sure OCaml runs on esp32, well, even Python/Lua can do that...

08.12.2024 08:31 👍 0 🔁 0 💬 1 📌 0

DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO DISTRO

08.12.2024 05:39 👍 4 🔁 0 💬 0 📌 0

There are things like that — a lib of combinators (+ppx optionally) for type representation. Then functions which accept type representation and do something useful — show, compare, serde, … I remember there was a survey of these in discuss some time ago

08.12.2024 05:15 👍 1 🔁 0 💬 0 📌 0

oh... a very useful extension, but I'd prefer something like:

include Comparable(Self)

where Self is a "current module"

07.12.2024 14:32 👍 1 🔁 0 💬 1 📌 0

no, I mean what’s calling convention, how does
It pass the record fields? Not heap allocated?

06.12.2024 16:17 👍 1 🔁 0 💬 1 📌 0

only if it does so efficiently!

06.12.2024 15:48 👍 1 🔁 0 💬 1 📌 0

But it doesn’t detect grammar conflicts, doesn’t track source locations, …

06.12.2024 04:00 👍 1 🔁 0 💬 1 📌 0

Agree that it is strange, though this is how it works now — formatting is done through dune rpc (ocamllsp calls dune through rpc) for some unclear to me reasons...

02.12.2024 07:51 👍 4 🔁 0 💬 1 📌 0