作者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/cn.aspx?n=bbs/PLT/M.1456458570.A.C2D.html
1F:推 appleway: 录影的部分,有下落了吗?真的很想参加 02/27 23:38
3F:→ CindyLinz: 欸, 每次如果有录影的话, 上传後会记在活动页的留言里 02/28 14:01