<div dir="ltr">Hello!<br><div><br>I've written a function that is supposed to add parenthesis to sin/cos expressions.<br><br>For example<br><ul><li> Sin5+3        ->    Sin(5) + 3</li><li>SinCos(5+3)   ->    Sin(Cos(5+3))</li><li>SinCos5 * 3   ->    Sin(Cos(5)) * 3<br></li></ul><span style="color:rgb(255,0,0)"><span style="background-color:rgb(255,255,255)">The problem is that it converts the following expression<br><u>SinSin(5+1+2)</u><br>into<br><u>Sin(Sin(5)+1+2)</u></span></span><br><br>Could someone point me to the direction of a solution to this? Thanks in advance!<br><span style="font-family:monospace,monospace"><br>convert :: String -> String                                                  <br>convert s = convert' s 0                                                     <br>                                                                             <br>convert' :: String -> Int -> String                                          <br>convert' [] n                                                         = replicate n ')'<br>convert' (a:as) n | ((a == 'n' || a == 's') && ((take 1 as) /= "("))  = a : "(" ++ (convert' as (n+1))<br>                 | ((a == '+' || a == '*') && (n > 0))               = (replicate n ')') ++ [a] ++ (convert' as 0)<br>                 | otherwise                                         = a : (convert' as n)<br></span><br></div></div>