On Monday, 22 April 2019, Barry DeZonia <<a href="mailto:bdezonia@gmail.com" target="_blank">bdezonia@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've played with Haskell on and off for a number of years. I have a question that isn't directly related to Haskell only but to functional programming. Sorry if this is off topic.<div><br></div><div>In Haskell, how would you represent a 5 dimensional data structure of numeric values? Imagine a dataset with axes x, y, z, channel, and time. Is there an easy way to represent this in the data that doesn't run into all kinds of memory limits? How would you map the data to a new state such that the new state had pixel (1000, 2000, 100, 1, 20) set to 53?</div></div></blockquote><div><br></div><div>Maybe a lens [1]</div><div><br></div><div>[1] <a href="http://hackage.haskell.org/package/lens-tutorial-1.0.3/docs/Control-Lens-Tutorial.html" target="_blank">http://hackage.haskell.<wbr>org/package/lens-tutorial-1.0.<wbr>3/docs/Control-Lens-Tutorial.h<wbr>tml</a></div><div><br></div><div><br></div><div><br></div>