{"id":9677,"date":"2020-09-15T08:45:36","date_gmt":"2020-09-15T08:45:36","guid":{"rendered":"https:\/\/www.experfy.com\/blog\/?p=9677"},"modified":"2023-11-07T06:46:04","modified_gmt":"2023-11-07T06:46:04","slug":"an-introduction-to-functional-programming-in-haskell","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/software-ux-ui\/an-introduction-to-functional-programming-in-haskell\/","title":{"rendered":"An Introduction to Functional Programming in Haskell"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"9677\" class=\"elementor elementor-9677\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6ef79e9c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6ef79e9c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1527e711\" data-id=\"1527e711\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9838926 elementor-widget elementor-widget-text-editor\" data-id=\"9838926\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p class=\"has-medium-font-size\">Haskell is a functional programming language that has been specially designed to handle symbolic computation and list processing applications<\/p>\n\n\n\n<p>This is a beginner&#8217;s tutorial to let them understand the fundamentals of Haskell.<\/p>\n\n\n<hr class=\"wp-block-separator\" \/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05f1005 elementor-widget elementor-widget-heading\" data-id=\"05f1005\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">What Is Haskell?<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d1c7fc elementor-widget elementor-widget-text-editor\" data-id=\"0d1c7fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Haskell is a widely used purely functional language.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Functional programs are more concurrent, and they follow parallelism in execution to provide more accurate and better performance. In typical programming languages, we instruct a compiler to do something and how to do it. \u2014\u00a0<a href=\"https:\/\/www.tutorialspoint.com\/haskell\/haskell_overview.htm\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.tutorialspoint.com\/haskell\/haskell_overview.htm<\/a><\/p>\n<\/blockquote>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bc64c1b elementor-widget elementor-widget-text-editor\" data-id=\"bc64c1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>That\u2019s not so in Haskell, where we ask what it is we do. Also, Haskell is a sluggish programming language, so the program doesn\u2019t execute code that it thinks is not necessary.<\/p>\n\n\n\n<p>A Haskell program is nothing more than a series of functions that execute.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-fa49bb6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fa49bb6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-01c092f\" data-id=\"01c092f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b8346b5 elementor-widget elementor-widget-text-editor\" data-id=\"b8346b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Haskell is a strictly typed language. By the term\u00a0<em>strictly typed language<\/em>, we mean the Haskell compiler is intelligent enough to figure out the type of the variable declared. Hence we need not explicitly mention the style of the variable used.\u2013\u00a0<a href=\"https:\/\/www.tutorialspoint.com\/haskell\/haskell_overview.htm\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.tutorialspoint.com\/haskell\/haskell_overview.htm<\/a><\/p>\n<\/blockquote>\n<p><\/p>\n<p><\/p>\n<hr class=\"wp-block-separator\" \/>\n<p><\/p>\n<p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-fa187f5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fa187f5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c74744d\" data-id=\"c74744d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-efb97b7 elementor-widget elementor-widget-heading\" data-id=\"efb97b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Getting Started<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-353c42d elementor-widget elementor-widget-text-editor\" data-id=\"353c42d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>To set up a Haskell environment on your Windows computer, go to their official website\u00a0<a href=\"https:\/\/www.haskell.org\/platform\/windows.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.haskell.org\/platform\/windows.html<\/a>\u00a0and download the installer.<\/p>\n\n\n\n<p>To set up a Haskell environment on your MAC system, go to their official website\u00a0<a href=\"https:\/\/www.haskell.org\/platform\/mac.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.haskell.org\/platform\/mac.html<\/a>\u00a0and download the Mac installer.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17d2e19 elementor-widget elementor-widget-text-editor\" data-id=\"17d2e19\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>For Linux, the installation process is as follows:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt-get install haskell-platform<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b90265 elementor-widget elementor-widget-heading\" data-id=\"0b90265\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Starting Haskell<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a217d05 elementor-widget elementor-widget-text-editor\" data-id=\"a217d05\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>It\u2019s effortless to start the Haskell programming language, and you enter the following command in the terminal:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ ghci<br \/>GHCi, version 7.6.3: <a href=\"http:\/\/www.haskell.org\/ghc\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/www.haskell.org\/ghc\/<\/a>  :? for help <br \/>Loading package ghc-prim ... linking ... done. <br \/>Loading package integer-gmp ... linking ... done. <br \/>Loading package base ... linking ... done.<br \/>Prelude&gt;<\/pre>\n\n\n\n<p>Now, you can enter your Haskell code, for example:<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19f6968 elementor-widget elementor-widget-heading\" data-id=\"19f6968\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example program<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3023e1 elementor-widget elementor-widget-text-editor\" data-id=\"b3023e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>It is a simple example to demonstrate the dynamism of Haskell. Take a look at the following code:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; main = putStrLn \"Hello Medium\"<\/pre>\n\n\n\n<p>Output:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Hello Medium<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-c488e6d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c488e6d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-995a3d8\" data-id=\"995a3d8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9b8460d elementor-widget elementor-widget-heading\" data-id=\"9b8460d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Basic Operations<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cec0b8a elementor-widget elementor-widget-text-editor\" data-id=\"cec0b8a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Haskell is intelligent enough to decode some number as a number. Therefore, you need not mention its type externally as we usually do in other programming languages.<\/p>\n\n\n\n<p>An example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; 4*4<\/pre>\n\n\n\n<p>You will receive the output:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; 16<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-69b7047 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"69b7047\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e81c441\" data-id=\"e81c441\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-05d06c2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"05d06c2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-edb2fa0\" data-id=\"edb2fa0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a63f1e6 elementor-widget elementor-widget-heading\" data-id=\"a63f1e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Characters<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-4fca6db elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4fca6db\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c7ba7cd\" data-id=\"c7ba7cd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2e952f9 elementor-widget elementor-widget-text-editor\" data-id=\"2e952f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Like numbers, Haskell can intelligently identify a character given as an input to it.<\/p>\n\n\n\n<p>To display the type of a variable, you can enter the following line of code:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; :t \"a\"<\/pre>\n\n\n\n<p>This will display:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"a\" :: [Char]<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d63dbc elementor-widget elementor-widget-heading\" data-id=\"9d63dbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Strings<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eac0e1d elementor-widget elementor-widget-text-editor\" data-id=\"eac0e1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>A string is nothing but a collection of characters. We can create the following string:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; \"Hello Medium\"<\/pre>\n\n\n\n<p>It will display:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"Hello Medium\"<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-401da3f elementor-widget elementor-widget-text-editor\" data-id=\"401da3f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>If want to know the type of this string, we can use\u00a0<code>:t<\/code>\u00a0again:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; :t \"Hello Medium\"<\/pre>\n\n\n\n<p>The output will be:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"Hello Medium\" :: [Char]<\/pre>\n\n\n\n<p>As I already said, a string is just a collection of characters, so this will be returned as a\u00a0<code>Char<\/code>\u00a0data type.<\/p>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36901d3 elementor-widget elementor-widget-heading\" data-id=\"36901d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Booleans<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c38e2ce elementor-widget elementor-widget-text-editor\" data-id=\"c38e2ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>The boolean data type is pretty much as straightforward as other data types. In the example below, you see some booleans.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; True &amp;&amp; True<\/pre>\n\n\n\n<p>Or<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; True &amp;&amp; False<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f91ec0b elementor-widget elementor-widget-heading\" data-id=\"f91ec0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Lists<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c21817c elementor-widget elementor-widget-text-editor\" data-id=\"c21817c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Like other data types,\u00a0<code>List<\/code>\u00a0is also a beneficial data type used in Haskell. As per example, [a,b,c] is a list of characters. Hence, by definition,\u00a0<code>List<\/code>\u00a0is a collection of items of the same data type, separated by a comma.<\/p>\n\n\n\n<p>Let\u2019s create a list:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; x = [1,2,3,4,5]<\/pre>\n\n\n\n<p>Outputs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[1,2,3,4,5]<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e62aab3 elementor-widget elementor-widget-heading\" data-id=\"e62aab3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Length<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dac019f elementor-widget elementor-widget-text-editor\" data-id=\"dac019f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Lists also have a couple of methods. Given list x, you can use the following method to get the length:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; length x<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-462172f elementor-widget elementor-widget-heading\" data-id=\"462172f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reverse<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-81a5f83 elementor-widget elementor-widget-text-editor\" data-id=\"81a5f83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Or to reverse a list, you can use:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; reverse x<\/pre>\n\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e0435e4 elementor-widget elementor-widget-heading\" data-id=\"e0435e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Add<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1613e56 elementor-widget elementor-widget-text-editor\" data-id=\"1613e56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>To add an element to a list, you use the\u00a0<code>++<\/code>\u00a0operator;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; x ++ y<\/pre>\n\n\n\n<p>The code above combines list x with list y.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-766fe37 elementor-widget elementor-widget-heading\" data-id=\"766fe37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Delete<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6673a40 elementor-widget elementor-widget-text-editor\" data-id=\"6673a40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>To delete one single element from a list, you use\u00a0<code>drop<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt;`drop n xs<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e87927 elementor-widget elementor-widget-heading\" data-id=\"2e87927\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Tuple<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed52af4 elementor-widget elementor-widget-text-editor\" data-id=\"ed52af4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Haskell provides another way to declare multiple values in a single data type. It is known as a\u00a0<em>tuple<\/em>. A tuple can be considered as a list. However, there are some technical differences between a tuple and a tist.<\/p>\n\n\n\n<p>A tuple has a fixed amount of elements inside it. Tuples are immutable. A Tuple is created as follows:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; (8,16,'b')<\/pre>\n\n\n\n<p>Outputs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">(8,16,'b')<\/pre>\n\n\n\n<p>This tuple contains three elements, two numbers, and a character.<\/p>\n\n\n\n<p>Like lists, tuples contain methods with them to determine things like the first or last element in the tuple.<\/p>\n\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9b6210b elementor-widget elementor-widget-heading\" data-id=\"9b6210b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">First element<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-06cb86e elementor-widget elementor-widget-text-editor\" data-id=\"06cb86e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>To retrieve the first element of a tuple, use the following method:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; fst (16, 8)<\/pre>\n\n\n\n<p>This will output:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">16<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cdeab6d elementor-widget elementor-widget-heading\" data-id=\"cdeab6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Head and tail<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88758f3 elementor-widget elementor-widget-text-editor\" data-id=\"88758f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>When using the\u00a0<code>head<\/code>\u00a0method, you also retrieve the first element of a tuple:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; head (16, 8, 24, 32)<\/pre>\n\n\n\n<p>Output:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">16<\/pre>\n\n\n\n<p>But when using the\u00a0<code>tail<\/code>\u00a0method, you don\u2019t just take the last or second element of a tuple but all the elements except the first one:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Prelude&gt; tail(16, 8, 24, 32)<\/pre>\n\n\n\n<p>Outputs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[8, 24, 32]<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3c7c3e elementor-widget elementor-widget-heading\" data-id=\"d3c7c3e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Conditional Statements<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-bb790bc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bb790bc\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-00592e8\" data-id=\"00592e8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ec1b292 elementor-widget elementor-widget-text-editor\" data-id=\"ec1b292\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Conditional statements are a feature that allows programmers to apply a condition in the code flow. The programmer can execute a set of instructions depending on a predefined condition.<\/p>\n\n\n\n<p>Haskell has the following conditional statements:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If-else statement<\/li>\n<li>Nested if-else statement<\/li>\n<\/ul>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-954bd2d elementor-widget elementor-widget-heading\" data-id=\"954bd2d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">If-else statement<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e64cea elementor-widget elementor-widget-text-editor\" data-id=\"2e64cea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>The syntax for\u00a0<code>if<\/code>\u00a0expressions is:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">if &lt;condition&gt; then &lt;true-value&gt; else &lt;false-value&gt;<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f4f8b2 elementor-widget elementor-widget-heading\" data-id=\"2f4f8b2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Functions<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ace4b15 elementor-widget elementor-widget-text-editor\" data-id=\"ace4b15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Functions play a significant role in Haskell, as it is a functional programming language. Like other languages, Haskell does have its functional definition and declaration.<\/p>\n\n\n\n<p>Let\u2019s take a small example of an\u00a0<code>add<\/code>\u00a0function to understand this concept in detail.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">add :: Integer -&gt; Integer -&gt; Integer   --function declaration <br \/>add x y =  x + y                       --function definitionmain = do <br \/>   putStrLn \"The addition of the two numbers is:\"  <br \/>   print(add 2 5)    --calling a function<\/pre>\n\n\n\n<p>Output:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">The addition of the two numbers is:<br \/>7<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-afdc305 elementor-widget elementor-widget-heading\" data-id=\"afdc305\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pattern matching<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f29d41 elementor-widget elementor-widget-text-editor\" data-id=\"0f29d41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Pattern matching is the process of matching a specific type of expression. It is nothing but a technique to simplify your code.<\/p>\n\n\n\n<p>Take a look at the following code block.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">fact :: Int -&gt; Int <br \/>fact 0 = 1 <br \/>fact n = n * fact ( n - 1 ) main = do <br \/>   putStrLn \"The factorial of 4 is:\" <br \/>   print (fact 4)<\/pre>\n\n\n\n<p>Here we have used the technique of pattern matching to calculate the factorial of a number.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7afb1fb elementor-widget elementor-widget-heading\" data-id=\"7afb1fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Guards<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-cccfbb7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cccfbb7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-182047f\" data-id=\"182047f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-73c8e18 elementor-widget elementor-widget-text-editor\" data-id=\"73c8e18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>The concept of\u00a0<em>guards<\/em>\u00a0is very similar to pattern matching, but we use guards to test some property of an expression. In the following code, we have modified our factorial program by using the concept of guards:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">fact :: Integer -&gt; Integer <br \/>fact n | n == 0 = 1 <br \/>       | n \/= 0 = n * fact (n-1) <br \/>main = do <br \/>   putStrLn \"The factorial of 4 is:\"  <br \/>   print (fact 4)<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-22d4690 elementor-widget elementor-widget-heading\" data-id=\"22d4690\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Recursion<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-ed26397 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ed26397\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0ba152f\" data-id=\"0ba152f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b6a5bd2 elementor-widget elementor-widget-text-editor\" data-id=\"b6a5bd2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Recursion is a situation where a function calls itself repeatedly. Haskell does not provide any facility of looping any expression more than once.<\/p>\n\n\n\n<p>Haskell wants you to break your entire functionality into a collection of different functions and use the recursion technique to implement your functionality.<\/p>\n\n\n\n<p>In the following example, we have used both pattern matching and recursion to calculate the factorial of 4.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">fact :: Int -&gt; Int <br \/>fact 0 = 1 <br \/>fact n = n * fact ( n - 1 ) main = do <br \/>   putStrLn \"The factorial of 4 is:\" <br \/>   print (fact 4)<\/pre>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3668443 elementor-widget elementor-widget-heading\" data-id=\"3668443\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Lambda expression<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88c47a1 elementor-widget elementor-widget-text-editor\" data-id=\"88c47a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>A function without having a definition is called a\u00a0<em>lambda function<\/em>. A lambda function is denoted by\u00a0<code><\/code>\u00a0character.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">main = do <br \/>   putStrLn \"The successor of 5 is:\"  <br \/>   print ((x -&gt; x + 1) 5)<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76e9cb9 elementor-widget elementor-widget-heading\" data-id=\"76e9cb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Modules<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aaadbca elementor-widget elementor-widget-text-editor\" data-id=\"aaadbca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>If you have worked on Java, then you\u2019ll know how all the classes are bound into a folder called a\u00a0<em>package<\/em>. Similarly, Haskell can be considered as a collection of modules.<\/p>\n\n\n\n<p>For example, the list module:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import Data.List<\/pre>\n\n\n\n<p>You are now able to use the\u00a0<code>List<\/code>\u00a0functionalities.<\/p>\n\n\n\n<p>Some other common modules are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Char<\/code>\u00a0module<\/li>\n<li><code>Map<\/code>\u00a0module<\/li>\n<li><code>Set<\/code>\u00a0module<\/li>\n<\/ul>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ddd93a0 elementor-widget elementor-widget-heading\" data-id=\"ddd93a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Custom modules<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ee842b elementor-widget elementor-widget-text-editor\" data-id=\"2ee842b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Let us create the custom module and define a few functions in it.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">module Custom ( <br \/>   showEven, <br \/>   showBoolean <br \/>) where <br \/><br \/>showEven:: Int-&gt; Bool <br \/>showEven x = do <br \/><br \/>if x 'rem' 2 == 0 <br \/>   then True <br \/>else False <br \/>showBoolean :: Bool-&gt;Int <br \/>showBoolean c = do <br \/><br \/>if c == True <br \/>   then 1 <br \/>else 0<\/pre>\n\n\n\n<p>To import it into the program we do:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import Custom <br \/><br \/>main = do <br \/>   print(showEven 4) <br \/>   print(showBoolean True)<\/pre>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7da7dd1 elementor-widget elementor-widget-heading\" data-id=\"7da7dd1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Some Useful Resources:<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8806ebb elementor-widget elementor-widget-text-editor\" data-id=\"8806ebb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.haskell.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Official Homepage of Haskell<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Haskell_(programming_language)\" target=\"_blank\" rel=\"noreferrer noopener\">Wikipedia Reference for Haskell<\/a><\/li>\n<\/ul>\n\n\n<hr class=\"wp-block-separator\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e46c6f elementor-widget elementor-widget-heading\" data-id=\"8e46c6f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Conclusion<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9447712 elementor-widget elementor-widget-text-editor\" data-id=\"9447712\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>After reading this article, I hope you can now write a simple Haskell code and have a good idea of what Haskell is about.<\/p>\n\n\n\n<p>I think after learning Haskell, learning other functional programming languages is easier.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Haskell is a functional programming language that has been specially designed to handle symbolic computation and list processing applications<\/p>\n","protected":false},"author":915,"featured_media":9679,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[200],"tags":[627,425],"ppma_author":[3943],"class_list":["post-9677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-ux-ui","tag-haskell","tag-programming-language"],"authors":[{"term_id":3943,"user_id":915,"is_guest":0,"slug":"bryan-dijkhuizen","display_name":"Bryan Dijkhuizen","avatar_url":"https:\/\/www.experfy.com\/blog\/wp-content\/uploads\/2020\/09\/0-1-150x150.jpg","user_url":"https:\/\/www.nhlstenden.com\/hbo-opleidingen\/hbo-ict%20","last_name":"Dijkhuizen","first_name":"Bryan","job_title":"","description":"Bryan Dijkhuizen is Vice President of the Education Committee at NHL Stenden HBO-ICT."}],"_links":{"self":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/9677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/users\/915"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/comments?post=9677"}],"version-history":[{"count":5,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/9677\/revisions"}],"predecessor-version":[{"id":33944,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/9677\/revisions\/33944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/9679"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=9677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=9677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=9677"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=9677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}