标签
本文介绍了一种针对 Morello 能力硬件架构修改的 Rust 编译器,通过利用硬件能力,实现即使在非安全代码中也始终在线内存安全。
OCaml 的创始人 Xavier Leroy 在一次播客采访中讨论了 OCaml 相对于 Rust 和 JavaScript 的特性、形式化验证、类型推断以及 LLM 对编程的影响。
本文讨论了一个基本的内存安全挑战,涉及带标签的联合体,其中指向一个变体的指针在联合体被覆盖为另一个变体后被使用,导致类型混淆。作者还认为,缓冲区溢出是最容易被利用的内存错误,如果采用更好的数组语法本可以缓解。
这篇1998年的文章认为,ML和OCaml非常适合编写编译器,因为它们具有垃圾收集、尾递归优化以及带有模式匹配的代数数据类型等特性,这些特性简化了复杂编译器数据结构的处理。
Roc编译器团队已将他们30万行Rust代码库重写为Zig,经过18个月实现了功能对等,生成了更小的WebAssembly二进制文件并提高了性能。
这篇文章探讨了关于前 ANSI C(K&R C)的一些晦涩细节,包括 void 的缺失、不同的浮点类型以及简化的类型说明符规则。文章解释了该语言上下文相关语法是如何通过单遍编译器的限制来证明其合理性的。
这篇《连线》文章探讨了 Python 在科学计算中的性能限制,并讨论了 Julia 作为两语言问题的潜在解决方案,同时借鉴了图灵奖演讲中的历史类比。
这篇文章探讨了编程语言语法设计的重要性,认为语法应准确反映语言的计算模型和心智模型,而非为了熟悉感或简洁性随意拼凑。作者通过分析OCaml、Lisp/Clojure和JavaScript的语法设计,并介绍自己设计的语言Saul,强调了统一性和语义一致性。
文章阐述了学习Lisp的理由,强调了其宏和可扩展性等独特特性,这些特性使程序员能够将语言适配到自己的问题域,并通过Blub悖论解释了为何来自能力较弱语言的程序员可能难以认识到Lisp的优势。
本文探讨了NaN在Python和Lua中的两种意外行为,其中对相等性和比较的隐含假设导致了令人惊讶的结果,例如Python列表相等性忽略了NaN的自不等性,以及Lua的for循环将NaN作为步长或限制时处理不当。
一篇讨论编程语言设计中默认使用有符号整数还是无符号整数的文章,以 Odin 和 C3 为例。作者认为尽管无符号整数在理论上有优势,但默认使用有符号整数更实用。
本文探讨了Fortran在科学计算中受欢迎度下降的现状,并提出借助依赖类型对其进行现代化,以解决熟练Fortran程序员短缺的问题。
一段比较C语言和Haskell之间权衡的引述:C语言优先考虑效率再考虑正确性,而Haskell优先考虑正确性再考虑效率。
本文探讨了AI代码生成在局部代码块方面表现出色,但在全局程序理解方面存在困难,导致过多的防御性检查。它考察了编程语言设计是否能有所帮助,并通过一个局部推理保证全局属性的例子进行说明。
该研究提案探讨了不同编程语言中代码库大小如何影响编码LLM的困惑度,并以Lean作为形式语言的测试案例。它表明Lean可能具有更优的缩放指数,从而使大规模软件更安全、更可靠。
OxCaml 是 Jane Street 的 OCaml 超集,引入了一个 `[@zero_alloc]` 注解,强制编译器在调用树中任何函数在堆上分配内存时拒绝构建,将内存分配检测从运行时分析转变为编译时强制执行。