I like to describe the ideal programming environment as FormulasPlusAttributes, where attributes may also be considered meta-data. (I prefer to keep the attributes in RDBMS-like things, but if say XML floats your boat, then consider that also.) The formulas would be short and sweet but powerful. '''Programming should be more like math''' instead of lots of repetitous patterns, and where E=mc^2 creates your model then and there. I would rather think about the formula for a day or so and then have most of the solution when I finally do write the little formula rather than start coding a bunch of statements and incrementally get to the final result. Nitty-gritty rules would still exist, but perhaps could be filled in by an intern or the customer themselves by applying the necessary attributes. I am thinking some kind of graphical interface that would allow them to see and draw relationships between sets, such as product categories. (The relationships would be kept in many-to-many tables internally.) The programmer would no longer have to type in a bunch of IF statements to achieve the same thing. Query languages and logical programming sort of promised to be like this, but they seem to lack enough meta power or abstraction to overcome a lot of the repetition that should probably be factored into meta-data or attributes. I know, dreaming, but perhaps we can move a bit closer to such ideal. --top ''Is this distinct from FunctionalProgramming? Your ideas somewhat parallel some of mine, which I've been implementing in a pet project to develop a LISP-like language with built-in persistence, MultiversionConcurrencyControl, and set operations based on ExtendedSetTheory. However, it's not really meant to be an end-user or even end-developer language; I intend it more as a substrate for developing QueryLanguage''''''s.'' -- DaveVoorhis Functional generally does not deal with attribute organization and common attribute-related process factoring. Similar to OOP, it makes no attempt to standardize CollectionOrientedVerbs, letting each programmer re-invent their own. --top ''I'm not sure what you mean by this. Clarify?'' -- DV Functional dictates no standard "base" operators. Relational does. [And what model is E=mc^2?] ----------------------- It seems what Top describes himself as wanting above is a powerful LogicProgramming language - ideally one with a powerful DBMS built right into it (or the ability to attach to one). OTOH, his recent posts seem to indicate he's long changed his mind about this position. See BusinessRulesMetabase, LogicProgramming