数据 图表 一 = 清空
| 顶点 一
| 覆盖 ( 图表 a)( 图表 a)
| 连接 ( 图表 a)( 图表 a)
“伯克,但是手写大图形会变得非常烦人!”
( + ) = 覆盖
( * ) = 连接
实例 号码 一 => 号码 ( 图表 a) 哪里
from整数 = 顶点 . from整数
( + ) = 覆盖
( * ) = 连接
符号 = 常数 清空
防抱死制动系统 = 身份证件
否定 = 身份证件
( 1 + 2 ) + 三 == 1 + ( 2 + 三 )
1 + 2 == 2 + 1
1 + 清空 == 1 == 清空 + 1
1 + 1 == 1
( 1 * 2 ) * 三 == 1 * ( 2 * 三 )
1 * 2 /= 2 * 1
1 * 清空 == 1 == 清空 * 1
1 * 1 * 1 == 1 * 1
1 * ( 2 + 三 ) == 1 * 2 + 1 * 三
定义可用吗? 我们可以用alga表示法来表示每个图吗?
顶点:: 【a】 -> 图表 一
顶点 = 文件夹 (\v克 -> 覆盖 ( 顶点 v) g) 清空
边:: [(a,a)] -> 图表 一
边缘 = 文件夹
(\(x,y)g -> 覆盖 ( 连接 ( 顶点 x)( 顶点 y) )克)
清空
创建:: 【a】 -> [(a,a)] -> 图表 一
创建v e = 覆盖 (顶点v)(边e)
文件夹:: b条 -> (a) -> b) -> (b) -> b条 -> b)
-> (b) -> b条 -> b) -> 图表 一 -> b条
折叠视频 = 去
哪里
去 清空 = e(电子)
去( 顶点 x) = v x(v x)
去( 覆盖 x年) = o(转到x)(转到y)
去( 连接 x y) = c(去x)(去y)
转置:: 图表 一 -> 图表 一
转置 = 折叠 清空 顶点 覆盖 ( 轻弹 连接 )
诱导:: (a) -> 布尔 ) -> 图表 一 -> 图表 一
诱导谓词 = 折叠
清空
未定义
未定义
未定义
诱导:: (a) -> 布尔 ) -> 图表 一 -> 图表 一
诱导谓词 = 折叠
清空
(\x -> 如果 谓词x 然后 顶点 x个 其他的 清空 )
未定义
未定义
诱导:: (a) -> 布尔 ) -> 图表 一 -> 图表 一
诱导谓词 = 折叠
清空
(\x -> 如果 谓词x 然后 顶点 x个 其他的 清空 )
覆盖
连接
删除顶点:: 一 -> 图表 一 -> 图表 一
移除顶点x = 诱导( /= x)
hasEdge:: 订单 一 => 一 -> 一 -> 图表 一 -> 图表 一
hasEdge uv =
( 连接 ( 顶点 u)( 顶点 v) `是SubgraphOf` ) .
诱导( `元素` [u,v])
覆盖 ( 顶点 1 ) ( 顶点 2 )
== 覆盖 ( 顶点 2 ) ( 顶点 1 )
== 连接 清空 ( 覆盖 ( 顶点 1 ) ( 顶点 2 ))
== 覆盖
( 连接 ( 顶点 1 ) 清空 )
( 连接 清空 ( 顶点 2 ))
覆盖 ( 顶点 1 ) ( 顶点 2 )
===
覆盖 ( 顶点 2 ) ( 顶点 1 )
== False(错误)
关闭 : 图表 A类 -> 图表 A类
关闭 清空 = 清空
关闭( 顶点 x) = 顶点 x个
关闭( 覆盖 x年) = 连接 x年
关闭( 连接 x年) = 连接 x年
>>> 让 x个 = 顶点 0
>>> 让 年 = 覆盖 ( 顶点 0 ) ( 顶点 0 )
>>> x个 == 年
真的
>>> 打印 (接近x)
顶点 0
>>> 打印 (接近y)
( 顶点 0 ) * ( 顶点 0 )
>>> 关闭x == 接近y
False(错误)
实例 Functor(仿真器) ( 图表 a) 哪里
功能性维修计划 _ 清空 = 清空
功能性维修计划 (f)( 顶点 a) = 顶点 $ 如果
功能性维修计划 (f)( 覆盖 a b) = 覆盖 ( 功能性维修计划 f a)( 功能性维修计划 f b)
功能性维修计划 (f)( 连接 a b) = 连接 ( 功能性维修计划 f a)( 功能性维修计划 f b)
实例 莫纳德 ( 图表 a) 哪里
返回 = 顶点
克 >>= (f) = 折叠 清空 (f) 连接 覆盖 克
诱导:: (a) -> 布尔 ) -> 图表 一 -> 图表 一
归纳谓词g
= 克 >>= (\x -> 如果 谓词x 然后 顶点 x个 其他的 清空 )
类型 用户 = 国际
数据 请求M = 添加用户 用户
| 删除用户 用户
| 连接U 用户 用户
| 断开U 用户 用户
handleRequestM:: 请求M -> 图表 用户 -> 图表 用户
handleRequestM:: 请求M -> 图表 用户 -> 图表 用户
处理请求M( 添加用户 a) = 覆盖 ( 顶点 a)
处理请求M( 删除用户 a) = removeVertex删除顶点a
处理请求M( 连接U a b) =
覆盖 ( 连接 ( 顶点 a)( 顶点 b) )
处理请求M( 断开U a b) = 删除边缘a b
获取以下信息: 用户 -> 图表 用户 -> [ 用户 ]
获取关注u =
地图 信噪比 . 滤波器 (\(v,_) -> 单位 == v) . 边缘列表
获取关注者:: 用户 -> 图表 用户 -> [ 用户 ]
获取关注者u =
地图 fst公司 . 滤波器 (\(_,v) -> 单位 == v) . 边缘列表
已连接的数量: 图表 用户 -> IO(输入输出) 国际
已连接的数量 = 功能性维修计划 ( 长度 . 滤波器 身份证件 ) .
折叠( 纯净的 清空 ) ( 功能性维修计划 顶点 . 已连接)(提升A2 覆盖 )(提升A2 连接 ) .
顶点列表
进口 有资格的 数据。 IntSet(IntSet) 作为 设置
进口 控制。 适用 (提升A2)
已连接的数量: 图表 用户 -> IO(输入输出) 国际
已连接的数量 = 功能性维修计划 设置.大小 . 折叠
( 返回 设置为空)
(\x -> 功能性维修计划
(\年 -> 如果 年
然后 设置单体x
其他的 设置为空
)
(已连接x)
)
(提升A2组活接头)
(提升A2组活接头)