文件名称:magnolia:类型类实例的轻松,快速,透明的泛型派生
文件大小:374KB
文件格式:ZIP
更新时间:2024-06-02 19:06:10
scala generic-programming typeclass generic-derivation typeclasses
木兰 玉兰是一个通用宏,用于自动实现由产品类型(例如,案例类)和副产品类型(例如,枚举)组成的数据类型的类型类。 它支持开箱即用的递归定义的数据类型,并且在编译过程中不会花费大量时间。 特征 派生案例类,案例对象和密封特征的类型类 提供轻量级语法来编写派生类,而无需了解Scala的复杂部分 基于Scala 3的内置泛型派生 使用递归和互递定义 支持参数化ADT(GADT),包括递归类型的ADT 支持在协变和反变位置使用其通用类型参数的类型类 入门 给定一个ADT,例如 enum Tree [ + T ] : case class Branch ( left : Tree [ T ], right : Tree [ T ]) case class Leaf ( value : T ) 并提供Show[Int]的给定实例在范围内,并且提供了Show类型类的木兰派生,我们可以按需自动
【文件预览】:
magnolia-main
----.gitignore(112B)
----contributing.md(4KB)
----Makefile(24B)
----.fury()
--------config(483B)
--------layers.db(2KB)
----project()
--------plugins.sbt(53B)
--------build.properties(18B)
----src()
--------core()
--------test-enum()
--------examples()
--------test()
----doc()
--------version(6B)
--------size(5B)
--------start(5B)
--------mavenid(14B)
--------images()
--------status(12B)
--------id(9B)
--------module(0B)
--------intro(290B)
--------logo.svg(13KB)
--------basics(2KB)
--------loc(4B)
--------slogan(63B)
--------features(476B)
--------title(9B)
----.gitmodules(75B)
----.github()
--------workflows()
----fury(4KB)
----readme.md(6KB)
----license.md(10KB)
----.admin()
----build.sbt(2KB)