module Main where import Prelude import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log) import Data.String (singleton, drop, take) import Data.String.Unsafe (charAt) -- Given -- "Curry is awesome" -- Return -- "Curry is awesome!" a :: String -> String a x = x <> "!" -- Given -- "Curry is awesome!" -- Return -- "y" b :: String -> String b x = singleton $ charAt 4 x -- Given -- "Curry is awesome!" -- Return -- "awesome!" c :: String -> String c = drop 9 -- If you apply your function to this value: -- "Curry is awesome" -- Your function should return -- 'r' thirdLetter :: String -> Char thirdLetter = charAt 2 letterIndex :: Int -> Char letterIndex x = charAt x "Curry is awesome!" rvrs :: String -> String rvrs inp = (drop 9 inp) <> (drop 5 $ take 9 inp) <> (take 5 inp) main :: forall e. Eff (console :: CONSOLE | e) Unit main = do log $ rvrs "Curry is awesome"