作者CindyLinz (Cindy Wang)
看板PLT
標題[情報] Functional Thursday #36
時間Fri Feb 26 11:49:28 2016
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://webptt.com/m.aspx?n=bbs/PLT/M.1456458570.A.C2D.html
1F:推 appleway: 錄影的部分,有下落了嗎?真的很想參加 02/27 23:38
3F:→ CindyLinz: 欸, 每次如果有錄影的話, 上傳後會記在活動頁的留言裡 02/28 14:01