úΙ¬      Safe-Inferred2This 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>alphaportable Safe-InferredParse formula JparseFormula "C2H4" `shouldBe` Molecule [Element "C" 2, Element "H", 4)] Write Molecule to string%.Write ion number in format expected by formula&*Write number in format expected by formula'()*+,-.%&/'()*+,-.%&/ Safe-Inferred !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 01 23 4 5678     10 23 4 56789      !"#$%&'()*+,&"-.&/012345 radium-0.4.2Radium.Formats.SmilesRadium.Formats.CondensedRadium.Element readSmiles writeSmilesMoleculeElementIon readCondensedwriteCondensed atomicNumber atomWeightelectroNegativityionizationEnergyelementelementBySymbolelectronConfigvalanceElectronscovalentBoundsSmiles aliphatics aromaticsEmptyUnknownAromatic AliphaticAtomatom bracketAtomsymbolOrUnknownhcountcharge atomClassnumberaliphaticOrganicaromaticOrganicunknownsymbolwriteIon writeNumberSymbolMoleculeionformula subformula ionNumber$fFunctorMolecule_nameptableconfigExceptionssubshellMaxElectronsshellConfigGen fillShells