izumi.functional
Members list
Packages
Current hierarchy (rendered: https://izumi.7mind.io/bio/media/bio-relationship-hierarchy.svg, use https://www.nomnoml.com/ to render)
Current hierarchy (rendered: https://izumi.7mind.io/bio/media/bio-relationship-hierarchy.svg, use https://www.nomnoml.com/ to render)
[Functor2]<--[Bifunctor2]
[Bifunctor2]<--[ApplicativeError2]
[Functor2]<--[Applicative2]
[Applicative2]<--[Guarantee2]
[Applicative2]<--[Monad2]
[Guarantee2]<--[ApplicativeError2]
[ApplicativeError2]<--[Error2]
[Error2]<--[WeakTemporal2]
[WeakTemporal2]<--[Temporal2]
[Monad2]<--[Error2]
[Error2]<--[Bracket2]
[Bracket2]<--[Panic2]
[Panic2]<--[IO2]
[IO2]<--[WeakAsync2]
[WeakAsync2]<--[Async2]
[Monad2]<--[Parallel2]
[Parallel2]<--[WeakAsync2]
[Panic2]<--[Concurrent2]
[Parallel2]<--[Concurrent2]
Auxiliary algebras (rendered: https://izumi.7mind.io/bio/media/algebras.svg):
[cats.effect.*]<:--[CatsConversions]
[Fork2]<:--[Fiber2]
[BlockingIO2]
[Primitives2]
[Primitives2]<:--[Ref2]
[Primitives2]<:--[Semaphore2]
[Primitives2]<:--[Promise2]
[PrimitivesM2]
[PrimitivesM2]<:--[RefM2]
[PrimitivesM2]<:--[Mutex2]
[PrimitivesLocal2]
[PrimitivesLocal2]<--[FiberRef2]
[PrimitivesLocal2]<--[FiberLocal2]
[Entropy1]<:--[Entropy2]
[Clock1]<:--[Clock2]
[Scheduler2]
[UnsafeRun2]
Raw inheritance hierarchy (rendered: https://izumi.7mind.io/bio/media/bio-hierarchy.svg):
[Bifunctor2]<--[ApplicativeError2]
[Functor2]<--[Applicative2]
[Applicative2]<--[Guarantee2]
[Applicative2]<--[Monad2]
[Guarantee2]<--[ApplicativeError2]
[ApplicativeError2]<--[Error2]
[Monad2]<--[Error2]
[Error2]<--[Bracket2]
[Bracket2]<--[Panic2]
[Panic2]<--[IO2]
[Parallel2]<--[WeakAsync2]
[Parallel2]<--[Concurrent2]
[Concurrent2]<--[Async2]
[IO2]<--[WeakAsync2]
[WeakAsync2]<--[Async2]
[WeakTemporal2]<--[Temporal2]
current hierarchy roots:
bifunctor:
standalone:
Attributes
- Note
-
New BIO typeclass checklist:
[ ] - add syntax to `Syntax2` with the same name as the type [ ] - add syntax for new root's `InnerF` with the same name as `InnerF` in `Syntax2` [ ] - add new attachments in `RootInstanceLowPriority*` [ ] - add conversion from itself to its `InnerF` to `RootInstanceLowPriority*` (conversions implicit priority: from most specific `InnerF` to least specific) [ ] - add conversion to equivalent cats typeclass if applicable in `CatsConversions` [ ] - update hierarchy graph above, re-render SVG [ ] - add syntax tests in `SyntaxTest`, runtime tests if applicableReal and raw (direct inheritance) hierarchies differ because of implicit ambiguities caused by inheritance: https://typelevel.org/blog/2016/09/30/subtype-typeclasses.html However, since Scala 3.7, the ambiguity problem has been resolved on Scala 3 using inverted given prioritization: https://contributors.scala-lang.org/t/joining-the-dots-on-recent-implicit-prioritization-changes-and-some-scala-history/6814/3 So, when or if we drop support for Scala 2, we can revisit the design, remove
InnerFpattern and make real and raw hierarchy match.
Type members
Classlikes
Attributes
- Companion
- object
- Supertypes
-
trait IzPlatformSyntaxtrait IzPlatformPureUtiltrait IzPlatformUtilclass Objecttrait Matchableclass AnyShow all
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
trait IzEithertrait IzPlatformSyntaxtrait IzPlatformPureUtiltrait IzPlatformUtilclass Objecttrait Matchableclass AnyShow all
- Self type
-
IzEither.type
Attributes
- Companion
- object
- Supertypes
-
class AnyValtrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
- Self type
-
Renderable.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object DIPlanCompactFormatterobject LocatorFormatter
Attributes
- Companion
- object
- Supertypes
-
class AnyValtrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
WithRenderableSyntax.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object Renderable