<div dir="ltr"><div>In my current application, I'm really missing the ability from OO to do things like</div><div><br></div><div>someData.field1.field2 = "foo"</div><div><br></div><div>What's do I mean?<br></div><div><br></div><div>- field selectors are scoped so that names don't clash with each other or global names</div><div><br></div><div>- this way of selecting data can be used both for reading it, and for updating specific fields of some data deep in a data hierarchy (In Haskell, if using immutable data, this would requiring doing a data update on every level). </div><div><br></div><div>Any attempt to do this in Haskell, for me anyway, results in an explosion of names and a lot of boilerplate code and a resulting heavy syntax.</div><div><br></div><div>Is there a way of obtaining OO-like concise syntax, perhaps with Template Haskell?</div><div><br></div><div>Dennis</div><div><br></div></div>