#3898 Chemistry DSL
#3898 Chemistry DSL #3898 Think hard. List and describe the various functionality I should add to a chemistry DSL. Do not scimp. Designing a robust Chemistry Domain Specific Language (DSL) requires bridging the gap between discrete graph theory (molecules as graphs) and continuous physics (thermodynamics and quantum mechanics). To create a truly comprehensive DSL, you must move beyond simple molecular weight calculators and build a system capable of modeling chemical logic. Here is a comprehensive architecture of functionality to implement, categorized by domain layer. 1. The Atomic & Molecular Foundation This is the "noun" layer of your DSL. It defines how matter is represented in memory. Periodic Table Singleton: A static lookup for atomic number, mass, electronegativity (Pauling/Mulliken), electron configuration, and common oxidation states. Isotope Support: Do not assume Carbon is 12.011 amu. Allow specific instantiation of ^13C or deuterium ( ^2H ) for NMR and mas...