Skip to content
0:00 / 0:00

#zig#resultlocationsemantics#parameterreferenceoptimization

ATTACK of the KILLER FEATURES - Martin Wickham - Software You Can Love Vancouver 2023

Zig SHOWTIME

17K subscribers • 45 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Martin Wickham
  • An opinion. It argues one side of a question engineers disagree on.

Advanced. Deep dive for people who know the field.

14K views3 years ago1 recommendation

Programming languagesSoftware designZigLanguage design and type systemsCompilers and interpreters

Martin Wickham explores the conflict between Zig's Result Location Semantics and Parameter Reference Optimization features.

Official website: softwareyoucan.love Vancouver Conference Website: softwareyoucanlove.ca Abstract: Zig has two core features which are fundamentally at odds: Result Location Semantics and Parameter Reference Optimization. Many community members would like improvements to both of these features, but they are locked against each other. Improvements to one usually cause problems when they interact with the other. Even in their current state, the language has a big footgun when the two features overlap. This leaves us in an unfortunate local maximum, which is difficult to break out of. This talk will explore the tradeoffs involved in tweaking these language features, to spur discussions about solutions.

Why it's here

1 person recommends this

What people say. Recommended as a key talk highlighting the design challenges and bugs associated with Zig's automatic reference parameters.

u/Veeloxfirein r/Zig • Recommends

On “There are 1,400 "urgent" issues in Zig's GitHub :-(”

youve hit essentially THE biggest issue with zig's automagic reference parameters See: link to this video for a talk on the highlights of known/being worked on issues regarding this (2 years out of date) I hightly doubt much else in that list will be anywhere near as impactful as the one you have chosen regarding language feature consequences. Most of the bugs regarding it have been ironed out over the years but yes some still remain As for the thousands of bugs ... a lot are probably edge cases around similar ideas that get transiently fixed as other things change. Issues are not all for issues either, some are compiler bugs, some are language ideas, etc Llvm has over 5k issues and yet nobody would…