如何开始学习Scala中的Shapeless概念

24

我希望了解Scala中的多态概念,我找到了shapeless库,请问学习和应用shapeless的最佳起点是什么?


你了解Scala的程度有多少?在我看来,Shapeless正在做很多复杂的事情来解决Scala语言的一些限制。 - huynhjl
我不是专家,但我可以编写使用高阶函数、柯里化和一些类型级别编程的程序。 - prassee
我对同样的问题很感兴趣。我跟随示例并查看了单元测试,使用了非常少量的shapeless。我很好奇其他人一直在走哪条路。 - huynhjl
11
我刚刚在这里撰写了一篇相关的博客文章,其中包含一个Shapeless的示例。 - Travis Brown
1
特性概述非常酷。 - iuriisusuk
书籍: https://underscore.io/books/shapeless-guide/ 示例代码: https://github.com/milessabin/shapeless/tree/main/examples/src/main/scala/shapeless/examples 测试代码: https://github.com/milessabin/shapeless/tree/main/core/shared/src/test/scala/shapeless - Dmytro Mitin
1个回答

27

我不确定这是否是您想要的答案,但对我开始学习/使用shapeless最好的推动是Miles在不同Scala会议上的一些视频:

来自flatmap
ScalaNE 2012
ScalaNE 2013

他已遗忘的博客

另外一个很好的实践方式是使用Spray toolkit进行大量编写,它内部使用了shapeless。尝试编写一些Web服务器或一些客户端。

此外,github的wiki包含了该库的很好介绍。

非常棒的主意-尝试将一些案例类重写成具有hlists的shapeless记录,与一些JSON转换器一起使用非常酷炫 =)。其中许多都是某些通用类型的东西,在实际项目中并不是非常有用,但如果您想更好地理解类型级编程,那么这确实是一个很棒的东西


谢谢回复...我会从这个开始,希望这能引起一些更相关的问题!!!!! - prassee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接