{"id":191011,"date":"2014-06-20T05:59:05","date_gmt":"2014-06-20T05:59:05","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/msr-research-item\/compositional-data-access-and-manipulation\/"},"modified":"2018-10-26T15:03:43","modified_gmt":"2018-10-26T22:03:43","slug":"compositional-data-access-and-manipulation","status":"publish","type":"msr-video","link":"https:\/\/www.microsoft.com\/en-us\/research\/video\/compositional-data-access-and-manipulation\/","title":{"rendered":"Compositional Data Access and Manipulation"},"content":{"rendered":"<div class=\"asset-content\">\n<div id=\"attachment_545967\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"https:\/\/skillsmatter.com\/skillscasts\/4251-lenses-compositional-data-access-and-manipulation\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-545967\" class=\"wp-image-545967 size-full\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2014\/06\/lenses-jones.jpg\" alt=\"Link to view video of talk by Simon Peyton Jones\" width=\"640\" height=\"360\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2014\/06\/lenses-jones.jpg 640w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2014\/06\/lenses-jones-300x169.jpg 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2014\/06\/lenses-jones-343x193.jpg 343w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><p id=\"caption-attachment-545967\" class=\"wp-caption-text\"><span class=\"sr-only\"> (opens in new tab)<\/span><\/a> <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/skillsmatter.com\/skillscasts\/4251-lenses-compositional-data-access-and-manipulation\" target=\"_blank\" rel=\"noopener noreferrer\">Click to view presentation<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> (registration required)<\/p><\/div>\n<p>Haskell lets you write beautiful, modular code. Rather than waffle generally, I\u2019ll use this talk to look at a particular example, Edward Kmett\u2019s lovely lens library. Lenses have been called \u201cjQuery for data types\u201d: they give you a way to poke around in the guts of some large aggregate structure. Lenses compose (so you can make big lenses by gluing together little ones), and they exploit type classes to allow a remarkable degree of flexibility (get, set, fold, traverse, etc). I won\u2019t assume that you already know Haskell; indeed one of my goals is to give you a sense of what Haskell is like without dragging you through a basic tutorial. So please come even if, perhaps especially if, you don\u2019t already know Haskell. Come prepared to read lots of code and ask lots of questions.<\/p>\n<\/div>\n<p><!-- .asset-content --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Haskell lets you write beautiful, modular code. Rather than waffle generally, I\u2019ll use this talk to look at a particular example, Edward Kmett\u2019s lovely lens library. Lenses have been called \u201cjQuery for data types\u201d: they give you a way to poke around in the guts of some large aggregate structure. Lenses compose (so you can [&hellip;]<\/p>\n","protected":false},"featured_media":545967,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr_hide_image_in_river":0,"footnotes":""},"research-area":[13563],"msr-video-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-session-type":[],"msr-impact-theme":[],"msr-pillar":[],"msr-episode":[],"msr-research-theme":[],"class_list":["post-191011","msr-video","type-msr-video","status-publish","has-post-thumbnail","hentry","msr-research-area-data-platform-analytics","msr-locale-en_us"],"msr_download_urls":"","msr_external_url":"https:\/\/skillsmatter.com\/skillscasts\/4251-lenses-compositional-data-access-and-manipulation","msr_secondary_video_url":"","msr_video_file":"","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/191011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-video"}],"version-history":[{"count":6,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/191011\/revisions"}],"predecessor-version":[{"id":545982,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/191011\/revisions\/545982"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/545967"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=191011"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=191011"},{"taxonomy":"msr-video-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video-type?post=191011"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=191011"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=191011"},{"taxonomy":"msr-session-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-session-type?post=191011"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=191011"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=191011"},{"taxonomy":"msr-episode","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-episode?post=191011"},{"taxonomy":"msr-research-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-theme?post=191011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}