Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

|capture| hides an inconsistency that bugs me – everywhere else, assignment to a variable flows leftwards. |capture| is an unnatural rightwards assignment.

in general, I like zig syntax, but i find that it had very little regard to how the eye moves on the page. it’s jarring at times.



But the capture is conditional so it makes sense.

if (evaluation) result = evaluation

if (evaluation) |result|

Although assignments as expressions in C are convenient, I don't think they make a ton of sense and find Zig's capture easier to read (easier to immediately see what's being evaluated)


if |result| (evaluation)


I think you could argue for it both ways. Then you could claim ternaries are inconsistent too, shouldn't it be:

resultA : resultB ? (evaluation)

if we always put result first?

I think the most important piece of if statements and ternaries is the condition being evaluated and it's worth putting that first?


but zig has no ternaries, so it does not apply to a discussion about zig’s syntax.

and ternary is a branch with no variable introduction, so it doesn’t apply again.

(it’s basically a weak switch expression, and the value moves leftwards towards its invocation.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: