Show HN: Spindle – a full-featured, type-safe web framework for OCaml 5
The web framework for modern OCaml. Contribute to hyphatech/spindle development by creating an account on GitHub.
Tin lập trình mới nhất về ocaml, tóm tắt tiếng Việt bằng AI.
The web framework for modern OCaml. Contribute to hyphatech/spindle development by creating an account on GitHub.
I’m happy to announce that neocaml 0.11 is out! I never got around to writing about 0.10, which was mostly about neocaml-utop (a utop backend that talks to utop via its native editor protocol), but 0.11 is a different story. Its changelog is twice as long as that of any release before it, and by now I’ve stopped pretending that a grand 1.0 is just around the corner.1 There’s a lot in there, but three things stand out for me - OxCaml support, indentation styles, and much better support for documentation. Here’s why… See the 0.6 post for how that went the last time. ↩︎
Syl is a new programming language that encodes compile-time computation in a modal type system, aiming to bring proper dependent types to systems programming. It uses two mode axes, staticity and erasure, to track what's knowable at compile time versus runtime. Functions with static arguments get monomorphized, similar to C++ template specialization, while erased values never appear at runtime. Because Syl allows general recursion and type-in-type, it isn't suitable for theorem proving. Syl implements fuel limits so typechecking during development does not get stuck. Max Slater, the author, says the Syl compiler may be found on GitHub and the design still needs stories for mode polymorphism, lifetimes, linearity, and implicit parameters.
This post proposes a userland convention called Traits: compile-time structs holding related functions over a type. Traits are an alternative to Zig's two usual polymorphism patterns, dynamic interfaces with vtables and comptime duck typing. The approach is inspired by OCaml modules and the functional programming world. Helper functions impl and getTrait use Zig's type reflection to reduce boilerplate when defining and retrieving trait implementations. The author warns that overusing traits can cause combinatorial binary bloat from monomorphized functions, sometimes making code slower than dynamic dispatch. Written against Zig 0.17.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000 bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử