It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 2.2K
- Programming with Categories Course 24
- Exercises - Programming with Categories Course 15
- Mini-Talks - Programming with Categories Course 3
- Applied Category Theory Course 341
- Applied Category Theory Seminar 4
- Exercises - Applied Category Theory Course 149
- Discussion Groups 50
- How to Use MathJax 15
- Chat 487
- Azimuth Code Project 108
- News and Information 147
- Azimuth Blog 149
- Azimuth Forum 29
- Azimuth Project 189
- - Strategy 108
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 711
- - Latest Changes 701
- - - Action 14
- - - Biodiversity 8
- - - Books 2
- - - Carbon 9
- - - Computational methods 38
- - - Climate 53
- - - Earth science 23
- - - Ecology 43
- - - Energy 29
- - - Experiments 30
- - - Geoengineering 0
- - - Mathematical methods 69
- - - Meta 9
- - - Methodology 16
- - - Natural resources 7
- - - Oceans 4
- - - Organizations 34
- - - People 6
- - - Publishing 4
- - - Reports 3
- - - Software 21
- - - Statistical methods 2
- - - Sustainability 4
- - - Things to do 2
- - - Visualisation 1
- General 41

Options

New paper by Mitchell Riley, putting optics - the technique popularised in Haskell for accessing and modifying state in a highly general way - on a sound categorical footing.

https://arxiv.org/abs/1809.00738

Despite being familiar with lens/optics usage in Haskell, I'm finding this paper very difficult, although this course has certainly helped. Profunctors feature heavily of course, as do end/coends, which I have so far found impenetrable.

## Comments

I glimpsed over the first page, and what I knew for years as

gettersandsetters- just functions which allow you to do additional stuff while modifying aproperty, here called alens, or in other words lens is a readable and writeable property. I wonder whether other stuff, like prisms, may bring something new to the table (don't know what are these though). Maybe someone who knows this better may explain in layman terms?`I glimpsed over the first page, and what I knew for years as **getters** and **setters** - just functions which allow you to do additional stuff while modifying a **property**, here called a **lens**, or in other words lens is a readable and writeable property. I wonder whether other stuff, like prisms, may bring something new to the table (don't know what are these though). Maybe someone who knows this better may explain in layman terms?`