The Glasgow Haskell Compiler team has released GHC 10.0.1-alpha1, the first alpha of a major upcoming version. Key changes include GHC2024 becoming the default language edition, Type and Constraint now being fully distinct kinds, a new QualifiedStrings extension, simplified static forms, re-enabled polymorphic specialisation by default, bytecode libraries writable to disk, new static linking flags, AArch64 SIMD support, a new poll I/O manager as default on POSIX (except macOS), version 2 of the GHC Jobserver Protocol (requiring cabal-install 3.18+), a raised minimum bootstrap compiler (GHC 9.10), LLVM support up to version 23, and dropped bindists for older Debian/Ubuntu releases in favor of Debian 13. Binaries, source, and documentation are available via downloads.haskell.org and GHCup, alongside a migration guide for adapting existing programs.
Source: http://haskell.org/ghc/blog/20260918-ghc-10.0.1-alpha1-released.html. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Bối cảnh: Bài viết là bài tiểu cá nhân khám phá ba tính năng ngôn ngữ lập trình yêu thích của tác giả. Nguyên nhân kỹ thuật: Ba tính năng này bao gồm flow typing (Crystal và TypeScript), Rust's borrow checker và D's contract programming, mỗi tính năng đều giải quyết các vấn đề cụ thể về type safety và quản lý bộ nhớ. Hệ quả: Ví dụ minh họa bằng class bank account trong D cho thấy cách các invariant giúp bảo toàn tính toàn vẹn dữ liệu. Điều đáng học: Những tính năng này chứng minh tầm quan trọng của việc tích hợp static typing và kiểm tra tại runtime để xây dựng phần mềm đáng tin cậy hơn.
Bài này giúp bạn hiểu rõ ba tính năng lập trình mạnh mẽ nhất từ Crystal, Rust và D để nâng cao kỹ năng viết code an toàn và hiệu quả.
Bối cảnh: Khi viết generic code, việc khai báo các kiểu dữ liệu có mối quan hệ tuần hoàn (mutually‑recursive) thường gây khó khăn vì compiler không tự động hiểu vòng lặp tham chiếu. Nguyên nhân kỹ thuật: Để tạo type contracts cho các kiểu này, bạn phải sử dụng kỹ thuật mutually referencing type parameters, tức là định nghĩa các tham số kiểu lồng nhau sao cho chúng chỉ ra lẫn nhau một cách rõ ràng. Hệ quả: Nếu không áp dụng cách này, compiler sẽ báo lỗi hoặc tạo ra code không kiểm soát được, khiến contract không được áp dụng và kiểu dữ liệu không được kiểm tra đúng. Điều đáng học: Bạn nên học cách triển khai contract bằng cách tạo ra các tham chiếu lẫn nhau trong khai báo kiểu, vì đây là cách duy nhất để viết generic code an toàn cho các cấu trúc phức tạp. Vì vậy, nếu bạn đang cân nhắc đọc bài gốc, hãy xem cách họ thực hiện pattern này để hiểu rõ hơn về cách áp dụng type contracts trong thực tế.
Bài hướng dẫn này giúp lập trình viên viết mã generic đúng cách cho các kiểu đệ quy hoặc tương hỗ đệ quy.
Generics từng là tính năng mới trong Go và giờ đã phát triển qua các phiên bản gần đây, với những cải tiến được Dolt tích hợp vào dự án.
Lập trình viên Go nên đọc bài này để hiểu cách tương tác với Generic trong Go—công cụ mới giúp viết mã linh hoạt hơn, giảm sự phụ thuộc vào kiểu dữ liệu cụ thể, và tối ưu hóa hiệu suất cho các ứng dụng hiện đại.
Swift 6 introduces typed throws via SE-0413, letting a function declare exactly which error type it throws using throws(SomeError) syntax. This gives catch blocks the concrete error type, enabling compiler-checked exhaustive switch handling instead of casting from any Error. throws(Never) is equivalent to non-throwing, and a generic thrown type parameter can replace rethrows for pass-through cases like map, though only when the closure's error type is explicitly annotated (trailing closures still infer to any Error). The piece argues typed throws is best reserved for single-module code, generic rethrow-style functions, and embedded/dependency-free code where any Error boxing has runtime cost — because pinning a concrete error type on a public API is a source-breaking commitment if the error set ever needs to grow.
In this interview with our Daml Team Lead, Heitor, we examine which Haskell intuitions transfer successfully to Daml, where analogies such as Update and IO break down, and how developers should reason about authorization, visibility, contract lifecycles, and testing. We also discuss learning paths and tooling for Daml developers, common mistakes made by Solidity programmers, and the practical topics covered in the upcoming Daml Smart Contracts Development Guide.
Bản tin tuần này của cộng đồng Haskell giới thiệu phiên bản Cabal 3.18.1.0, dự án biên dịch chéo GHC 9.8 cho iOS từ đầu, bài nói về cải tiến Haskell cho khoa học dữ liệu, chia sẻ của Simon Peyton Jones về nguồn gốc và tương lai của ngôn ngữ, cùng nhiều cập nhật nhỏ khác như Hasql v2, Ormolu, thư viện Redis, và các công cụ lập trình cơ sở dữ liệu.
Lập trình viên Haskell sẽ tìm hiểu cách tối ưu hóa dự án hiện tại bằng cách khám phá các công cụ mới như Ormolu và Hasql v2, đồng thời cập nhật kiến thức về xu hướng như GHC 9.8, cơ sở dữ liệu và ứng dụng khoa học dữ liệu trong ngôn ngữ này.
Bản tin Haskell Weekly số 536 cập nhật tin tức cộng đồng với đề xuất sửa đổi báo cáo ngôn ngữ Haskell 2010, cuộc phỏng vấn về Daml dành cho nhà phát triển Haskell, các bản release candidate GHC 9.12.5-rc3 và 9.14.2-rc1, bài viết về thiết kế parser, kỷ niệm 20 năm dự án Pandoc, thư viện mới Hodatime, hỗ trợ escaping query-string sắp tới trong Servant, và lời kêu gọi ứng tuyển vào Ủy ban Lãnh đạo Kỹ thuật mới của Haskell Foundation.
Nếu bạn đang tìm cách nâng cao hiệu quả phát triển ứng dụng với Haskell—đặc biệt là khi làm việc với GHC, thư viện mới hoặc các vấn đề thiết kế—bài này sẽ giúp bạn cập nhật những thay đổi quan trọng nhất trong cộng đồng, từ phiên bản mới nhất của GHC đến các công cụ như Servant và Pandoc, giúp tối ưu hóa dự án của bạn.
Bài phỏng vấn bàn về những thay đổi cần thiết để Haskell phổ biến hơn với nhà phát triển và doanh nghiệp, cũng như vai trò của Haskell Foundation. Nó cũng phân tích cách Bitnomial ứng dụng Haskell trong hệ thống tài chính quy mô lớn nhờ type safety và effect tracking, cùng những ưu điểm của công nghệ như Servant trong việc nâng cao độ tin cậy hệ thống.
Lập trình viên chuyên nghiệp nên đọc bài này để hiểu cách Haskell, với tính bảo mật kiểu và quản lý tác động hiệu quả, giúp các công ty tài chính như Bitnomial xây dựng hệ thống phức tạp mà vẫn duy trì độ chính xác và hiệu suất trong môi trường yêu cầu cao về an toàn và tính nhất quán.
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