|
|
|
|
|
by tome
3160 days ago
|
|
> At some point your ... Haskell ADT has to communicate its data to other programs that have no notion of these things. So you end up w/ a ton of surface area in your code with mappers and marshallers totally unrelated to the content of the data and purpose of the program. No it doesn't. > things like "a map of strings and numbers" is pretty straightforward to transport, while a sum type implementing functor with a record data constructor that contains a Maybe SSN is not. Yes it is. Has this guy ever heard of Generics? |
|
I think it's possible you didn't catch the parts where he talks about what he wants from his data structures. There were 2 key pieces:
+ that he can transport them between environments, possibly remotely, possibly written in different programming languages
+ that parts of the system only need to know about parts of the data structure. More, that as the data structure is passed around the system, only the producer and consumer of changes to the structure are affected by the change.
I'm not aware of any static type system, with generics or otherwise, that would meet these goals. At least not post-facto and highly artificially.
Whether or not you agree with the priority he gives to these goals is, of course, a different matter.