Добрый день! Меня здесь долго не было. Но, если вас еще интересует язык Lada могу дать свежие материалы. Сейчас попробую выложить введение и язык описания грамматик. Это подмножество Lada. Но в не формальном виде.
Прочитал. По теме пишет, но мелко берет. Не два уровня языка и иерархия языков. Насчет передачи информации между двумя объектами с помощью поностью известного кода совсем не согласен, что нельзя сообщить новое. Если известны обоим объектам правила конструирования нового, то вполне возможно. Как и объяснить другому что-то не известное. Главное знать правила создания нового. И они переводят на новый уровень.
Насчет взрывов и прочее просто биллетристика. Логический атомизм Рассела почитай.. Или Тарского. По поводу развития цивилизации Турчина "Феномен науки". Рекомендую. Но спасибо. Еще раз убедился что на правильнм пути.
Определение Add(i:Integer, j:Integer):Integer можно считать функцией. Я назвал Функтор для отличия функции от носителей логического содержания. Так как если это функтор, то можно это прочитать так: "для любого целого i и j существует такое целое Add, что Add=i+j" и это высказывание может участвовать в логических вводах как а Прологе. За название не держусь. Может оставить только функции. Только они не могут принимать значение Nothing
2.Понятие функтора я ввел в связи с двойственной природой функции. Например:
Functor Next (I: Integer): Integer {Next=i+1}
можно прочитать как "Для любого целого I существует Next". И это будет правильно, но императивная часть {Next=i+1}обязательно должна иметь значение. Т.е. Функция может иметь значение Nothing, а функтор нет.
Высказывание "Для любого (список переменных) выполняется T" тоже можно представить в синтаксисе функтора так:
Functor T(Список переменных): Boolean
!Высказывание! и/или {Императивная часть}
Так, как я убрал логические переменные вообще, остались высказываания и события, то и логического функтора нет. Остались предикаты. Predicate.
Реально синтаксис немного отличается. И это тема для обсуждения. Оставить функции или нет..И т.д. Здесь много вопросов.
К сожалению, не читал. Сейчас поищу в инете. Хотя меня философия интересует только с точки зрения логики и языков. И, естественно, в историческом плане развития. Спасибо.
Забыл сказать. В классической схеме трансляции действительно не пойдет. Пришлось разработать новый алгоритм трансляции. Да и принципы трансляции отличаются от классических. Лексика линейной эффективности (очень похода на алгоритм Эрли для LL(r) грамматик), а синтаксический разбор все таки рекурсивный (типа Коха-Янгеля). Ничего не могу поделать сама природа вложеных объектов не позволяет создать более эффективный алгоритм. В принципе классическая схема разбора, за исключением того что в матрице разбора не нули-единички, а предикаты (фактически команды проверки свойств анализируемых объектов. Буквы же объекты). К тому же реализован универсальный семантический разбор. Идея очень простая. Так как результатом трансляции являються объекты, то проверка семантики заключается в наличии описания класса-типа создаваемого объекта, и допустимость значений его свойств.
Ну, и само собой, пришлось разработать язык описания синтаксиса-лексики являющийся гармоничной частью языка LADA. БНФ не устраивает.
Спасибо. Это перекликается со многим. Работы Рассела, Гёделя, Тарского, Чёрча, Клини, Турчина и Карла Брюгера и др.весьма уважаемые. Аристотеля не читал. Но, ясное дело, вышеперечисленые авторы неоднократно ссылались на него как на автора логики первого порядка окончательно сформулированную только в 19 веке. После работ Яаaкко Хинтикка хотелось бы реализовать логику высших порядков. В синаксисе предусмотрел. Реализовать вряд ли смогу. Нет времени. Я один работаю. Потому язык этот только в моих документах и разработках. Могу прислать..А лучше пообщаться если интересно. Спасибо. Вы первый кто обратил внимание. А так тема в минусах, что меня не стимулирует к размещению здесь материалов. Ну, добавлю сегодня немного..
Зачем выводы? Я хотел выслушать Ваше мнение. Не умею отформатировать здесь. Я редактировал в Worde. А здесь и шрифтов нет нужных и цвет не знаю как сделать. Подскажите как это сделать. Отредактирую. Спасибо.
Мне очень жаль, что что минуса ставятся без комментариев. Я предложил уточнить таким образом понятия класс и типы.Я здесь хотел получать критику. Скорее не все прочитано или не понято. Где и что не понравилось..И нравится-не нравится слабоватый критерий. Видимо я не на том сайте предлагаю свои мысли.. Сори..
Насчет взрывов и прочее просто биллетристика. Логический атомизм Рассела почитай.. Или Тарского. По поводу развития цивилизации Турчина "Феномен науки". Рекомендую. Но спасибо. Еще раз убедился что на правильнм пути.
Functor Next (I: Integer): Integer {Next=i+1}
можно прочитать как "Для любого целого I существует Next". И это будет правильно, но императивная часть {Next=i+1}обязательно должна иметь значение. Т.е. Функция может иметь значение Nothing, а функтор нет.
Высказывание "Для любого (список переменных) выполняется T" тоже можно представить в синтаксисе функтора так:
Functor T(Список переменных): Boolean
!Высказывание! и/или {Императивная часть}
Так, как я убрал логические переменные вообще, остались высказываания и события, то и логического функтора нет. Остались предикаты. Predicate.
Реально синтаксис немного отличается. И это тема для обсуждения. Оставить функции или нет..И т.д. Здесь много вопросов.
Ну, и само собой, пришлось разработать язык описания синтаксиса-лексики являющийся гармоничной частью языка LADA. БНФ не устраивает.