Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pp:2023:haskell:l10 [2023/05/13 15:44] alexia.ciuclea |
pp:2023:haskell:l10 [2023/05/15 19:15] (current) tpruteanu |
||
---|---|---|---|
Line 48: | Line 48: | ||
<code haskell> | <code haskell> | ||
mminus :: Maybe Nat -> Maybe Nat -> Maybe Nat | mminus :: Maybe Nat -> Maybe Nat -> Maybe Nat | ||
- | mminus m n = ??? | + | mminus m n = undefined |
mplus :: Maybe Nat -> Maybe Nat -> Maybe Nat | mplus :: Maybe Nat -> Maybe Nat -> Maybe Nat | ||
- | mplus m n = ??? | + | mplus m n = undefined |
</code> | </code> | ||
Line 57: | Line 57: | ||
<code haskell> | <code haskell> | ||
mmulti :: Maybe Nat -> Maybe Nat -> Maybe Nat | mmulti :: Maybe Nat -> Maybe Nat -> Maybe Nat | ||
- | mmulti m n = ??? | + | mmulti m n = undefined |
</code> | </code> | ||
- | ===== 10.3. Implementing our 'Parser' ===== | + | ===== 10.2. Implementing our 'Parser' ===== |
Firstly we need to understand the role of our parser. | Firstly we need to understand the role of our parser. | ||
Given the type: | Given the type: | ||
Line 99: | Line 99: | ||
charParser :: Char -> Parser Char | charParser :: Char -> Parser Char | ||
- | charParser c = ??? | + | charParser c = undefined |
</code> | </code> | ||
Line 105: | Line 105: | ||
<code haskell> | <code haskell> | ||
predicateParser :: (Char -> Bool) -> Parser Char | predicateParser :: (Char -> Bool) -> Parser Char | ||
- | predicateParser p = ??? | + | predicateParser p = undefined |
</code> | </code> | ||
Line 146: | Line 146: | ||
<code haskell> | <code haskell> | ||
varP :: Parser String | varP :: Parser String | ||
- | varP = ??? | + | varP = undefined |
</code> | </code> | ||
Line 160: | Line 160: | ||
plusParser :: (Parser a) -> Parser [a] | plusParser :: (Parser a) -> Parser [a] | ||
- | plusParser p = ??? | + | plusParser p = undefined |
starParser :: (Parser a) -> Parser [a] | starParser :: (Parser a) -> Parser [a] | ||
- | starParser p = ??? | + | starParser p = undefined |
</code> | </code> | ||
Line 171: | Line 171: | ||
<code haskell> | <code haskell> | ||
varParser :: Parser String | varParser :: Parser String | ||
- | varParser = ??? | + | varParser = undefined |
varExprParser :: Parser Expr | varExprParser :: Parser Expr | ||
- | varExprParser = ??? | + | varExprParser = undefined |
</code> | </code> | ||
Line 180: | Line 180: | ||
<code haskell> | <code haskell> | ||
whitespaceParser :: Parser String | whitespaceParser :: Parser String | ||
- | whitespaceParser = ??? | + | whitespaceParser = undefined |
</code> | </code> | ||
Line 186: | Line 186: | ||
<code haskell> | <code haskell> | ||
exprParser :: Parser Expr | exprParser :: Parser Expr | ||
- | exprParser = ??? | + | exprParser = undefined |
</code> | </code> |