Small Concept and Extrinsic Function


Kensuke Baba, MD

Department of Clinical Research, National Hospital, Saitama


In 1986, DB Brown suggested the importance of the standardization and authorization of utilities given by %name. This idea developed to establish the term 'Small Concept' at the 14th MUG-J Annual Meeting, and the definition and specification of the Small Concept was systematically documented in the Mumps 14 (the official Journal of MUG-J) by the author in English in 1987 . At that time, extrinsic function had not been introduced into MUMPS language. Nowadays, we can apply the extrinsic function to define 'Small Concepts'. A Small Concept is a extrinsic function defined as follows: (1) that is designed to be used in routine(s) as a module, (2) that is standardized in extrinsic specification (syntax etc.), (3) that extrinsic specification should be documented in an official media (MTA-J's official journal, Mumps, etc.), (4) that name and capability have been authorized, and (5) that should be distributed on public domain under the official protection for authorship and commercial right. The author will notes first that above (1) states that the concept of 'Small Concept' is a subset of that of 'utility'. Details of (2) will be explained. Problems and solutions of (3),(4) and (5) will be pointed out and discussed. A systematized Small Concept Package to handle string processing will be presented precisely as examples of the Small Concept in order to make clear understanding of the term and its idea. Through the presentation, audience will get that Small Concept provides weeding-out process and provides a shortest way to introduce wise functions into the next M language version. The benefit of sub-argument in parameter passing list, i.e. (Arg{:SubArg{:..}},...) will be discussed too. To introduce sub-argument syntax in the language syntax is one of the indispensable requirement, if M language wants to include bi-lingual character set system (composed of both English characters and Japanese characters (Kana and Kanji), for example) and to establish rational coordination with uni-ligual character set system. If the language wants so, that syntax should be introduced into the intrinsic functions (for example, $LENGTH (String{:Font}), where Font is the rate of printing width of letter to type) as well as extrinsic. $LENGTH (String{:Font}) clearly voices a Copernican statement that uni-lingual M language is a default form of bi-lingual M language. Finally, the author will sketch the role of Small Concept to establish the international consensus of "Mother Imaginary M" based on the Copernican revolution.