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.
Latest developer news about ocaml, summarized in Vietnamese by 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.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000 DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it