Jacquard is a research programming language designed for a world where most code is written by AI models and reviewed by humans. It features algebraic effects with multi-shot handlers, type-and-effect rows that expose what a function can touch, discrete probabilistic programming as a library, and content-addressed structural identity. Key capabilities include running programs against swappable world handlers (real, simulated, or probabilistic), enumerating exact probabilities for finite discrete models, and a test framework called Warp. The 0.1 release candidate ships with an OCaml checker and CPS interpreter, a C-emitting native AOT backend, a standard library, and pre-built binaries for Linux x86-64 and macOS. It is explicitly a research prototype, not a production language.
Nguồn: https://github.com/jbwinters/jacquard-lang. 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.

Bài thảo luận đề xuất bổ sung phương thức đối tượng cho các kiểu scalar (số, chuỗi) trong PHP, cho phép gọi trực tiếp như $str->trim() hay (3)->pow(2). Phương pháp này sử dụng cơ chế dispatch tĩnh, chuyển đổi thành lời gọi static tới các lớp nội bộ mà không thêm opcode mới, nhưng vấp phải phản đối về phạm vi áp dụng hạn chế do mô hình biên dịch theo file của PHP và nguy cơ phá vỡ công cụ phân tích tĩnh.
Lập trình viên nên đọc bài này để hiểu cách PHP đang thảo luận về cách mở rộng tính năng gọi phương thức trực tiếp trên giá trị nguyên thủy (scalar) như $str->trim() mà vẫn đảm bảo hiệu suất và tính bảo mật thông qua cơ chế phân tán compile-time.

A PHP internals mailing list thread where Holly Schilling proposes adding class extensions to PHP, inspired by Swift's extension syntax, implemented in a 2-phase approach. Michael Morris questions the value of the feature, arguing that PHP's existing inheritance and traits already cover what Swift-style extensions provide.

Holly Schilling đề xuất bổ sung tính năng class extension cho PHP, lấy cảm hứng từ cú pháp extension của Swift, và khẳng định đã chứng minh khả thi thông qua cách triển khai 2 giai đoạn. Cô đang thăm dò sự quan tâm của cộng đồng trước khi tiếp tục phát triển.
Lập trình viên PHP nên theo dõi đề xuất này để hiểu cách mở rộng tính năng của các lớp hiện có mà không cần thay đổi mã nguồn gốc, giúp tối ưu hóa hiệu suất và tái sử dụng code theo phong cách Swift, từ đó có thêm nhiều lựa chọn trong việc phát triển ứng dụng.

Đề xuất bổ sung phương thức gọi trực tiếp trên giá trị scalar (như $str->trim(), (3)->pow(2)) trong PHP đang được thảo luận trên mailing list nội bộ, sử dụng cơ chế dispatch tĩnh tại thời điểm biên dịch nhằm tránh overhead. Triển khai thử nghiệm trên PHP 8.6-dev cho thấy không gây xung đột, nhưng nhận nhiều phản đối về phạm vi áp dụng hạn chế, tác động tới công cụ phân tích tĩnh, và đề xuất thay thế bằng extension functions (như Kotlin/C#) thay vì giới hạn phương thức sẵn có.
Lập trình viên nên đọc để hiểu cách PHP 8.6 đang thử nghiệm cách mở rộng tính năng gọi phương thức trực tiếp trên giá trị số hoặc chuỗi mà không cần biến, giúp tối ưu hóa hiệu suất và mở rộng khả năng sử dụng của ngôn ngữ mà không cần thay đổi cơ sở hạ tầng mới.

Một đề xuất trên danh sách thư PHP internals đề xuất bổ sung phương thức đối tượng cho kiểu scalar (như $str->trim() hay (3)->pow(2)), sử dụng cơ chế gọi tĩnh nội bộ mà không tạo opcodes mới. Đề xuất này vấp phải phản đối do chỉ hoạt động ở thời điểm biên dịch (không hỗ trợ autoload), gây khó khăn cho công cụ phân tích tĩnh, và tạo ra cú pháp thứ ba cạnh tranh với hàm thủ tục hiện có. Larry Garfield đề xuất giải pháp tổng quát hơn là extension functions.
Lập trình viên nên đọc để hiểu cách PHP đang thảo luận về một giải pháp mới để mở rộng tính năng gọi phương thức trực tiếp trên giá trị số hoặc chuỗi mà không cần chuyển đổi thành đối tượng, cùng những thách thức kỹ thuật và ý kiến phản đối từ cộng đồng về tính ổn định và tương thích.

Đề xuất bổ sung phương thức đối tượng cho các kiểu scalar (số, chuỗi) trong PHP, cho phép gọi trực tiếp như $str->trim() hay (3)->pow(2). Cách tiếp cận này chỉ hoạt động khi trình biên dịch xác định được kiểu scalar tại thời điểm biên dịch, chuyển đổi thành lời gọi static tĩnh mà không tốn thêm opcode hay ảnh hưởng hiệu suất.
Lập trình viên nên đọc để hiểu cách PHP có thể nâng cấp tính linh hoạt của ngôn ngữ bằng cách tích hợp các phương thức đối tượng vào giá trị nguyên thủy—tránh rủi ro của việc mở rộng quá nhiều và tối ưu hóa hiệu suất cho các trường hợp sử dụng thực tế.

A pre-RFC discussion on the PHP internals mailing list proposes adding scalar object methods to PHP, allowing calls like $str->trim() or (3)->pow(2) directly on scalar values. The approach dispatches only on receivers the compiler can statically guarantee are scalar at compile time, rewriting method calls to ordinary static calls into internal backing classes with zero new opcodes and negligible performance overhead. The proposal includes two independent votes: scalar methods on guaranteed receivers, and optionally typed local variables. Community responses raise objections including that compile-time-only dispatch covers very little real-world code due to PHP's per-file compilation model, that hiding backing classes breaks static analysis tooling, and that a broader extension functions mechanism (à la Kotlin/C#) would be preferable to a curated fixed method set.
Neocaml 0.9 cải tiến đáng kể cho chế độ OCaml trên Emacs với REPL tích hợp mạnh mẽ hơn (hỗ trợ buffer theo dự án, flavor cấu hình, lệnh send-and-step), bổ sung tính năng completion cho Dune/Opam mà không cần LSP, cùng nhiều sửa lỗi ổn định. Phiên bản này tương thích OCaml 5.5 thông qua tree-sitter-ocaml v0.25.0 nhưng giữ nguyên ABI 14 để tương thích ngược với Emacs 30.
Nếu bạn làm việc với OCaml trong Emacs và muốn nâng cao hiệu suất, tính năng và độ ổn định của môi trường phát triển, Neocaml 0.9 sẽ giúp bạn tối ưu hóa việc sử dụng REPL, hoàn thành tự động và khắc phục các lỗi cơ bản mà nhiều người gặp phải.