Skip to content

Functional Thursday #36

Photo of Geoffr Su
Hosted By
Geoffr S. and 4 others
Functional Thursday #36

Details

• [19:30 ~ 19:45] 自由交流

• [19:45 ~ 20:30] Preventing Runtime Errors of Redis at Compile Time by 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 的力量幫我們寫錯的程式揪出來 ^.<

(抱歉作者已經放棄在本篇介紹的後半段避免中英夾雜 XD)

• [20:30 ~ ] lightning talk & 自由交流

也歡迎大家來

https://funth.hackpad.com/Functional-Thursday-Topics-sGic3s4ncNn

填填看想投稿/想要聽的主題唷!

Photo of Functional Thursday group
Functional Thursday
See more events
Mozilla Space
台北市信義區信義路五段 106 號 4 樓 A-1 · Taipei