Friend -программирование

Фрэнд имеет мощный аппарат описания инструкций для компьютеров — составления программ и включает математику, часть физики и логики.

  1. Понятие контекста в языке Friend
  2. Данные и переменные в языке  Friend
  3. графо-динамическая База Знаний (гдБЗ)
  4. Бинарные операторы обработки данных
  5. Функции в языке  Friend
  6. Операторы языка  Friend
  7. Интернет программирование
  8. Автоматический поиск решений

Реализация Фрэнда в виде стандартной DLL позволяет встраивать Фрэнд в Ваши предметные разработки.

Friend многозадачная система работающая над специальной графо-динамической Базой Знаний (деревом знаний), состоящим из семиотических понятий выраженных словоформами и их смысловыми связями.

Наиболее крупной частью программы в языке Фрэнд является Задача. Задача полностью автономна, имеет свой набор переменных и свой процесс в операционной системе.

Задача в языке Фрэнд запускается по команде из другой  Задачи, или автоматически — происходящими событиями.

События необходимые для активации той или иной задачи описываются программистом на языке Фрэнд.

Задачи могут  изменять Базу Знаний (записывать, редактировать, стирать в ней связи). Задача может состоять из собственного набора программных инструкций (команд), и\или из набора функций. Функции в языке Френд делятся по месту размещения в памяти компьютера на локальные функции,   глобальные функции, и встроенные функции.

 Встроенные функции определены разработчиками языка Френд, и их богатый набор обеспечивает удобную обработку распространенных математических и других данных.

Локальные функции определяет пользователь-программист в пределах каждой задачи. Локальная функция существует и может быть использована только в той задаче, в которой она определена.

Глобальные функции записываются в Базу Знаний по ее  понятийным разделам. Они существуют всегда и могут быть использованы в любой задаче.

Функции в языке Фрэнд подразделяются на процедуры (которые не возвращают результат), функции (которые возвращают результат), и  теоремы (которые автоматически активируются при наличии заданного условия в задаче).

Функции могут вызывать другие функции и сами себя некоторое число раз, зависящее от количества свободной памяти в вашей системе, но обычно не менее нескольких десятков уровней вложения.

Функции могут описывать новые и активировать описанные прежде Задачи.

Функции могут описывать и записывать другие Функции.

Функции можно помещать в Базу Знаний,  — глобальные функции.

Функции могут записывать или удалять из Базы Знаний факты.

Все переменные описанные непосредственно в Задаче, доступны для чтения и изменения содержимого всем функциям этой Задачи.

Все переменные описанные внутри Функции доступны для чтения и изменения содержимого только в пределах этой Функции.