۱۵ - ۱۱دیوانگی

شاید Mad Libs رو بشناسین. تو این بازی یه جمله با جاهای خالی داده میشه، و بعد از پر کردن اون جاهای خالی فقط بر مبنای یه دسته‌بندی از لغات، جمله‌ی نهایی خونده میشه تا ببینیم خنده‌دار شده یا نه.

مثالی که تو صفحه‌ی ‏‎Wikipedia‎‏ ِ ‏‎Mad Libs‎‏ هست رو با کمی تغییر استفاده می‌کنیم:

"_____________________! he said _____________ as he
 exclamation / تعجبی           adverb / قید

jumped into his car ___________ and drove
                    noun / اسم

off with his ________________ wife."
             adjective / صفت

این رو تبدیل به یه تابع می‌کنیم، اینطوری:

import Data.Monoid

type Verb = String
type Adjective = String
type Adverb = String
type Noun = String
type Exclamation = String

madLibbin' :: Exclamation
           -> Adverb
           -> Noun
           -> Adjective
           -> String
madlibbin' e adv noun adj =
  e    <> "! he said " <>
  adv  <> "as he jumped into his car " <>
  noun <> " and drove off with his " <>
  adj  <> " wife."

خب حالا یه کم خلاصه‌ش می‌کنین! با ‏‎mconcat‎‏ بازنویسی‌ش کنین.

madLibbinBetter' :: Exclamation
                 -> Adverb
                 -> Noun
                 -> Adjective
                 -> String
madlibbinBetter' e adv noun adj = undefined