úÎ28     Safe2This model describes molecules with valence boundsSet of all aliphatic symbolsSet of all aromatic symbolsParses textual representationWrite SMILES to string  !"#$ !"#$$Copyright (C) 2014 Krzysztof LangnerBSD3&Krzysztof Langner <klangner@gmail.com>alphaportableSafe Parse formula JparseFormula "C2H4" `shouldBe` Molecule [Element "C" 2, Element "H", 4)] Write Molecule to string%Write Molecule to string&.Write ion number in format expected by formula'*Write number in format expected by formula( )*+,-./ %&'0  ( )*+,-./ %&'0Safe!Find element by its atomic number atomicNumber (element 8) == 8 Find element by its symbol (atomicNumber (elementBySymbol "O") == 8 ÝShow number of electrons in each shell For elements which are exception to Aufbau principle configuration is given manually Is it possible to calculate it for all elements based only on atom properties? -let e = element 8 shellElectrons e == [2, 6] Number of valance electrons *let e = element 8 valanceElectrons e == 6 $Number of covalent bounds in element (let e = element 8 covalentBounds e == 2 123456789  142356789:       !"#$%&'()*+,-&"./&0123456radiu_3xepsB6d912C0lGUzXsAh4Radium.Formats.SmilesRadium.Formats.CondensedRadium.ElementSmilesAtom AliphaticAromaticUnknownEmpty readSmiles writeSmilesMoleculeIonElement readCondensedwriteCondensed atomicNumber atomWeightelectroNegativityionizationEnergyelementelementBySymbolelectronConfigvalanceElectronscovalentBounds aliphatics aromaticsatom bracketAtomsymbolOrUnknownhcountcharge atomClassnumberaliphaticOrganicaromaticOrganicunknownsymbolwriteCondensed2writeIon writeNumberSymbolMoleculeionformula subformula ionNumber$fFunctorMolecule_nameptableconfigExceptionssubshellMaxElectronsshellConfigGen fillShells