I try to learn the syntax of different programming languages. In this blog I have written the program to find whether a number is a palindrome or not using 6 different programming languages. These languages include C, C++, Java, Python, Perl, and Ruby.
I tried learning functional programming and wrote a program to find whether a number is a palindrome number using Haskell. The program for finding palindrome using Haskell is given below.
Functional programming is a programming paradigm in which we try to bind everything in pure mathematical functions style. It is a declarative type of programming style. Its main focus is on “what to solve” in contrast to an imperative style where the main focus is “how to solve”.
-- Main function which takes input and prints palindrome or not by using the function palindrome to check main :: IO () main = do print "Enter a number: " inputStr <- getLine let input = read inputStr :: Integer if palindrome input then print $ show input <> " is a palindrome number" else print $ show input <> " is not palindrome number" -- palindrome function which checks whether the number is a palindrome by comparing with the reverse of the number palindrome :: Integer -> Bool palindrome x = reversal x == x -- reversal function for calculating the reverse of the number reversal :: Integral a => a -> a reversal = go 0 where go a 0 = a go a b = let (q,r) = b `quotRem` 10 in go (a*10 + r) q