{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"Monads in Haskell: Fonksiyonel Programlaman\u0131n G\u00fcc\u00fcn\u00fc Ke\u015ffedin","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"dRZhiaaKCj\"><a href=\"https:\/\/fatihsoysal.com\/blog\/monads-in-haskell-fonksiyonel-programlamanin-gucunu-kesfedin\/\">Monads in Haskell: Fonksiyonel Programlaman\u0131n G\u00fcc\u00fcn\u00fc Ke\u015ffedin<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/monads-in-haskell-fonksiyonel-programlamanin-gucunu-kesfedin\/embed\/#?secret=dRZhiaaKCj\" width=\"600\" height=\"338\" title=\"&#8220;Monads in Haskell: Fonksiyonel Programlaman\u0131n G\u00fcc\u00fcn\u00fc Ke\u015ffedin&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"dRZhiaaKCj\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Haskell'de Monad'lar, fonksiyonel programlama d\u00fcnyas\u0131nda yan etkileri y\u00f6netmenin, g\u00fcvenilir kod yazman\u0131n ve karma\u015f\u0131k i\u015f ak\u0131\u015flar\u0131n\u0131 zarif\u00e7e ele alman\u0131n temel ta\u015flar\u0131ndan biridir. Saf fonksiyonel dillerin kat\u0131 yap\u0131s\u0131 i\u00e7inde, girdi\/\u00e7\u0131kt\u0131 i\u015flemleri, hata y\u00f6netimi veya durum de\u011fi\u015fiklikleri gibi zorluklar\u0131 nas\u0131l a\u015faca\u011f\u0131n\u0131z\u0131 merak ediyorsan\u0131z, do\u011fru yerdesiniz. Bu teknik makalede, Monad kavram\u0131n\u0131 s\u0131f\u0131rdan ele alacak, temel prensiplerinden ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar ad\u0131m ad\u0131m ke\u015ffedecek ve Haskell projelerinizde fonksiyonel g\u00fcc\u00fc tam anlam\u0131yla nas\u0131l kullanabilece\u011finizi g\u00f6sterece\u011fiz."}