*
...
```
---
class: middle
### Страница [три]()-в-одной…
---
class: editor
```haskell
data PaymentPage
= ShowPaymentInfo
ExpirationTime
PaymentDetails
SuccessURL
CancelURL
| ShowInvoiceStatus
InvoiceStatus
| NoSuchInvoice
```
---
class: editor
```haskell
buildPaymentPage :: PaymentPage
-> Html
buildPaymentPage
(ShowPaymentInfo ...) = -- Ⅰ
buildPaymentPage
(ShowInvoiceStatus ...) = -- Ⅱ
buildPaymentPage
NoSuchInvoice = -- Ⅲ
```
---
.types[
[]()
Типы
]
.purity[
[]()
Чистота
]
.pattern-matching[
[]()
Pattern-matching
]
---
class: middle
## [Ваши]() вопросы…
---
class: middle, center
## Благодарю!
.ruhaskell[
[ruhaskell.org](https://ruhaskell.org/)
]