۲۰ - ۱پیمایشی
با Functor میشه مقادیرِ داخلِ یه ساختار رو تغییر داد. با Applicative میشه هر مقداری داخل یه ساختار رو با تابعی که خودش هم داخل یه ساختار هست، تغییر داد. با Foldable هم میشه مقادیر داخل یه ساختار رو طوری پردازش کرد که انگار در یه ترتیب تسلسلی قرار دارن، مشابه چیزهایی که از فولد ِ لیستها دیدیم.
Traversable هم در همون مقالهی Applicative معرفی شد و تا GHC 7.10 هم وارد Prelude نشد. اما قبل از اون در کتابخونه ِ base قابل دسترس بود. Traversable وابسته به Applicative، و متعاقباً Functor ِه، و Foldable هم سوپرکلاس ِشه.
با Traversable میشه المانهای داخل ساختار رو، مشابه یه فانکتور، به مقادیر اپلیکتیو تغییر داد، و نهایتاً ساختار(های) اپلیکتیو رو به بیرون از ساختار ِ پیمایشی لیفت کرد. یه توصیف رایج برای Traversable، اون رو به راهی برای پیمایش ِ یه ساختارِ داده، نگاشت ِ یه تابع داخلِ اون ساختار و جمعآوری ِ بافتهای اپلیکتیو در طولِ مسیر تعریف میکنه. احتمالاً با مثال راحتتر مشخص میشه.
در این فصل:
تایپکلاسِ Traversable، و تابعهای کانونیک ِش رو توضیح میدیم؛
مثالهای عملی از Traversable رو میبینیم؛
به کمک این تایپکلاس بعضی کُدها رو تمیزتر میکنیم؛
و البته چندتا نمونه ِ Traversable مینویسیم.