4 ms·
Object is a sufficiently generic term, so that it can mean very different things to different people. Lumping state with some functions that implicitly have R/W
by cies 9y ago
Object is a sufficiently generic term, so that it can mean very different things to different people. Lumping state with some functions that implicitly have R/W access to that state is not possible in Haskell, not even with the powerful type-classes. Thankfully.
Type-classes do allow interesting polymorphism tricks, that —as Wadler mentioned— allows Haskellers to use some of good parts of OO.
- wyc 9y agoYou're right; I still struggle to come up with a good catch-all definition for "object." On an unrelated note, I'm also still trying to figure out what DevOps is, aside from YAML and tears.
- cies 9y agoDevOps provisioning by software (hence the "dev") instead of by hand (manual-Ops). It is with cloud-native that it gets interesting. Cloud-native infrastructure (like k8s) usually replaces the traditional devops tools (like Puppet, Ansible and Salt). Also it brings the notion of "scrappable instances", "blue green deployments" and "stateless compute nodes". This is were it got really interesting, this is were the FP intuitions start carry over. :)
- wyc 9y agoInteresting last point! It does seem to be the trend, notably with large data sets: https://wycd.net/posts/2017-04-09-rpcs-for-moving-computation.html https://wycd.net/posts/2017-04-09-rpcs-for-moving-computatio...
- dons 9y agoLumping state with some functions that implicitly have R/W access to that state is not possible in Haskell s/not possible/possible, but highly discouraged/