Library And Primitives Blurring

One technique that makes for a powerful dynamic or meta-language is blurring the distinction between what are "primitives" (built-in operations) and libraries (add-on-able functions, classes, and APIs).

LispLanguage and SmalltalkLanguage are known for this more or less. Some questions:


If the distinction is blurred (LibraryAndPrimitivesBlurring) this gives developers less chance to specialize - and in a recognizable way so.

Forces:

AntiPattern: TooPowerfulForItsOwnGood

So a clear separation between library and primitive is one means to ensure defined domains. There may be other differentiations.

This seems to be an instance of AlternateHardAndSoftLayers.


CategoryMetaprogramming


EditText of this page (last edited April 21, 2013) or FindPage with title or text search