ความเพียวใน Functional Programming

วันนี้อจ. @pruet แชร์หน้านี้มาให้ดูครับ http://debug.elm-lang.org/ เป็น debugger ของภาษา Elm ซึ่งเป็นภาษาในเครือ Haskell

ผมสงสัยมาตลอดว่าการใช้ monad แล้วเอา function มาเรียก ๆ ต่อ ๆ กันแล้วบอกว่าเพียวมันมีประโยชน์อะไรขึ้นมา

ผมว่าเจอแล้วก็คือ debugger ของ Elm นี่ล่ะ คือมันสามารถย้อนเวลากลับไปกลับมาได้ เพราะเขาให้เหตุผลว่าทำแบบนี้ได้เพราะความเพียว ในที่นี้ก็คือแยกเอา function ที่มันจะเกิด side effect เช่น ไปอ่านเขียน I/O ออกจาก function เพียวซึ่งมันไม่มี side effect ออกอย่างชัดเจน แบบนี้ก็ทำให้ debugger ไปเรียก function แบบเพียวเมื่อไหร่กี่ครั้งก็ได้ จะย้อนไปย้อนมาอย่างไรก็ได้ ผลก็เป็นแบบเดิม

Advertisements
This เรื่อง was posted in ไม่มีหมวดหมู่. Bookmark the permalink.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s