I really like Dijkstra's definition (explanation) of abstraction. An abstraction will hide some of the stuff but not all. Only the ones that is related to the target domain of the abstraction should remain. Other irrelevant ones should be hidden. Preliminary examples are domain specific languages. But they are far from perfect at this point.
I really like that definition, too.
Follow up question: does your language actually let you do that? I mean, really omit unnecessary details?
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.