1. Необходимо отменить типизирование вообще. А как же x=3.14 спросите вы? А никак. Основу языка должны составлять иерархии. В самом низу целые числа,  а в верхах безразмерные массивы массивов.
  2. Операция типа A=B, где A и B одноранговые массивы должна выполняться, как присвоение элементов массива, а не как присвоение указателей. Если массивы имеют разный размер, то эта операция должна происходить со смещением. В итоге больший массив B заменяет свои элементы элементами меньшего массива A. Или больший массив урезается.
  3. C=Коньюнкция(A,B,x). В массивах A и B есть одинаковые элементы x. Массив С – содержит их порядковые номера. Так же определяются другие логические операции из теории множеств.
  4. Ранговость. Одноранговый массив: R1=(2,45,32,3,767) – набор целых чисел. R2=(0,56,76,3,45,89,5678); Двухранговый массив M состоит из двух одноранговых массивов M[0]=R1; M[1]=R2;
  5. Гетерогенный массив G[0] = R1; G[1] = M; G[2]=0;

В дальнейшем разработать операции с гетерогенными массивами: сложение, вычитание, конъюнкция и т.д. Перестановка и изменение рангов, изменение иерархиезации  и т.д. Все это с одной стороны напоминает ИНС, с другой – базы. На основе таких массивов можно строить онтологии, не заботясь о типах данных, можно ввести понятие «возбуждение» элементов массива, когда определенная низовая одноранговая группа элементов есть ничто иное, как состояния сенсоров. Любые самые сложные сенсорные состояния в итоге есть целые числа, т.к. в основе их аналого-цифровой преобразователь. Изображение, звук, тензо-датчики, температура – все целочисленное в своей основе. Можно еще озаботится об обратных связях с верхних рангов в нижние, так же в виде целочисленных состояний. В итоге мы получим инструмент, с помощью которого можно будет описывать ИНС с изменяющейся структурой.

Чем этот подход отличается от ИНС-строительства? Здесь массив – это целый слой сети. А вся сеть тоже гетерогенный массив. Свертки, весовые коэфы – все это элементы массива, которые транслируются, передаются, копируются все целиком на подобие объектов и классов в системе ООП.

И еще важный момент нетипизированности. Здесь конечно одна сложность заменяется другой. Вместо типов данных вводится понятие ранговости или размерности массива. И понять как гетерогенные массивы «живут» пока не ясно. Живут в смысле взаимодействуют друг с другом и изеняют  свою структуру. Но если это преодолеть, то получится два момента:

  1. Для строгого копирования иногда необходимо уменьшить размерность массива. Для этого надо отбросить часть его элементов. Или нарастить. Не находите аналогии? С фрагментами ДНК, например.
  2. Все это легко перекладывается в "железо". Просто на раз-два. При этом трудности сохраняются конечно. Как перекладывать функции и процедуры? А вот здесь надо сказать, что мне видится не просто RISC-архитектура, а XRISC (eXtendet Reduced Instruction Set Computer). Если уж мы типы отменили, то можно и операции сократить, оставить необходимое и достаточное их количество.

Это всего лишь мысли вслух. Все это навеяно моей работой над Soud-Agent. Конечно все это приходится «лепить» и создавать на Delphi  и на это уходят человеко-часы.

Обновлено (05.10.2014 10:51)