ความเพียวใน 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 แบบเพียวเมื่อไหร่กี่ครั้งก็ได้ จะย้อนไปย้อนมาอย่างไรก็ได้ ผลก็เป็นแบบเดิม

Posted in ไม่มีหมวดหมู่

ใส่ความเห็น

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