Idris2Doc : Chem.Types

Chem.Types

(source)

Reexports

importpublic Data.List.Quantifiers.Extra
importpublic Data.Refined
importpublic Data.Refined.Bits16
importpublic Data.Refined.Bits8
importpublic Data.Refined.Int8

Definitions

0IsAtomicNr : Bits8->Type
  Proof that a number is in the range [1,118]

Totality: total
Visibility: public export
recordAtomicNr : Type
  A refined integer in the range [1,118]

Totality: total
Visibility: public export
Constructor: 
MkAtomicNr : (value : Bits8) -> {auto0_ : IsAtomicNrvalue} ->AtomicNr

Projections:
0.prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
.value : AtomicNr->Bits8

Hints:
EqAtomicNr
OrdAtomicNr
ShowAtomicNr
.value : AtomicNr->Bits8
Totality: total
Visibility: public export
value : AtomicNr->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
Totality: total
Visibility: public export
recordMassNr : Type
Totality: total
Visibility: public export
Constructor: 
MkMassNr : (value : Bits16) -> {auto0_ : FromTo1511value} ->MassNr

Projections:
0.prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
.value : MassNr->Bits16

Hints:
EqMassNr
InterpolationMassNr
OrdMassNr
ShowMassNr
.value : MassNr->Bits16
Totality: total
Visibility: public export
value : MassNr->Bits16
Totality: total
Visibility: public export
0.prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
Totality: total
Visibility: public export
MinAbundanceValue : Double
Totality: total
Visibility: public export
IsAbundance : Double->Bool
Totality: total
Visibility: public export
recordAbundance : Type
Totality: total
Visibility: public export
Constructor: 
MkAbundance : (value : Double) -> {auto0_ : HoldsIsAbundancevalue} ->Abundance

Projections:
0.prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
.value : Abundance->Double

Hints:
EqAbundance
InterpolationAbundance
MonoidAbundance
OrdAbundance
SemigroupAbundance
ShowAbundance
.value : Abundance->Double
Totality: total
Visibility: public export
value : Abundance->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
Totality: total
Visibility: public export
multAbundance : Abundance->Abundance->Abundance
Totality: total
Visibility: public export
MaxMolecularMass : Double
  Molecular mass in g/mol

The total mass of ordinary matter of the universe is assumed to be
approximately 1.5 * 10^50 kg, so we probably shouldn't exceed that by too
much.

Totality: total
Visibility: public export
IsMolecularMass : Double->Bool
Totality: total
Visibility: public export
recordMolecularMass : Type
  Molecular mass (or molecular weight) in g/mol

Totality: total
Visibility: public export
Constructor: 
MkMolecularMass : (value : Double) -> {auto0_ : HoldsIsMolecularMassvalue} ->MolecularMass

Projections:
0.prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
.value : MolecularMass->Double

Hints:
CastMolecularMassMolarMass
CastMolarMassMolecularMass
EqMolecularMass
InterpolationMolecularMass
MonoidMolecularMass
OrdMolecularMass
SemigroupMolecularMass
ShowMolecularMass
.value : MolecularMass->Double
Totality: total
Visibility: public export
value : MolecularMass->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
addMolecularMass : MolecularMass->MolecularMass->MolecularMass
Totality: total
Visibility: public export
multMolecularMass : Nat->MolecularMass->MolecularMass
Totality: total
Visibility: public export
recordMolarMass : Type
  Molar mass in Da

Totality: total
Visibility: public export
Constructor: 
MkMolarMass : (value : Double) -> {auto0_ : HoldsIsMolecularMassvalue} ->MolarMass

Projections:
0.prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
.value : MolarMass->Double

Hints:
CastMolecularMassMolarMass
CastMolarMassMolecularMass
EqMolarMass
InterpolationMolarMass
MonoidMolarMass
OrdMolarMass
SemigroupMolarMass
ShowMolarMass
.value : MolarMass->Double
Totality: total
Visibility: public export
value : MolarMass->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
molarMass : Double->MolarMass
Totality: total
Visibility: export
addMolarMass : MolarMass->MolarMass->MolarMass
Totality: total
Visibility: export
interfaceHasMolarMass : Type->Type
Parameters: a
Methods:
mass : a->MolarMass
  Extract the molecular mass of an element or isotope.
In case of an element, this returns the average molar mass
in case of an isotope, it's the same as `exactMass`.
exactMass : a->MolarMass
  Extract the exact molecular mass of an element or isotope.
In case of an `Elem`, this returns the exact mass of the most
abundant isotope.

Implementations:
HasMolarMassElem
HasMolarMassIsotope
HasMolarMassAromIsotope
mass : HasMolarMassa=>a->MolarMass
  Extract the molecular mass of an element or isotope.
In case of an element, this returns the average molar mass
in case of an isotope, it's the same as `exactMass`.

Totality: total
Visibility: public export
exactMass : HasMolarMassa=>a->MolarMass
  Extract the exact molecular mass of an element or isotope.
In case of an `Elem`, this returns the exact mass of the most
abundant isotope.

Totality: total
Visibility: public export
multByAbundance : Abundance->MolarMass->MolarMass
Totality: total
Visibility: export
recordCharge : Type
Totality: total
Visibility: public export
Constructor: 
MkCharge : (value : Int8) -> {auto0_ : FromTo-1515value} ->Charge

Projections:
0.prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
.value : Charge->Int8

Hints:
EqCharge
FiniteCharge
InterpolationCharge
OrdCharge
ShowCharge
.value : Charge->Int8
Totality: total
Visibility: public export
value : Charge->Int8
Totality: total
Visibility: public export
0.prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
Totality: total
Visibility: public export
incCharge : Charge->Charge
  Increase a charge value by one.

Returns the unmodified input if it is already the maximal valid value.

Totality: total
Visibility: export
decCharge : Charge->Charge
  Decrease a charge value by one.

Returns the unmodified input if it is already the minimal valid value.

Totality: total
Visibility: export
recordHCount : Type
Totality: total
Visibility: public export
Constructor: 
MkHCount : (value : Bits8) -> {auto0_ : value<10} ->HCount

Projections:
0.prf : ({rec:0} : HCount) ->value{rec:0}<10
.value : HCount->Bits8

Hints:
CasteElem=>Cast (AtomecprHCounttchl) Formula
EqHCount
FiniteHCount
HasMolecularMassHCount
InterpolationHCount
OrdHCount
ShowHCount
.value : HCount->Bits8
Totality: total
Visibility: public export
value : HCount->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : HCount) ->value{rec:0}<10
Totality: total
Visibility: public export
0prf : ({rec:0} : HCount) ->value{rec:0}<10
Totality: total
Visibility: public export
dataNoH : Type
  Placeholder for atoms without implicit hydrogens.

We can use this instead of `Unit` (`()`), to signal that an atom
does not have any implicit hydrogens, as oppsed to the implicit
H-count not having been determined yet.

For instance, we can have an implementation of
`Cast (Atom Elem c p r NoH t ch l) Formula`, because here we
do not have to add any implicit hydrogens to such an atom,
while no such implementation should be written for
`Cast (Atom Elem c p r () t ch l) Formula`, because in this case,
the `Unit` tag implies that implicit hydrogens have not been
determined yet.

Totality: total
Visibility: public export
Constructor: 
HasNoH : NoH

Hints:
CasteElem=>Cast (AtomecprNoHtchl) Formula
EqNoH
HasMolecularMassNoH
OrdNoH
ShowNoH
dataRadical : Type
  Type of radical if any.

Totality: total
Visibility: public export
Constructors:
NoRadical : Radical
Singlet : Radical
Doublet : Radical
Triplet : Radical

Hints:
EqRadical
FiniteRadical
OrdRadical
ShowRadical
dataHybridization : Type
  Kinds of hybridization

Totality: total
Visibility: public export
Constructors:
None : Hybridization
Planar : Hybridization
S : Hybridization
SP : Hybridization
SP2 : Hybridization
SP3 : Hybridization
SP3D1 : Hybridization
SP3D2 : Hybridization
Tetrahedral : Hybridization
Octahedral : Hybridization

Hints:
CastSmilesAtomATHybridization
EqHybridization
FiniteHybridization
OrdHybridization
ShowHybridization
dataBondOrder : Type
Totality: total
Visibility: public export
Constructors:
Single : BondOrder
Dbl : BondOrder
Triple : BondOrder

Hints:
CastSmilesBondBondOrder
CastMolBondBondOrder
CastBondOrderMolBond
CastaBondOrder=>Cast (AromBonda) BondOrder
EqBondOrder
InterpolationBondOrder
OrdBondOrder
ShowBondOrder
0ChemRes : ListType->Type->Type
Totality: total
Visibility: public export