Bind
은 typeclass 패턴을 따르며, 이들은 정의 된 연산을 지원하는 여러 유형에 대해 여러 구현을하는 경향이 있습니다. 그 구현은 typeclass 인스턴스를 호출했다. Scala 표준 라이브러리 클래스의 Scalaz typeclass 인스턴스는 대부분 scalaz.std
패키지에 있습니다. 예 :
Bind[List]
: listInstances
scalach/std/List.scala에 정의 된 scalaz.std.ListInstaces
특성의 암시 적 값입니다. ListInstances
특성을 확장하는 scalaz.std.list
개체 (동일한 파일) 또는 scalaz.Scalaz
개체 (scalaz/Scalaz.scala)를 통해 가져올 수 있습니다.
Bind[Option]
: optionInstances
scalaz/std/Option.scala에 정의 된 sclaaz.std.OptionInstances
의 암시 적 값입니다. scalaz.std.option
개체 (동일한 파일) 또는 scalaz.Scalaz
개체 (scalaz/Scalaz.scala)를 통해 가져올 수 있으며 두 개체 모두 OptionInstances
특성을 확장합니다.
하나 이상의 상응하는 특성을 구현하는 암시 적 값 또는 변환을 생성하여 자신의 유형에 대한 Scalaz typeclass 인스턴스를 만들 수도 있습니다. 눈에 보이려면 implicits를 컨텍스트로 가져와야합니다.