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