LanguageExt.Core

LanguageExt.Core Traits Domain

Inspired by: https://mmapped.blog/posts/25-domain-types.html

Contents

interface AmountLike <SELF, REPR, SCALAR> Source #

where SELF : AmountLike<SELF, REPR, SCALAR>, DomainType<SELF, REPR>, VectorSpace<SELF, SCALAR>, IdentifierLike<SELF, REPR>, IEquatable<SELF>, IComparable<SELF>

interface DomainType <out SELF, REPR> Source #

where SELF : DomainType<SELF, REPR>

Methods

method SELF From (REPR repr) Source #

Creates a domain value from its representation value

interface IdentifierLike <SELF, REPR> Source #

where SELF : DomainType<SELF, REPR>, IdentifierLike<SELF, REPR>, IEquatable<SELF>

interface LocusLike <SELF, REPR, SCALAR, DISTANCE> Source #

where SELF : DomainType<SELF, REPR>, LocusLike<SELF, REPR, SCALAR, DISTANCE>, IdentifierLike<SELF, REPR>, AmountLike<SELF, REPR, SCALAR>, VectorSpace<SELF, SCALAR>, IEquatable<SELF>, IComparable<SELF>
where DISTANCE: AmountLike<SELF, REPR, SCALAR>

Properties

property SELF Origin Source #

Operators

operator + (SELF lhs, DISTANCE rhs) Source #

operator - (SELF lhs, DISTANCE rhs) Source #

interface QuantityLike <SELF, REPR, SCALAR, DimA> Source #

where SELF : QuantityLike<SELF, REPR, SCALAR, DimA>, DomainType<SELF, REPR>, VectorSpace<SELF, SCALAR>, IdentifierLike<SELF, REPR>, AmountLike<SELF, REPR, SCALAR>, IEquatable<SELF>, IComparable<SELF>

Methods

method O Multiply <OTHER, O, DimB> (O rhs) Source #

where OTHER : QuantityLike<OTHER, REPR, SCALAR, DimB>, DomainType<OTHER, REPR>, VectorSpace<OTHER, SCALAR>, IdentifierLike<OTHER, REPR>, AmountLike<OTHER, REPR, SCALAR>, IEquatable<OTHER>, IComparable<OTHER>

method O Divide <OTHER, O, DimB> (O rhs) Source #

where OTHER : QuantityLike<OTHER, REPR, SCALAR, DimB>, DomainType<OTHER, REPR>, VectorSpace<OTHER, SCALAR>, IdentifierLike<OTHER, REPR>, AmountLike<OTHER, REPR, SCALAR>, IEquatable<OTHER>, IComparable<OTHER>

interface VectorSpace <SELF, in SCALAR> Source #

where SELF : VectorSpace<SELF, SCALAR>

Operators

operator - (SELF self) Source #

operator + (SELF lhs, SELF rhs) Source #

operator - (SELF lhs, SELF rhs) Source #

operator * (SELF lhs, SCALAR rhs) Source #

operator / (SELF lhs, SCALAR rhs) Source #