文件名称:eff-in-anger:谈话内容`在愤怒中编码Eff`
文件大小:31KB
文件格式:ZIP
更新时间:2024-06-04 07:29:53
Haskell
愤怒中的埃夫 编写软件系统时,模块化和可扩展性是关键。 当您想用Haskell编写模块化,可扩展,有效的代码时,几乎没有其他选择:基本上是mtl风格的类型类和免费的monad派生类。 可扩展的效果(又称为Eff monad)是一种基于free monad技术的松散解决方案,使用免费程序包来获得乐趣和收益。 本次会议是对Eff的使用进行实时编码,成对编程的介绍,以构造具有严格接口的独立组件中分离的应用程序。 我们将以交互的方式开发一个简单而现实的基于Eff的Pet Store REST服务,演示如何编码和测试引入的各种效果,如何组合它们以产生所需的服务,如何利用freer软件包提供的现有标准效果,以及编写解释器的各种方式以及如何处理有时令人生畏的类型检查器错误。 宠物店 假定安装了以下软件: 建造 生成所有必需的软件包,最初可能需要一段时间才能下载依赖项: ./Build.hs bui
【文件预览】:
eff-in-anger-master
----Log.hs(2KB)
----.gitignore(347B)
----pet-store-backend()
--------server()
--------src()
--------package.yaml(841B)
----Process.hs(3KB)
----Build.hs(1KB)
----README.md(2KB)
----payment-conf.yaml(242B)
----dependency-reduced-pom.xml(4KB)
----pet-store-payment()
--------src()
--------pom.xml(6KB)
--------payment.yaml(0B)
----.circleci()
--------config.yml(1KB)
----cheatsheet.md(920B)
----pet-store()
--------src()
--------tests()
--------package.yaml(1KB)
--------driver()
----Color.hs(1KB)
----payment.yaml(0B)
----stack.yaml(383B)