Programming in Lean
Release 3.4.20 码力 | 51 页 | 220.07 KB | 2 年前3
Idris 语言文档 Version 1.3.1(<*>) : f (a -> b) -> f a -> f b 1.4. 接口 #### 1.4.4 单子与 do-记法 单子接口 Monad 允许我们对绑定和计算进行封装,它也是「do」记法 (éat 12) 一节中 do-记法的基础。单子扩展了前面定义的 Applicative,其定义如下: interface Applicative m => Monad (m Maybe where Nothing >>= k = Nothing (Just x) >>= k = k x 通过它,我们可以定义一个将两个 Maybe Int 相加的函数,并用单子来封装错误处理: m_add : Maybe Int -> Maybe Int -> Maybe Int m_add x y = do x' <- x -- 从 x 中提取值 记法也标出了哪些表达式为单子。 例如,表达式: let y = 42 in f !(g !(print y) !x) 会被提升为: let y = 42 in do y' <- print y x' <- x g' <- g y' x' f g' 1.4. 接口 ## 单子推导式 我们之间在更多表达式0 码力 | 224 页 | 2.06 MB | 2 年前3
统一建模语言 UML 参考手册 - 基本概念幅,也不能显著表达足够范围的 UML 结构。 ## UML 视图 UML 的各种概念和结构并不存在明显的界线,但为了方便,我们将它们划分至多个视图。视图是表达系统单个方面的 UML 建模结构的简单子集。不同视图的分隔有时有些模糊,但我们希望它是直观的。一种或两种图为各种视图中的概念提供了可视化标记。 视图在最高层次可以划分为三个领域:结构性分类、动态行为和模型管理。 结构性分类描述了系统中 类在它的容器中具有唯一的名称,容器通常是包,但有时是其它的类。类具有相对于容器的可见性;可见性指明了类被容器外的其它类如何使用。类具有重数,说明了该类存在多少个实例。通常重数为多(0或多,无明显的限制),但单子类在执行过程中仅具有一个实例。 接口。接口是未给出实现或状态的对象行为的描述;接口包含操作,但没有属性,它不具有可视的外出关联。构件、一个或多个类可以实现接口,每个类实现接口中的操作。 数据类型 |重数|multiplicity| |抽象|abstract| |初始化|initialization| |初始状态|initial state| |触发|trigger| |创建|creation| |单子|singleton| |当前事件|current event| |调用|call| |调用事件|call event| |动态分类|dynamic classification| |动作|action|0 码力 | 123 页 | 2.61 MB | 2 年前3
普通人学AI指南44d9ce05937eb80763143600/p35_1.jpg) Figure 39: MaxKB 界面-知识库配置续 因为平时做一些 Python 副业接单,我们做过的副业需求文档、单子交付文件都传入到这个知识库里面,因为都是在本地构建,放心使用,如图 40 所示:  架构图 ## 结果(result) 从上图可以看到,收款子系统和退款子系统、结算子系统、信息同步子系统、查看订单子系统之间没有直接依赖关系。这个架构达到了消除依赖的效果。收款子系统不需要依赖数据订阅转发子系统,数据订阅转发子系统需要依赖收款子系统的数据。我们控制依赖,数据订阅转发子系统从收款子系统拉取数据,而不0 码力 | 229 页 | 61.61 MB | 2 年前3
《Java 应用与开发》课程讲义 - 王晓东模式涉及如何合理使用继承机制,和对象有关的结构型模式涉及如何合理的使用对象组合机制。 适配器模式、组合模式、代理模式、享元模式、外观模式、桥接模式和装饰模式 Singleton 设计模式也称 “单子模式” 或 “单例模式”。 采用调试方式讲解示例代码 第 56 页 / 共 306 页 Singleton 代码的特点包括以下几个方面: 1. 使用静态属性 onlyone 来引用一个 “全局性”0 码力 | 330 页 | 6.54 MB | 2 年前3
2022年美团技术年货 合辑决,能否解决这个问题也决定了一门函数式编程语言最终是否能走上成功。 本文主要分为三个部分: • 副作用处理方式 • 函数式编程的应用 • 函数式编程的优缺点比较 ### 3. 副作用处理:单子 Monad,一种不可避免的抽象 上面说的,都是最基础的 JavaScript 概念 + 函数式编程概念。但我们还留了一个 “坑”。 ## 如何去处理 IO 操作? 我们的代码经常在和副作用打 ,并且使用apply方法可以把这个函数作用到另一个Monad上。到这里,我们完全可以把Monad之间的各种操作(接口,比如fmap和apply)视为契约,也就是数学上的态射。 现在,如果我们有一个单子叫 IO,并且它有如下表现:  图0 码力 | 1356 页 | 45.90 MB | 2 年前3
2019-2021 美团技术年货 前端篇管理各个子系统的生命周期。 · 传递路由信息。 · 加载子项目的入口资源。 · 为子系统的实例提供挂载点。 子系统只负责业务逻辑的实现。如果进一步细分的话,子系统可以分为业务子系统、实现公共菜单子系统、导航布局子系统,其中布局子系统会先于业务子系统加载。 Bifrost 采用路由消息分发的方式来控制子系统的加载和跳转。主系统维护了一条路由消息总线,当路由发生变化时,子系统会将路由事件推送给路由总线,然后由路由总线决定加载0 码力 | 738 页 | 50.29 MB | 2 年前3
Zabbix 5.2 Manual之后支持 JSON 路径使 自定义倍数将值乘以 简单更改计算当 每秒更改计算每 布尔值转十进制将值从布尔值 八进制转十进制将八进制格式 十六进制转十进制将值从十六进制 JSON 路径功能的简单子集从 JSON 数据中提取值或段。 示例: $ .document.item.value 将从 {"document":{"item":10}} 提取 10 $ .document0 码力 | 1725 页 | 11.53 MB | 2 年前3
Zabbix 4.4 中文手册之后支持 JSON 路径使 自定义倍数将值乘以 简单更改计算当 每秒更改计算每 布尔值转十进制将值从布尔值 八进制转十进制将八进制格式 十六进制转十进制将值从十六进制 JSON 路径功能的简单子集从 JSON 数据中提取值或段。 示例: $ .document.item.value 将从 {"document":{"item": { "value":0 码力 | 1850 页 | 13.52 MB | 1 年前3
共 26 条
- 1
- 2
- 3













