数据类型 - 通用拉链和展开Scala

时间:2016-01-14 11:27:51

标签: scala shapeless algebraic-data-types

Scala w.r.t中最先进的技术是什么?数据类型通用版本的a)zippers和b)展开/ anamorphisms?

我特别感兴趣的是:

  • 自动从拉链中拉出拉链并展开的能力 类层次结构,最小用户工作量最小。
  • 以编译时未知的方式操作拉链的能力(例如,遍历结构中随机选择的点)。

Shapeless从“未来的方向”中得到generic zipper example "Scrap Your Zippers: A Generic Zipper for Heterogeneous Types", Michael D. Adams的一部分,但这要求最终用户根据HLists表达他们的数据类型。

Cats库似乎通过BiFunctors支持通用展开,但对于某些数据类型X,我是否不清楚它是否为{}必要/可能自动生成GenericX所需的Fix子类。

0 个答案:

没有答案