请参见 哈斯克尔研讨会论文 和相应的 谈话 对于图书馆背后的动机、基础理论和实施细节。 还有一个 Haskell交换话题 、和 辅导的 亚历山大·莫恩(Alexandre Moine)。
npm安装--节省alga-ts fp-ts
进口 { 获取结构等式 , eq编号 , eqString(eq字符串) } 从 'fp-ts/lib/Eq' ;
进口 { 获取实例 } 从 “alga-ts” ;
接口 用户 {
名称 : 一串 ;
年龄 : 数 ;
}
常数 eq用户 = 获取结构等式 ( {
名称 : eqString(eq字符串) ,
年龄 : eq编号 ,
} ) ;
常数 克 = 获取实例 ( eqUser(设备用户) ) ;
常数 用户1 : 用户 = { 名称 : “爱丽丝” , 年龄 : 32 } ;
常数 用户2 : 用户 = { 名称 : “鲍勃” , 年龄 : 41 } ;
常数 用户3 : 用户 = { 名称 : “查理” , 年龄 : 28 } ;
常数 图1 = 克 . 连接 (
克 . 边缘 ( 用户1 , 用户2 ) ,
克 . 边缘 ( 用户2 , 用户3 ) ,
) ;
慰问 . 日志 ( 克 . hasEdge公司 ( 用户1 , 用户3 , 图1 ) ) ; //=>真
进口 { 管 } 从 “fp-ts/lib/pipeable” ;
进口 { 获取实例 } 从 “藻类ts” ;
常数 GS公司 = 获取实例 ( eqString(eq字符串) ) ; ... 常数 图2 = 管 (
图1 ,
克 . 地图 ( u个 => u个 . 名称 ) ,
) ;
慰问 . 日志 ( GS公司 . hasEdge公司 ( “爱丽丝” , “查理” , 图表2 ) ) ; //=>真