Haskell for Imperative Programmers 1 Basics











>> YOUR LINK HERE: ___ http://youtube.com/watch?v=Vgu82wiiZ90

In this course we explore functional programming with Haskell.","styleRuns":[{"startIndex":0,"length":62,"styleRunExtensions":{"styleRunColorMapExtension":{"colorMap":[{"key":"USER_INTERFACE_THEME_DARK","value":4294967295},{"key":"USER_INTERFACE_THEME_LIGHT","value":4279440147}]}},"fontFamilyName":"Roboto"}]},"headerRuns":[{"startIndex":0,"length":62,"headerMapping":"ATTRIBUTED_STRING_HEADER_MAPPING_UNSPECIFIED"}]}},{"itemSectionRenderer":{"contents":[{"continuationItemRenderer":{"trigger":"CONTINUATION_TRIGGER_ON_ITEM_SHOWN","continuationEndpoint":{"clickTrackingParams":"COwBELsvGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/next"}},"continuationCommand":{"token":"Eg0SC1ZndTgyd2lpWjkwGAYyJSIRIgtWZ3U4MndpaVo5MDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D","request":"CONTINUATION_REQUEST_TYPE_WATCH_NEXT"}}}}],"trackingParams":"COwBELsvGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","sectionIdentifier":"comment-item-section","targetId":"comments-section"}}],"trackingParams":"COsBELovIhMImNKjtO_RiwMVfll6BR0zQDua"}},"secondaryResults":{"secondaryResults":{"results":[{"compactVideoRenderer":{"videoId":"pitjnqRKyyI","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/pitjnqRKyyI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLBqY9S29aLj_uUTp7ns1KaC4o6C9A","width":168,"height":94},{"url":"https://i.ytimg.com/vi/pitjnqRKyyI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDfwfbpKfMBRLlOHCv0cuvgJ5cGOA","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Haskell for Imperative Programmers #2 - Functions, Types, let where by Philipp Hagenlocher 142,686 views 5 years ago 5 minutes, 59 seconds"}},"simpleText":"Haskell for Imperative Programmers #2 - Functions, Types, let where"},"longBylineText":{"runs":[{"text":"Philipp Hagenlocher","navigationEndpoint":{"clickTrackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@philipphagenlocher","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC3xdLFFsqG701QAyGJIPT1g","canonicalBaseUrl":"/@philipphagenlocher"}}}]},"publishedTimeText":{"simpleText":"5 years ago"},"viewCountText":{"simpleText":"142,686 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"5 minutes, 59 seconds"}},"simpleText":"5:59"},"navigationEndpoint":{"clickTrackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWRI3c-JxbCb74VWmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=pitjnqRKyyI","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"pitjnqRKyyI","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-uxaxiv0nxx5q-nv4l.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=a62b639ea44acb22 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=781250 mt=1740041098 oweuc= pxtags=Cg4KAnR4Egg1MTM4ODU0NQ rxtags=Cg4KAnR4Egg1MTM4ODU0Mg%2CCg4KAnR4Egg1MTM4ODU0Mw%2CCg4KAnR4Egg1MTM4ODU0NA%2CCg4KAnR4Egg1MTM4ODU0NQ"}}}}},"shortBylineText":{"runs":[{"text":"Philipp Hagenlocher","navigationEndpoint":{"clickTrackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@philipphagenlocher","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC3xdLFFsqG701QAyGJIPT1g","canonicalBaseUrl":"/@philipphagenlocher"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_kRJMViKvD71hiisGBUB9pBXElEAg37c5xLRi80CG9U8A=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5pAoparourz2JWmAQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"142K views"}},"simpleText":"142K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"COkBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"COkBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"pitjnqRKyyI","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"COkBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["pitjnqRKyyI"],"params":"CAQ%3D"}},"videoIds":["pitjnqRKyyI"]}},{"clickTrackingParams":"COkBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"COoBELlqIhMImNKjtO_RiwMVfll6BR0zQDua"}},"popupType":"TOAST"}}]}},"trackingParams":"COkBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"COgBENGqBRgGIhMImNKjtO_RiwMVfll6BR0zQDua","offlineVideoEndpoint":{"videoId":"pitjnqRKyyI","onAddCommand":{"clickTrackingParams":"COgBENGqBRgGIhMImNKjtO_RiwMVfll6BR0zQDua","getDownloadActionCommand":{"videoId":"pitjnqRKyyI","params":"CAIQAA%3D%3D"}}}},"trackingParams":"COgBENGqBRgGIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5o=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtwaXRqbnFSS3l5SQ%3D%3D","commands":[{"clickTrackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5o=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"COcBEI5iIhMImNKjtO_RiwMVfll6BR0zQDua","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5o=","hasSeparator":true}}],"trackingParams":"COQBEKQwGAAiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibility":{"accessibilityData":{"label":"Action menu"}},"targetId":"watch-related-menu-button"}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"5 minutes, 59 seconds"}},"simpleText":"5:59"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"COYBEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"pitjnqRKyyI","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"COYBEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"pitjnqRKyyI"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"COYBEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"COUBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"COUBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"pitjnqRKyyI","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"COUBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["pitjnqRKyyI"],"params":"CAQ%3D"}},"videoIds":["pitjnqRKyyI"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"COUBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Haskell for Imperative Programmers #2 - Functions, Types, let where - 5 minutes, 59 seconds - Go to channel - Philipp Hagenlocher - 142K views - 5 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"93ihwerN93M","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/93ihwerN93M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLDGY6JRGQEhNHshr9mcnsju09Ap1A","width":168,"height":94},{"url":"https://i.ytimg.com/vi/93ihwerN93M/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLD3mwTtzi2ux_sgZ48KyJ4lnS9eRQ","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Haskell for Imperative Programmers #41 - Formal Verification (using Isabelle) by Philipp Hagenlocher 6,777 views 4 years ago 1 hour, 23 minutes"}},"simpleText":"Haskell for Imperative Programmers #41 - Formal Verification (using Isabelle)"},"longBylineText":{"runs":[{"text":"Philipp Hagenlocher","navigationEndpoint":{"clickTrackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@philipphagenlocher","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC3xdLFFsqG701QAyGJIPT1g","canonicalBaseUrl":"/@philipphagenlocher"}}}]},"publishedTimeText":{"simpleText":"4 years ago"},"viewCountText":{"simpleText":"6,777 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 hour, 23 minutes, 13 seconds"}},"simpleText":"1:23:13"},"navigationEndpoint":{"clickTrackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWRI3c-JxbCb74VWmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=93ihwerN93M","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"93ihwerN93M","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr2---sn-uxaxiv0nxx5q-nv4l.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=f778a1c1eacdf773 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=781250 mt=1740041098 oweuc= pxtags=Cg4KAnR4Egg1MTM4ODU0NQ rxtags=Cg4KAnR4Egg1MTM4ODU0Mg%2CCg4KAnR4Egg1MTM4ODU0Mw%2CCg4KAnR4Egg1MTM4ODU0NA%2CCg4KAnR4Egg1MTM4ODU0NQ"}}}}},"shortBylineText":{"runs":[{"text":"Philipp Hagenlocher","navigationEndpoint":{"clickTrackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@philipphagenlocher","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC3xdLFFsqG701QAyGJIPT1g","canonicalBaseUrl":"/@philipphagenlocher"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_kRJMViKvD71hiisGBUB9pBXElEAg37c5xLRi80CG9U8A=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5pA8-631p64qLz3AQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"6.7K views"}},"simpleText":"6.7K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"COIBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"COIBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"93ihwerN93M","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"COIBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["93ihwerN93M"],"params":"CAQ%3D"}},"videoIds":["93ihwerN93M"]}},{"clickTrackingParams":"COIBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"COMBELlqIhMImNKjtO_RiwMVfll6BR0zQDua"}},"popupType":"TOAST"}}]}},"trackingParams":"COIBEP6YBBgFIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"COEBENGqBRgGIhMImNKjtO_RiwMVfll6BR0zQDua","offlineVideoEndpoint":{"videoId":"93ihwerN93M","onAddCommand":{"clickTrackingParams":"COEBENGqBRgGIhMImNKjtO_RiwMVfll6BR0zQDua","getDownloadActionCommand":{"videoId":"93ihwerN93M","params":"CAIQAA%3D%3D"}}}},"trackingParams":"COEBENGqBRgGIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5o=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"Cgs5M2lod2VyTjkzTQ%3D%3D","commands":[{"clickTrackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5o=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"COABEI5iIhMImNKjtO_RiwMVfll6BR0zQDua","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5o=","hasSeparator":true}}],"trackingParams":"CN0BEKQwGAEiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 hour, 23 minutes, 13 seconds"}},"simpleText":"1:23:13"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CN8BEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"93ihwerN93M","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CN8BEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"93ihwerN93M"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CN8BEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CN4BEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CN4BEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"93ihwerN93M","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CN4BEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["93ihwerN93M"],"params":"CAQ%3D"}},"videoIds":["93ihwerN93M"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CN4BEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Haskell for Imperative Programmers #41 - Formal Verification (using Isabelle) - 1 hour, 23 minutes - Go to channel - Philipp Hagenlocher - 6.7K views - 4 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"02_H3LjqMr8","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/02_H3LjqMr8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLDJmMXFulDoptB_3maoXW-_FgXj5A","width":168,"height":94},{"url":"https://i.ytimg.com/vi/02_H3LjqMr8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLBOwZRviuf84eWQV_QmUeVLvovfHQ","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Haskell Tutorial by Derek Banas 902,670 views 9 years ago 1 hour, 16 minutes"}},"simpleText":"Haskell Tutorial"},"longBylineText":{"runs":[{"text":"Derek Banas","navigationEndpoint":{"clickTrackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@derekbanas","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCwRXb5dUK4cvsHbx-rGzSgw","canonicalBaseUrl":"/@derekbanas"}}}]},"publishedTimeText":{"simpleText":"9 years ago"},"viewCountText":{"simpleText":"902,670 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 hour, 16 minutes, 47 seconds"}},"simpleText":"1:16:47"},"navigationEndpoint":{"clickTrackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWRI3c-JxbCb74VWmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=02_H3LjqMr8","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"02_H3LjqMr8","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr2---sn-uxaxiv0nxx5q-nv4l.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=d36fc7dcb8ea32bf ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=781250 mt=1740041098 oweuc= pxtags=Cg4KAnR4Egg1MTM4ODU0NQ rxtags=Cg4KAnR4Egg1MTM4ODU0Mg%2CCg4KAnR4Egg1MTM4ODU0Mw%2CCg4KAnR4Egg1MTM4ODU0NA%2CCg4KAnR4Egg1MTM4ODU0NQ"}}}}},"shortBylineText":{"runs":[{"text":"Derek Banas","navigationEndpoint":{"clickTrackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@derekbanas","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCwRXb5dUK4cvsHbx-rGzSgw","canonicalBaseUrl":"/@derekbanas"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_naavCy-rkR4iU851a1vMh7LrBa_Hbxf3qpnRiMqK9IEZc=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"ownerBadges":[{"metadataBadgeRenderer":{"icon":{"iconType":"CHECK_CIRCLE_THICK"},"style":"BADGE_STYLE_TYPE_VERIFIED","tooltip":"Verified","trackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibilityData":{"label":"Verified"}}}],"trackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5pAv-Wox8v78bfTAQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"902K views"}},"simpleText":"902K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CNsBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNsBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"02_H3LjqMr8","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNsBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["02_H3LjqMr8"],"params":"CAQ%3D"}},"videoIds":["02_H3LjqMr8"]}},{"clickTrackingParams":"CNsBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CNwBELlqIhMImNKjtO_RiwMVfll6BR0zQDua"}},"popupType":"TOAST"}}]}},"trackingParams":"CNsBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"CNoBENGqBRgIIhMImNKjtO_RiwMVfll6BR0zQDua","offlineVideoEndpoint":{"videoId":"02_H3LjqMr8","onAddCommand":{"clickTrackingParams":"CNoBENGqBRgIIhMImNKjtO_RiwMVfll6BR0zQDua","getDownloadActionCommand":{"videoId":"02_H3LjqMr8","params":"CAIQAA%3D%3D"}}}},"trackingParams":"CNoBENGqBRgIIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgswMl9IM0xqcU1yOA%3D%3D","commands":[{"clickTrackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CNkBEI5iIhMImNKjtO_RiwMVfll6BR0zQDua","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","hasSeparator":true}}],"trackingParams":"CNYBEKQwGAIiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 hour, 16 minutes, 47 seconds"}},"simpleText":"1:16:47"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNgBEPnnAxgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"02_H3LjqMr8","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CNgBEPnnAxgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"02_H3LjqMr8"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNgBEPnnAxgCIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNcBEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNcBEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"02_H3LjqMr8","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNcBEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["02_H3LjqMr8"],"params":"CAQ%3D"}},"videoIds":["02_H3LjqMr8"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNcBEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Haskell Tutorial - 1 hour, 16 minutes - Go to channel - Derek Banas - 902K views - 9 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/02_H3LjqMr8/mqdefault_6s.webp?du=3000 sqp=CPfT270G rs=AOn4CLDaGB69TGzlBCaiQ0UsCklzZze1jw","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"SqcY0GlETPk","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/SqcY0GlETPk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLBc4vbrLHXJ-1VzPvMrGfofoPKn6w","width":168,"height":94},{"url":"https://i.ytimg.com/vi/SqcY0GlETPk/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLDUgA8KDm8iR8b275G0319wL0LCCA","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"React Tutorial for Beginners by Programming with Mosh 4,031,243 views 1 year ago 1 hour, 20 minutes"}},"simpleText":"React Tutorial for Beginners"},"longBylineText":{"runs":[{"text":"Programming with Mosh","navigationEndpoint":{"clickTrackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@programmingwithmosh","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCWv7vMbMWH4-V0ZXdmDpPBA","canonicalBaseUrl":"/@programmingwithmosh"}}}]},"publishedTimeText":{"simpleText":"1 year ago"},"viewCountText":{"simpleText":"4,031,243 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"1 hour, 20 minutes, 4 seconds"}},"simpleText":"1:20:04"},"navigationEndpoint":{"clickTrackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWRI3c-JxbCb74VWmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=SqcY0GlETPk","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"SqcY0GlETPk","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr1---sn-nvm-cxbz.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=4aa718d069444cf9 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=1027500 mt=1740041098 oweuc= pxtags=Cg4KAnR4Egg1MTM4ODU0NQ rxtags=Cg4KAnR4Egg1MTM4ODU0Mg%2CCg4KAnR4Egg1MTM4ODU0Mw%2CCg4KAnR4Egg1MTM4ODU0NA%2CCg4KAnR4Egg1MTM4ODU0NQ"}}}}},"shortBylineText":{"runs":[{"text":"Programming with Mosh","navigationEndpoint":{"clickTrackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@programmingwithmosh","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UCWv7vMbMWH4-V0ZXdmDpPBA","canonicalBaseUrl":"/@programmingwithmosh"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/HCv0fXFEEcD0HRyF0_qR1K7b7qO3KCzmIoyH1DEJYB94CIUFhIE5i2t2IDIPX97W1-DK4hegww=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"ownerBadges":[{"metadataBadgeRenderer":{"icon":{"iconType":"CHECK_CIRCLE_THICK"},"style":"BADGE_STYLE_TYPE_VERIFIED","tooltip":"Verified","trackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibilityData":{"label":"Verified"}}}],"trackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5pA-ZmRyoaaxtNK","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"4 million views"}},"simpleText":"4M views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CNQBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNQBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"SqcY0GlETPk","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNQBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["SqcY0GlETPk"],"params":"CAQ%3D"}},"videoIds":["SqcY0GlETPk"]}},{"clickTrackingParams":"CNQBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CNUBELlqIhMImNKjtO_RiwMVfll6BR0zQDua"}},"popupType":"TOAST"}}]}},"trackingParams":"CNQBEP6YBBgHIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"CNMBENGqBRgIIhMImNKjtO_RiwMVfll6BR0zQDua","offlineVideoEndpoint":{"videoId":"SqcY0GlETPk","onAddCommand":{"clickTrackingParams":"CNMBENGqBRgIIhMImNKjtO_RiwMVfll6BR0zQDua","getDownloadActionCommand":{"videoId":"SqcY0GlETPk","params":"CAIQAA%3D%3D"}}}},"trackingParams":"CNMBENGqBRgIIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5o=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgtTcWNZMEdsRVRQaw%3D%3D","commands":[{"clickTrackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5o=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CNIBEI5iIhMImNKjtO_RiwMVfll6BR0zQDua","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5o=","hasSeparator":true}}],"trackingParams":"CM8BEKQwGAMiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"1 hour, 20 minutes, 4 seconds"}},"simpleText":"1:20:04"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNEBEPnnAxgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"SqcY0GlETPk","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CNEBEPnnAxgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"SqcY0GlETPk"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNEBEPnnAxgCIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CNABEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CNABEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"SqcY0GlETPk","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CNABEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["SqcY0GlETPk"],"params":"CAQ%3D"}},"videoIds":["SqcY0GlETPk"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CNABEMfsBBgDIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"React Tutorial for Beginners - 1 hour, 20 minutes - Go to channel - Programming with Mosh - 4M views - 1 year ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/SqcY0GlETPk/mqdefault_6s.webp?du=3000 sqp=COrM270G rs=AOn4CLBcO4c1TyRKJUXZkooM-793Sqaquw","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"compactVideoRenderer":{"videoId":"-DHEmrKhjCM","thumbnail":{"thumbnails":[{"url":"https://i.ytimg.com/vi/-DHEmrKhjCM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG rs=AOn4CLAlmrSny4B3taKGlAe9KYsrWZ2Y7w","width":168,"height":94},{"url":"https://i.ytimg.com/vi/-DHEmrKhjCM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg== rs=AOn4CLBhsN_tsbN5d3zZfjzEXDWl0TAsVA","width":336,"height":188}]},"title":{"accessibility":{"accessibilityData":{"label":"Haskell for Imperative Programmers #43 - Cabal by Philipp Hagenlocher 10,794 views 3 years ago 36 minutes"}},"simpleText":"Haskell for Imperative Programmers #43 - Cabal"},"longBylineText":{"runs":[{"text":"Philipp Hagenlocher","navigationEndpoint":{"clickTrackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@philipphagenlocher","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC3xdLFFsqG701QAyGJIPT1g","canonicalBaseUrl":"/@philipphagenlocher"}}}]},"publishedTimeText":{"simpleText":"3 years ago"},"viewCountText":{"simpleText":"10,794 views"},"lengthText":{"accessibility":{"accessibilityData":{"label":"36 minutes, 52 seconds"}},"simpleText":"36:52"},"navigationEndpoint":{"clickTrackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWRI3c-JxbCb74VWmgEFCAEQ-B0=","commandMetadata":{"webCommandMetadata":{"url":"/watch?v=-DHEmrKhjCM","webPageType":"WEB_PAGE_TYPE_WATCH","rootVe":3832}},"watchEndpoint":{"videoId":"-DHEmrKhjCM","nofollow":true,"watchEndpointSupportedOnesieConfig":{"html5PlaybackOnesieConfig":{"commonConfig":{"url":"https://rr4---sn-uxaxiv0nxx5q-nv4l.googlevideo.com/initplayback?source=youtube oeis=1 c=WEB oad=3200 ovd=3200 oaad=11000 oavd=11000 ocs=700 oewis=1 oputc=1 ofpcc=1 msp=1 odepv=1 id=f831c49ab2a18c23 ip=2a02%3A27aa%3A0%3A0%3A0%3A0%3A0%3Ad49 initcwndbps=781250 mt=1740041098 oweuc= pxtags=Cg4KAnR4Egg1MTM4ODU0NQ rxtags=Cg4KAnR4Egg1MTM4ODU0Mg%2CCg4KAnR4Egg1MTM4ODU0Mw%2CCg4KAnR4Egg1MTM4ODU0NA%2CCg4KAnR4Egg1MTM4ODU0NQ"}}}}},"shortBylineText":{"runs":[{"text":"Philipp Hagenlocher","navigationEndpoint":{"clickTrackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5oyB3JlbGF0ZWQ=","commandMetadata":{"webCommandMetadata":{"url":"/@philipphagenlocher","webPageType":"WEB_PAGE_TYPE_CHANNEL","rootVe":3611,"apiUrl":"/youtubei/v1/browse"}},"browseEndpoint":{"browseId":"UC3xdLFFsqG701QAyGJIPT1g","canonicalBaseUrl":"/@philipphagenlocher"}}}]},"channelThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/ytc/AIdro_kRJMViKvD71hiisGBUB9pBXElEAg37c5xLRi80CG9U8A=s68-c-k-c0x00ffffff-no-rj","width":68,"height":68}]},"trackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5pAo5iGlauT8Zj4AQ==","shortViewCountText":{"accessibility":{"accessibilityData":{"label":"10K views"}},"simpleText":"10K views"},"menu":{"menuRenderer":{"items":[{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Add to queue"}]},"icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"serviceEndpoint":{"clickTrackingParams":"CM0BEP6YBBgGIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CM0BEP6YBBgGIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"-DHEmrKhjCM","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CM0BEP6YBBgGIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["-DHEmrKhjCM"],"params":"CAQ%3D"}},"videoIds":["-DHEmrKhjCM"]}},{"clickTrackingParams":"CM0BEP6YBBgGIhMImNKjtO_RiwMVfll6BR0zQDua","openPopupAction":{"popup":{"notificationActionRenderer":{"responseText":{"simpleText":"Added to queue"},"trackingParams":"CM4BELlqIhMImNKjtO_RiwMVfll6BR0zQDua"}},"popupType":"TOAST"}}]}},"trackingParams":"CM0BEP6YBBgGIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemDownloadRenderer":{"serviceEndpoint":{"clickTrackingParams":"CMwBENGqBRgHIhMImNKjtO_RiwMVfll6BR0zQDua","offlineVideoEndpoint":{"videoId":"-DHEmrKhjCM","onAddCommand":{"clickTrackingParams":"CMwBENGqBRgHIhMImNKjtO_RiwMVfll6BR0zQDua","getDownloadActionCommand":{"videoId":"-DHEmrKhjCM","params":"CAIQAA%3D%3D"}}}},"trackingParams":"CMwBENGqBRgHIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"menuServiceItemRenderer":{"text":{"runs":[{"text":"Share"}]},"icon":{"iconType":"SHARE"},"serviceEndpoint":{"clickTrackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5o=","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/share/get_share_panel"}},"shareEntityServiceEndpoint":{"serializedShareEntity":"CgstREhFbXJLaGpDTQ%3D%3D","commands":[{"clickTrackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5o=","openPopupAction":{"popup":{"unifiedSharePanelRenderer":{"trackingParams":"CMsBEI5iIhMImNKjtO_RiwMVfll6BR0zQDua","showLoadingSpinner":true}},"popupType":"DIALOG","beReused":true}}]}},"trackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5o=","hasSeparator":true}}],"trackingParams":"CMgBEKQwGAQiEwiY0qO079GLAxV-WXoFHTNAO5o=","accessibility":{"accessibilityData":{"label":"Action menu"}}}},"thumbnailOverlays":[{"thumbnailOverlayTimeStatusRenderer":{"text":{"accessibility":{"accessibilityData":{"label":"36 minutes, 52 seconds"}},"simpleText":"36:52"},"style":"DEFAULT"}},{"thumbnailOverlayToggleButtonRenderer":{"isToggled":false,"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"untoggledTooltip":"Watch later","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CMoBEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"-DHEmrKhjCM","action":"ACTION_ADD_VIDEO"}]}},"toggledServiceEndpoint":{"clickTrackingParams":"CMoBEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID","removedVideoId":"-DHEmrKhjCM"}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CMoBEPnnAxgBIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"untoggledTooltip":"Add to queue","toggledTooltip":"Added","untoggledServiceEndpoint":{"clickTrackingParams":"CMkBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true}},"signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"clickTrackingParams":"CMkBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","addToPlaylistCommand":{"openMiniplayer":false,"openListPanel":true,"videoId":"-DHEmrKhjCM","listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","onCreateListCommand":{"clickTrackingParams":"CMkBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua","commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create"}},"createPlaylistServiceEndpoint":{"videoIds":["-DHEmrKhjCM"],"params":"CAQ%3D"}},"videoIds":["-DHEmrKhjCM"]}}]}},"untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"toggledAccessibility":{"accessibilityData":{"label":"Added"}},"trackingParams":"CMkBEMfsBBgCIhMImNKjtO_RiwMVfll6BR0zQDua"}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"accessibility":{"accessibilityData":{"label":"Haskell for Imperative Programmers #43 - Cabal - 36 minutes - Go to channel - Philipp Hagenlocher - 10K views - 3 years ago - play video"}},"richThumbnail":{"movingThumbnailRenderer":{"movingThumbnailDetails":{"thumbnails":[{"url":"https://i.ytimg.com/an_webp/-DHEmrKhjCM/mqdefault_6s.webp?du=3000 sqp=CNe8270G rs=AOn4CLDDpLGMlqMDSRpHJmPA1GGVnNj3mg","width":320,"height":180}],"logAsMovingThumbnail":true},"enableHoveredLogging":true,"enableOverlay":true}}}},{"lockupViewModel":{"contentImage":{"collectionThumbnailViewModel":{"primaryThumbnail":{"thumbnailViewModel":{"image":{"sources":[{"url":"https://i.ytimg.com/vi/Vgu82wiiZ90/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ== rs=AOn4CLAPdrFCpM6qJlrgynOF4mqgzmhAdg","width":168,"height":94},{"url":"https://i.ytimg.com/vi/Vgu82wiiZ90/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE= rs=AOn4CLCaPdIC1VJZMa7eVL_UPbscmC16kA","width":336,"height":188}]},"overlays":[{"thumbnailOverlayBadgeViewModel":{"thumbnailBadges":[{"thumbnailBadgeViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAYLISTS"}}]},"text":"43 videos","badgeStyle":"THUMBNAIL_OVERLAY_BADGE_STYLE_DEFAULT","backgroundColor":{"lightTheme":3355443,"darkTheme":3355443}}}],"position":"THUMBNAIL_OVERLAY_BADGE_POSITION_BOTTOM_END"}},{"thumbnailHoverOverlayViewModel":{"icon":{"sources":[{"clientResource":{"imageName":"PLAY_ALL"}}]},"text":{"content":"Play all","styleRuns":[{"startIndex":0,"length":8}]},"style":"THUMBNAIL_HOVER_OVERLAY_STYLE_COVER"}}],"backgroundColor":{"lightTheme":3750201,"darkTheme":3750201}}},"stackColor":{"lightTheme":10066329,"darkTheme":9211020}}},"metadata":{"lockupMetadataViewModel":{"title":{"content":"Haskell for Imperative Programmers"},"metadata":{"contentMetadataViewModel":{"metadataRows":[{"metadataParts":[{"text":{"content":"Philipp Hagenlocher

#############################









New on site
Content Report
Youtor.org / YTube video Downloader © 2025

created by www.youtor.org