This is a great way to present the concepts. Something like this would have been useful some years back when I was trying to use the Haskell library for lens.
It is a fantastic explanation of the concept on its own, as a mathematical object, but I still struggle to understand its value as a practical primitive in programming.
Authenticity nitpick: during this period where Mondrian produced geometrical works, he was emerging from theosophy as a primary influence towards universal truths. A key part of this was never using green. It's my pet peeve when people cite Mondrian based on geometry and then use green.
Recently I went down the rabbit hole of recursive tree maps. Walk a file system directory and assign a weight (size) to each directory recursively. Then present a tree map of each level. Click on "Users" then "fred", then "clones" for example.
Looking at this and seeing "lens" and "prisms" is at once both familiar and extremely odd. These Mondrian shapes are just like my recursive tree maps. Familiar. But the concept of lens and prism is not at all how I thought of them as I was repeatedly generating them.
It was interesting to look at what I was doing from a more formal perspective. Thanks! Yet at the same time I wish I could understand a practical use for this. How would it make things any better in my visual representation to use these concepts?
Personally, I find the whole idea of presenting a visual representation of masses of data interesting. There was a challenge a while back about how to represent the entire catalog of ISBN for example:
Maybe it’s too early in the morning but - I don’t get it. Is the point of this artistic? Just for fun? Or is this useful somehow? What does visually representing types and values as ‘optics’ that can be sliced vertically and horizontally ‘do’ for us?
Optics are well-known in the real of functional programming for being hard to understand and manage. This is mostly due to complexities in implementation details. Try to take a look at https://hackage.haskell.org/package/lens to see what I mean.
The point of the article was to try to explain them in simple terms through a graphical notation, so that they become more accessible and manageable by more people.
9 comments
[ 3.6 ms ] story [ 25.7 ms ] threadThis is why I don't get invited to many places.
Looking at this and seeing "lens" and "prisms" is at once both familiar and extremely odd. These Mondrian shapes are just like my recursive tree maps. Familiar. But the concept of lens and prism is not at all how I thought of them as I was repeatedly generating them.
It was interesting to look at what I was doing from a more formal perspective. Thanks! Yet at the same time I wish I could understand a practical use for this. How would it make things any better in my visual representation to use these concepts?
Personally, I find the whole idea of presenting a visual representation of masses of data interesting. There was a challenge a while back about how to represent the entire catalog of ISBN for example:
https://news.ycombinator.com/item?id=43168838
The point of the article was to try to explain them in simple terms through a graphical notation, so that they become more accessible and manageable by more people.