A deep dive into building a fully type-safe embedded domain-specific language (EDSL) in Haskell that represents a typed lambda calculus. Starting from an untyped expression ADT, the post progressively adds phantom type indices, singletons, existentials, runtime type equality, typed records and sums using vinyl-style heterogeneous lists, and finally a scoped variable environment that makes ill-typed or unbound variable references impossible to construct in Haskell. The result is an expression language where GHC statically rejects any invalid domain-level term. The series aims to eventually compile these typed expressions to multiple backends (C, JavaScript) and generate Graphviz visualizations of state machines.
Nguồn: https://blog.jle.im/entry/extreme-haskell-typed-expression-edsls-1.html. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
A deep technical exploration of type inference for biased record concatenation (the // operator in Nix), formalizing the 1991 Wand paper algorithm that no language has fully implemented. The post presents three formalizations: declarative natural deduction semantics, an algorithmic constraint generation and resolution approach, and a ~400-line reference Haskell implementation. Key concepts covered include row-polymorphic record types, field annotations (present/absent/unknown), a canonical field concatenation operator with monoid laws, sibling row variables, disjoint set data structures for tracking variable relationships, and field instantiation for handling record unification mismatches. A companion GitHub REPL is provided for testing.

A browser-based CAD environment built with Haskell, running via a ~100MB WebAssembly blob. Users on metered or slow connections are warned before loading.
Haskell Weekly Issue 531 curates the latest from the Haskell community. Featured articles include a deep dive into actegories and optics by Bartosz Milewski, a dev log on implementing new GHC syntax, a podcast episode with top GHC contributor Sylvain Henry, a technique for type-checked non-empty strings with TemplateHaskell yielding ~10% build-time improvements, a guide on emulating inline assembly in GHC for low-level CPU instruction access, and an overview of Haskell security tooling. Job listings include roles at LivTours and Standard Chartered. Notable releases include Hyperbole 0.7 with multipart file uploads and reflex-vty 1.0. Community highlights cover a BitNet 1.58 LLM experiment in MicroHaskell and GHC proposals for top-level shared IO computations.
Haskell Weekly issue 530 covers the Haskell ecosystem activities report for March–May 2026 from Well-Typed (covering GHC, Cabal, HLS work), a guide on creating statically-linked Haskell executables with Nix, an introduction to the pqi library aiming to decouple Haskell PostgreSQL drivers from libpq, an introductory post on record type inference, and a deep dive into representing sheaves in Haskell using category theory. Brief announcements include apecs-0.10.0 (ECS package), Fourmolu 0.20.0.0 formatter release with GHC 9.14 support, GHC 9.12.5-rc2, and new Hpack-Dhall and Stock packages.
A beginner-friendly introduction to type inference for anonymous records, building up from basic record literals to field access, variables, and functions. The post explains why statically typed languages struggle with anonymous records, introduces formal type inference notation with Haskell code examples, and covers two approaches to handling extra record fields: subtyping (as in TypeScript) and row polymorphism (as in PureScript and Elm). Row polymorphism is shown to be more expressive, enabling precise types for operations like record extension. The post is a foundation for a follow-up on type inference for record concatenation in Nix.