Java thing:
Write a blog post about something as weird as a mutable list of immutable entities (like List[=>X], in scalaspeak).
So, you think you have a list (get it from the depths of a database); you walk over its elements and set something inside (apply State monad inside List monad); so what? the list will return a new instance every time, because what it does is recalculate the instance. like in
If you think we should not change things, things are more complicated, think monad.
Write a blog post about something as weird as a mutable list of immutable entities (like List[=>X], in scalaspeak).
So, you think you have a list (get it from the depths of a database); you walk over its elements and set something inside (apply State monad inside List monad); so what? the list will return a new instance every time, because what it does is recalculate the instance. like in
List<Date> dateRange(Date from, Date to) { // imagine the code that just adds n days to from to get to }
If you think we should not change things, things are more complicated, think monad.