Skip to content

Comment on Clojure core.async and Go: A Code Comparisonparent

Comments

The i is scoped differently in clojure than in golang so it doesn't have the same potential pitfall. I think golang people consider their scoping here a mistake (and have tooling to check it?).

C# had the exact same pitfall and it was recognised years ago. It's unfortunate that it made it in to Go.

Did they introduce a language solution for it in C#?

C# 5.0 is changing the behavior of the loop variable to be logically inside the loop [0].

[0] https://news.ycombinator.com/item?id=3477629

The Go race detector will generally catch this mistake at runtime.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.