[情報] Functional Thursday #36
http://www.meetup.com/Functional-Thursday/events/228701514/
時間: 2016.3.3(四) 19:30
地點: Mozilla Space 台北市信義區信義路五段 106 號 4 樓 A-1
主題: Preventing Runtime Errors of Redis at Compile Time
講者: banacorn
Redis 是一個開源的資料庫系統,裡面儲存的資料可以是字串、列表、集合等資料結構。
每一種資料結構都有相對應的指令,每一筆資料也都會對應到一個鍵值以供操作。
雖然 Redis 有提供一個簡單的 CLI,但當然也可以透過各種程式語言去操作。
在 Haskell 通常會透過 Hedis 這個函式庫去使用 Redis。 藉 Haskell 的型別檢查,
可以避免掉許多在 CLI 操作可能犯下的語法錯誤:例如拼錯指令,或是少給參數等。
但還是有些語意上的錯誤沒辦法在被揪出來,例如把字串當作列表使用,
這時候就會在 Redis 端出現 runtime error。
本次 Functional Thursday 會介紹如何使用 Type Families、
Indexed Monad 與各種 Type-level Literal,
在 Haskell 的型別上「寫程式」,將各種 invariance encode 在型別之中,
藉 type checker 的力量幫我們寫錯的程式揪出來 ^.<
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.121.78.5
※ 文章網址: https://www.ptt.cc/bbs/PLT/M.1456458570.A.C2D.html
推
02/27 23:38, , 1F
02/27 23:38, 1F
→
02/28 14:00, , 2F
02/28 14:00, 2F
→
02/28 14:01, , 3F
02/28 14:01, 3F
PLT 近期熱門文章
PTT數位生活區 即時熱門文章