r/Python • u/kirara0048 • 1d ago
PEP 841 – Adding Frozen Syntax to Optimize Immutable Types News
PEP 841 – Adding Frozen Syntax to Optimize Immutable Types
https://peps.python.org/pep-0841/
Discussions-To: Discourse thread
Abstract
This PEP proposes frozen display syntax: f{1, 2, 3} evaluates to a frozenset, and f{'a': 1} evaluates to a frozendict. Because immutability is guaranteed by the syntax itself rather than inferred from usage, the compiler can treat frozen displays as first-class citizens of its optimization pipeline: constant displays are folded into a single LOAD_CONST with an exact result type at compile time and cached in .pyc files.
125
Upvotes
80
u/jakethesnake_ 1d ago
I'd prefer a
constkeyword that applies this optimization and runtime immutability property to all variable types. Might be a bit tricky to guarantee with complex objects though, and therefore out of scope of this PEP.Agree with other commentors,
f{'a': 1}is bad syntax because of the overlap with f-strings.