{-| Module : Isotope Description : Isotope is a chemistry library for calculating masses of elements and molecules. Copyright : Michael Thomas License : GPL-3 Maintainer : Michael Thomas 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 ( -- * Infix operators used in `Isotope` Operators(..) -- * Types for masses , IntegerMass , MonoisotopicMass(..) , NominalMass(..) , AverageMass(..) , IsotopicMass(..) -- * Other types , 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 , findElement , elementName , atomicNumber , isotopes , mostAbundantIsotope , selectIsotope , isotopicMasses , integerMasses , isotopicAbundances -- * Formula type class , Formula(..) -- * Elemental composition , ElementalComposition(..) , ToElementalComposition(..) , mkElementalComposition -- * Molecular formulae , MolecularFormula(..) , ToMolecularFormula(..) , mkMolecularFormula -- * Condensed formulae , CondensedFormula(..) , ToCondensedFormula(..) -- * Empirical formulae , EmpiricalFormula(..) , ToEmpiricalFormula(..) , mkEmpiricalFormula -- * QuasiQuoters , ele , mol , con , emp ) where import Isotope.Base import Isotope.Parsers import Prelude hiding (lookup)