[Haskell-cafe] I'm afraid of OverloadedLabels.

Anthony Clayden anthony_clayden at clear.net.nz
Mon Jul 10 03:19:43 UTC 2017


> On Mon Jul 10 00:16:02 UTC 2017, Richard A. O'Keefe wrote:

> ...
> As a native speaker of an SVO language (English)
> in a country where one of the official languages is VSO
(Māori),
> I sometimes find the OVS structure of 
> "mainstream OO languages" a little uncomfortable...
> "Backward ran sentences until reeled the mind."

lol. That's a cute comparison.

I don't think "mainstream OO" is OVS. In:

> ... button.colour <- red

Gloss: 'button's colour goes red'.

`button's colour` is the grammatical Subject. (Yes it
represents an
OOP 'Object.method', but that's because everything in OOP 
is an 'Object'; and the only way to access is by methods.)

> ... button.reset

Again `button` is the grammatical Subject.
(It must be, because there's no grammatical Object.)
Then `reset` must be the verb, used intransitively.
(In French you'd use a reflexive:
 `the button resets itself`.)

This dot-suffixing is already in Haskell:
Data.ByteString.Lazy.Builder.Extras
'Data's ByteString's Lazy's Builder's Extras'.

To me it seemed natural to carry on
....Extras.untrimmedStrategy.buffSize

That is, a field is just a component
that might have (sub-)sub-component(s).
The field 'belongs to' the structure,
so dot represents English possessive.

And that's just how lenses look, deliberately.
(But that's a mystifying pun on use of the dot:
 the dot changes from compound name separator
 to function composition.)

But the outcry against TDNR's proposal for dot
really was voiciferous.

(And nobody paid so much attention to the semantics.
 So the flaw in TDNR wasn't discovered for a long time.)

AntC


More information about the Haskell-Cafe mailing list