https://issues.dlang.org/show_bug.cgi?id=15749
Issue ID: 15749
Summary: allow `with` on an expression
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
The motivation is stuff like this:
zip(iota(10), iota(10, 20))
.map!(t => Tuple!(int, "a", int, "b)(t))
.map!(t => with(t) a + b);
which, short of having some proper tuple unpacking syntax (that would be so, so
good), is nicer than the current
.map!((t) { with(t) return a + b; });
that might seem like a small change, but I'm having a hard time selling D and
functional programming to scientists with all the heavyweight syntax, they are
spoiled by the inefficient but neat-looking numpy model.
--