文件名称:木兰:Scala 2的快速,轻松和透明的类型类派生
文件大小:384KB
文件格式:ZIP
更新时间:2024-02-26 15:43:34
scala generic-programming macro typeclasses typeclass-derivation
木兰 玉兰是一个通用宏,用于自动实现由案例类(产品)和密封特征(联产品)组成的数据类型的类型类。 它支持开箱即用的递归定义的数据类型,并且在编译过程中不会花费大量时间。 如果派生失败,则会显示错误消息,内容详尽,内容丰富。 产品特点 派生案例类,案例对象和密封特征的类型类 提供用于编写派生的轻量级非宏语法 使用递归和互递定义 支持参数化ADT(GADT),包括递归类型 支持在协变和反变位置使用其通用类型参数的类型类 缓存隐式搜索以提高编译时效率 在派生失败时打印错误堆栈以帮助调试 提供对案例类默认参数值的访问 提供可预测的优先隐式分辨率 不需要其他类型注释,例如Lazy[T] 入门 给定A
【文件预览】:
magnolia-main
----.gitignore(112B)
----.admin()
----.gitmodules(75B)
----license.md(10KB)
----.github()
--------workflows()
----.fury()
--------config(358B)
--------layers.db(2KB)
----fury(4KB)
----build.sbt(2KB)
----src()
--------test()
--------examples()
--------core()
--------test-enum()
----readme.md(8KB)
----doc()
--------version(7B)
--------start(5B)
--------title(9B)
--------basics(3KB)
--------module(0B)
--------id(9B)
--------features(679B)
--------images()
--------slogan(61B)
--------mavenid(9B)
--------status(12B)
--------logo.svg(13KB)
--------intro(348B)
----contributing.md(4KB)
----Makefile(24B)