# MKR

mKR is a high-level programming language which supports the knowledge representation primitives required to create, edit and search knowledge bases. It follows the procedural programming paradigm, using variables and procedures, but also makes use of naturalistic words and phrases, as well as the epistemological notions of definition and context.
mKE (my Knowledge Explorer) is an intelligent knowledge base assistant -- a computer program which communicates using the mKR language.

## Introduction

I am User:Rhmccullough, AKA Dr. Richard H. McCullough, AKA Dick McCullough. I have always been interested in Artificial Intelligence and Epistemology, but my work at Bell Labs was mostly focused on electronics and software development. After I retired from Bell Labs, I devoted my time and energy to designing a new knowledge representation language, mKR (my Knowledge Representation). mKE (my Knowledge Explorer) is an interactive program which interprets mKR statements, questions and commands and records the results in mKB (my Knowledge Base). The "my" adjective emphasizes the focus on personal context, adjusted to fit any situation and purpose.
I wrote my first mKR program in 1996. I implemented mKE using the Unicon language, and executed it on my own personal computer running the UNIX operating system. As mKR and mKE evolved, I created a website with free downloads of mKE, and ported mKE to Windows and Mac OS X. In 2014, I started a non-profit company, Context Knowledge Systems, to continue the development and support of mKR and mKE.
The purpose of this resource is to show you how to use mKR for practical applications. After some brief remarks about mKR design philosophy and special features, you will find an expanding collection of specific examples. The Context Knowledge Systems website includes a complete definition of mKR, an mKR/mKE tutorial, and complete source code for mKE.Rhmccullough (discuss • contribs) 16:00, 26 September 2014 (UTC)

## Design features

* Simple English
mKR's syntax is similar to English, simplified so that the same name is used regardless of tense and number, verbs are always in the infinitive, and attributes always take the first person singular. Starting with mKR's built-in vocabulary, which includes all Natural Semantic Metalanguage concepts,
the user adds his own English words and phrases. These features make mKR easy to use.
* UNIX shell
From the UNIX shell, mKR inherits the conceptual and syntax elements of variables, methods, conditionals, iteration and wildcards. These features give mKR its computational power.
* Context
mKR "implements" the context theories of Ayn Rand and Keith Devlin. The basic mKR statement takes the form
context (aka situation) names a list of sentences, which logically define the context. pplist is an optional list of preposition phrase modifiers.
mKR uses entity-property-sentence hierarchies as a visual aid in grasping the meaning of knowledge, and as a primary means of input/output. For example, see the myhi hierarchy in the next section. These features give mKR the power to enhance the Real Intelligence of its user.

## Special features

The brief examples given below illustrate some special features of mKR.
* relation
* hierarchy
* UNIX shell commands