News for hackers. Stuff that matters.
Re:Zig, the Ideal C Replacement Or? by jbritton on Friday May 09, 2025 @09:47PM (#43942615)
Instinctually I’m bothered by passing an allocator to everything. LISP’s dynamic variables spring to mind. One could set an arena allocator at the top of a loop in a dynamic variable and then everything inside the loop would use that allocator. The bottom of the loop could free everything. Although I do really like knowing if something might call an allocator, perhaps a function specifier to indicate it allocates.

Although I’m intrigued by another idea I haven’t thought through. Haskell requires all function side effects to essentially propagate a description of the side effect up to main() where Haskell executes the side effect. There is also the idea of imperative shell, functional core that I don’t fully grasp. In any case perhaps all side effects should execute at the top level or maybe in a parallel environment and here passing an allocator would not be so onerous.

Re:Zig, the Ideal C Replacement Or? by bnolsen on Thursday May 15, 2025 @07:59PM (#44000531)
That might violate the no implied behavior rule that zig has.