News for hackers. Stuff that matters.
Re:Algebraic Data Types by dllthomas on Thursday July 31, 2014 @03:25PM (#8116386)
So it's specifically the separation of the check and the action? I totally agree this is undesirable; I understood "boolean blindness" to be closer to "bare primitive types lack meaning", specialized to Bool.
Re:Algebraic Data Types by tel on Thursday July 31, 2014 @03:56PM (#8116590)
I always think of it as your data types being too unrestricted so as to allow for invalid states. The eliminator for Maybe

    (a -> r) -> r -> Maybe a -> r
means you only access the `a` if it's there and the access/matching are inextricably linked.

So, I think "bare primitive types lack meaning" is basically correct given that you interpret "meaning" as "meaningful uses/actions".

Re:Algebraic Data Types by dllthomas on Thursday July 31, 2014 @04:10PM (#8116683)
Yeah, given the nature of the types involved here, I think the two concepts I was trying to distinguish are not as far apart as I'd thought.