Learning Scalaz (7.1) 🔍
Eugene Yokota
2016
英语 [en] · PDF · 0.7MB · 2016 · 📘 非小说类图书 · 🚀/lgli/lgrs · Save
描述
preface
Links
day 0
Intro to Scalaz
What is polymorphism?
Parametric polymorphism
Subtype polymorphism
Ad-hoc polymorphism
sum function
Monoid
FoldLeft
Typeclasses in Scalaz
Method injection (enrich my library)
Standard type syntax
day 1
typeclasses 101
sbt
Equal
Order
Show
Read
Enum
Bounded
Num
typeclasses 102
A traffic light data type
a Yes-No typeclass
day 2
Functor
Function as Functors
Applicative
Apply
Option as Apply
Applicative Style
Lists as Apply
Zip Lists
Useful functions for Applicatives
day 3
Kinds and some type-foo
Tagged type
About those Monoids
Monoid
Semigroup
Back to Monoid
Tags.Multiplication
Tags.Disjunction and Tags.Conjunction
Ordering as Monoid
day 4
Functor Laws
Breaking the law
Applicative Laws
Semigroup Laws
Monoid Laws
Option as Monoid
Foldable
day 5
A fist full of Monads
Bind
Monad
Walk the line
Banana on wire
for syntax
Pierre returns
Pattern matching and failure
List Monad
MonadPlus and the guard function
Plus, PlusEmpty, and ApplicativePlus
MonadPlus again
A knight's quest
Monad laws
day 6
for syntax again
Writer? I hardly knew her!
Writer
WriterT
Using for syntax with Writer
Adding logging to program
Inefficient List construction
Comparing performance
Reader
day 7
Applicative Builder
Tasteful stateful computations
State and StateT
Getting and setting state
/
Validation
NonEmptyList
day 8
Some useful monadic functions
Making a safe RPN calculator
Composing monadic functions
Kleisli
Reader again
Making monads
day 9
Tree
TreeLoc
Zipper
Id
Lawless typeclasses
Length
Index
Each
Foldable or rolling your own?
Pointed and Copointed
Tweets to the editor
day 10
Monad transformers
Reader, yet again
ReaderT
Stacking multiple monad transformers
day 11
Lens
LensT
Store
Using Lens
Lens as a State monad
Lens laws
Links
day 12
Origami programming
DList
Folds for Streams
The Essence of the Iterator Pattern
Monoidal applicatives
Combining applicative functors
Idiomatic traversal
Shape and contents
Sequence
Collection and dispersal
Links
day 13 (import guide)
implicits review
import scalaz._
import Scalaz._
a la carte style
day 14
mailing list
git clone
sbt
including Vector
snapshot
operator
applicative functions
day 15
Arrow
Category and Compose
Arrow, again
Unapply
parallel composition
day 16
Memo
functional programming
Effect system
ST
STRef
Interruption
Back to the usual programming
day 17
IO Monad
Enumeration-Based I/O with Iteratees
Composing Iteratees
File Input With Iteratees
Links
day 18
Func
Free Monad
CharToy
Fix
FixE
Free monads part 1
Free monads part 2
Free monads part 3
Stackless Scala with Free Monads
Free monads
Trampoline
List using Free
day 19
Category theory
Sets, arrows, composition
Point
Equality of arrows of sets
Isomorphisms
Determination and choice
Retractions and sections
Surjective
Injective and monomorphism
Epimorphism
Idempotent
Automorphism
day 20
Awodey's `Category Theory'
Examples of categories
Sets
Setsfin
Pos
Cat
Monoid
Mon
Groups
Initial and terminal objects
Uniquely determined up to isomorphism
Examples
Products
Uniqueness of products
Examples
Duality
Opposite category
The duality principle
day 21
Coproducts
Unboxed union types
/
Coproduct and Inject
Hom-sets
Large, small, and locally small
Hom-sets
Thinking in Hom-set
Natural Transformation
Thanks for reading
Scalaz cheatsheet
Equal[A]
Order[A]
Show[A]
Enum[A] extends Order[A]
Semigroup[A]
Monoid[A] extends Semigroup[A]
Functor[F[_]]
Apply[F[_]] extends Functor[F]
Applicative[F[_]] extends Apply[F]
Product/Composition
Bind[F[_]] extends Apply[F]
Monad[F[_]] extends Applicative[F] with Bind[F]
Plus[F[_]]
PlusEmpty[F[_]] extends Plus[F]
ApplicativePlus[F[_]] extends Applicative[F] with PlusEmpty[F]
MonadPlus[F[_]] extends Monad[F] with ApplicativePlus[F]
Foldable[F[_]]
Traverse[F[_]] extends Functor[F] with Foldable[F]
Length[F[_]]
Index[F[_]]
ArrId[=>:[, ]]
Compose[=>:[, ]]
Category[=>:[, ]] extends ArrId[=>:] with Compose[=>:]
Arrow[=>:[, ]] extends Category[=>:]
Unapply[TC[_[_]], MA]
Boolean
Option
Id[+A] = A
Tagged[A]
Tree[A]/TreeLoc[A]
Stream[A]/Zipper[A]
DList[A]
Lens[A, B] = LensT[Id, A, B]
Validation[+E, +A]
Writer[+W, +A] = WriterT[Id, W, A]
/[+A, +B]
Kleisli[M[+_], -A, +B]
Reader[E, A] = Kleisli[Id, E, A]
trait Memo[K, V]
State[S, +A] = StateT[Id, S, A]
ST[S, A]/STRef[S, A]/STArray[S, A]
IO[+A]
IterateeT[E, F[_], A]/EnumeratorT[O, I, F[_]]
Free[S[+_], +A]
Trampoline[+A] = Free[Function0, A]
Imports
Note
Links
day 0
Intro to Scalaz
What is polymorphism?
Parametric polymorphism
Subtype polymorphism
Ad-hoc polymorphism
sum function
Monoid
FoldLeft
Typeclasses in Scalaz
Method injection (enrich my library)
Standard type syntax
day 1
typeclasses 101
sbt
Equal
Order
Show
Read
Enum
Bounded
Num
typeclasses 102
A traffic light data type
a Yes-No typeclass
day 2
Functor
Function as Functors
Applicative
Apply
Option as Apply
Applicative Style
Lists as Apply
Zip Lists
Useful functions for Applicatives
day 3
Kinds and some type-foo
Tagged type
About those Monoids
Monoid
Semigroup
Back to Monoid
Tags.Multiplication
Tags.Disjunction and Tags.Conjunction
Ordering as Monoid
day 4
Functor Laws
Breaking the law
Applicative Laws
Semigroup Laws
Monoid Laws
Option as Monoid
Foldable
day 5
A fist full of Monads
Bind
Monad
Walk the line
Banana on wire
for syntax
Pierre returns
Pattern matching and failure
List Monad
MonadPlus and the guard function
Plus, PlusEmpty, and ApplicativePlus
MonadPlus again
A knight's quest
Monad laws
day 6
for syntax again
Writer? I hardly knew her!
Writer
WriterT
Using for syntax with Writer
Adding logging to program
Inefficient List construction
Comparing performance
Reader
day 7
Applicative Builder
Tasteful stateful computations
State and StateT
Getting and setting state
/
Validation
NonEmptyList
day 8
Some useful monadic functions
Making a safe RPN calculator
Composing monadic functions
Kleisli
Reader again
Making monads
day 9
Tree
TreeLoc
Zipper
Id
Lawless typeclasses
Length
Index
Each
Foldable or rolling your own?
Pointed and Copointed
Tweets to the editor
day 10
Monad transformers
Reader, yet again
ReaderT
Stacking multiple monad transformers
day 11
Lens
LensT
Store
Using Lens
Lens as a State monad
Lens laws
Links
day 12
Origami programming
DList
Folds for Streams
The Essence of the Iterator Pattern
Monoidal applicatives
Combining applicative functors
Idiomatic traversal
Shape and contents
Sequence
Collection and dispersal
Links
day 13 (import guide)
implicits review
import scalaz._
import Scalaz._
a la carte style
day 14
mailing list
git clone
sbt
including Vector
snapshot
operator
applicative functions
day 15
Arrow
Category and Compose
Arrow, again
Unapply
parallel composition
day 16
Memo
functional programming
Effect system
ST
STRef
Interruption
Back to the usual programming
day 17
IO Monad
Enumeration-Based I/O with Iteratees
Composing Iteratees
File Input With Iteratees
Links
day 18
Func
Free Monad
CharToy
Fix
FixE
Free monads part 1
Free monads part 2
Free monads part 3
Stackless Scala with Free Monads
Free monads
Trampoline
List using Free
day 19
Category theory
Sets, arrows, composition
Point
Equality of arrows of sets
Isomorphisms
Determination and choice
Retractions and sections
Surjective
Injective and monomorphism
Epimorphism
Idempotent
Automorphism
day 20
Awodey's `Category Theory'
Examples of categories
Sets
Setsfin
Pos
Cat
Monoid
Mon
Groups
Initial and terminal objects
Uniquely determined up to isomorphism
Examples
Products
Uniqueness of products
Examples
Duality
Opposite category
The duality principle
day 21
Coproducts
Unboxed union types
/
Coproduct and Inject
Hom-sets
Large, small, and locally small
Hom-sets
Thinking in Hom-set
Natural Transformation
Thanks for reading
Scalaz cheatsheet
Equal[A]
Order[A]
Show[A]
Enum[A] extends Order[A]
Semigroup[A]
Monoid[A] extends Semigroup[A]
Functor[F[_]]
Apply[F[_]] extends Functor[F]
Applicative[F[_]] extends Apply[F]
Product/Composition
Bind[F[_]] extends Apply[F]
Monad[F[_]] extends Applicative[F] with Bind[F]
Plus[F[_]]
PlusEmpty[F[_]] extends Plus[F]
ApplicativePlus[F[_]] extends Applicative[F] with PlusEmpty[F]
MonadPlus[F[_]] extends Monad[F] with ApplicativePlus[F]
Foldable[F[_]]
Traverse[F[_]] extends Functor[F] with Foldable[F]
Length[F[_]]
Index[F[_]]
ArrId[=>:[, ]]
Compose[=>:[, ]]
Category[=>:[, ]] extends ArrId[=>:] with Compose[=>:]
Arrow[=>:[, ]] extends Category[=>:]
Unapply[TC[_[_]], MA]
Boolean
Option
Id[+A] = A
Tagged[A]
Tree[A]/TreeLoc[A]
Stream[A]/Zipper[A]
DList[A]
Lens[A, B] = LensT[Id, A, B]
Validation[+E, +A]
Writer[+W, +A] = WriterT[Id, W, A]
/[+A, +B]
Kleisli[M[+_], -A, +B]
Reader[E, A] = Kleisli[Id, E, A]
trait Memo[K, V]
State[S, +A] = StateT[Id, S, A]
ST[S, A]/STRef[S, A]/STArray[S, A]
IO[+A]
IterateeT[E, F[_], A]/EnumeratorT[O, I, F[_]]
Free[S[+_], +A]
Trampoline[+A] = Free[Function0, A]
Imports
Note
备用文件名
lgrsnf/learning-scalaz.pdf
开源日期
2025-01-18
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:Motrix -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.