{-| Module : Isotope Description : Isotope is a chemistry library for calculating masses of elements and molecules. Copyright : Michael Thomas License : GPL-3 Maintainer : Michael Thomas <Michaelt293@gmail.com> Stability : Experimental Import this module to work with the Isotope library. Isotope provides a range of data types, functions and class abstractions for working with elements and molecules. The main focus of Isotope is the calculation of element/molecular masses. For more information regarding Isotope, please refer to the README. -} module Isotope ( -- * Type synonyms for masses IntegerMass , MonoisotopicMass , NominalMass , AverageMass , IsotopicMass -- * Other type synonyms , ElementName , IsotopicAbundance , AtomicNumber , ProtonNumber , NeutronNumber , Nucleons , MassNumber -- * 'Isotope' and 'Element' data types , Isotope(..) , Element(..) -- * Element symbols , ElementSymbol(..) , elementSymbolList -- * Functions taking an 'Element' as input , elementMostAbundantIsotope , elementIsotopicMasses , elementIntegerMasses , elementIsotopicAbundances , elementMonoisotopicMass , elementNominalMass , elementAverageMass , massNumber -- * 'elements' - a map containing isotopic data for each element. , elements -- * Functions taking an 'elementSymbol' as input , lookupElement , findElement , elementName , atomicNumber , isotopes , mostAbundantIsotope , selectIsotope , isotopicMasses , integerMasses , isotopicAbundances -- * 'ChemicalMass' type class , ChemicalMass(..) -- * Elemental composition , ElementalComposition(..) -- * Molecular formulae , MolecularFormula(..) , (|+|) , (|-|) , (|*|) , mkMolecularFormula , Formula(..) , ToMolecularFormula(..) -- * Condensed formulae , CondensedFormula(..) -- * Empirical formulae , EmpiricalFormula(..) , ToEmpiricalFormula(..) , mkEmpiricalFormula -- * QuasiQuoter , mol , emp , con ) where import Isotope.Base import Isotope.Parsers import Prelude hiding (lookup)