加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala中缀类型的真实例子

发布时间:2020-12-16 18:25:56 所属栏目:安全 来源:网络整理
导读:我发现了一个有趣的语法东西.它被称为Infix类型. 例: class M[T,U]new (Int M String) 现在我正在从一些流行的框架或库中寻找这种类型的例子.我在哪里可以找到它们?有什么建议? 解决方法 shapeless library 有一堆他们 Polymorphic functions Set ~ Optio
我发现了一个有趣的语法东西.它被称为Infix类型.

例:

class M[T,U]
new (Int M String)

现在我正在从一些流行的框架或库中寻找这种类型的例子.我在哪里可以找到它们?有什么建议?

解决方法

shapeless library

有一堆他们

Polymorphic functions

Set ~> Option

很像

Set[A] => Option[A] forAny {type A}

HLists

Int :: String :: Double :: HNil

就像一个超灵活的版本

(Int,(String,(Double,())))

Coproducts

Int :+: String :+: Double :+: CNil

就像超灵活的版本

Either[Int,Either[String,Either[Double,Nothing]]]

Type tags

Int @@ NonNegative

是Int的零成本运行时模拟,在标记类型中记住了一些信息

scalaz library

正如Archeg所提到的更多

Either

String / Long

scala的冷却版本是[String,Long],阅读更多here

These

Boolean &;/ Long

方便实施

Either[(Boolean,Long),Either[Boolean,Long]]

Map

String ==>> Double

是haskellest版本的

collection.immutable.TreeMap[String,Double]

Monoid Coproduct

String :+: Float

是交替的事物列表,其中类似的事物被聚合(添加,连接,选择最大等)而不是排序

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读