kpierre писал(а):
Нечего тут доказывать, т.к. "строгая" -- субъективное понятие. Уже в хаскеле типизация -- полноценная логика, так что по сравнению с ней типизация алгола не сильно строгая.
А, так Вы субъективно обращаетесь не только с видами типизации, но и с языками. Между прочим, Вы первый, кто сказал мне, что в Алголе
-68 нестрогая типизация из-за того, что в Хаскеле используется Hindley-Milner type system. Все остальные считают, что тип выражения в А-68 полностью определён операндами, и никакого вывода не требуется. (т.е., если в Haskell тип 2+3 выводится (inferred), то в А-68 он однозначно определён: int). Неудобно, конечно, но тоже ничего, вполне строго.
Кстати, А-68 реализует так называемую
именную типизацию, т.е. два типа равны тогда и только тогда, когда они имеют одно и тоже имя (квалифицированное в контексте). Что делает сравнение сигнатур тривиальной задачей.
А подводя итог, раз нечего доказывать, то и трепаться нечего. Общепринятое мнение, что типизация в Алголе-68 строгая.
kpierre писал(а):
А зачем вылезать за пределы их фреймворка? Для того фреймворк и есть, чтобы за него не вылезали.
А Вы до сих пор носите детские штанишки? Наверное, нет. Выросли. Так и большинство практических задач рано или поздно вырастают из самого лучшего фреймворка, самой крутой библиотеки.
kpierre писал(а):
Ну, это все равно что говорить, что смысл математики -- в прикладной математике. "Контрол календаря" на этих вещах писать еще рано (и бессмысленно, слишком невелика задача), а вот в плане управления тормозами это вполне себе применимо. Особенно если это что-нибудь вроде тормозов ракеты
Есть люди, которые с Вами не согласятся, например В.И.Арнольд. Сводить Computer Science к прикладным задачам глупо, но цель (и движущая сила) CS — это прикладные задачи.
И, между прочим, недостойных прикладных задач не бывает. А что касается тормозов, то я рад услышать Ваше мнение, как Вы будете писать систему управления. Начиная с работы с оборудованием и кончая интерфейсом с системами более высокого уровня. Как уже упоминалось, требования примерно таковы: 24 канала (с фиксированным сдвигом в 12.8 мкс), предельное отклонение начала чтения 1 мкс (иначе резко падает точность измерения), частота опроса 700 мкс, тактовая частота процессора 20 МГц (Motorola mpc555), архитектура PowerPC. По каждому из каналов следует определить амплитуду и фазу сигнала, плюс для двух определяемых конфинурацией — частоту. Ах да, забыл. Ещё 32 дискретных канал (с устранением дребезга). С чего начнёте? С написания своего планировщика, или с построения интерфейса к ОС РВ? Задачу я диктую по памяти, но я её успешно решил на С++ (ОС — Enea OSE). Пока жалоб на ошибки не поступало.
kpierre писал(а):
Доказать можно, но сложно. В случае соответствующей программы на соотв. языке доказывать нужно только его некоторое ядро, что и было проделано авторами Coq.
Я всё пытаюсь Вам объяснить, что Ваш пример сродни утверждения, что болид Формулы-1 можно разогнать до 60 км/ч. Я верю, поскольку могу это сделать на своём стареньком запорожце (если собаки не испугается). Но преимущества болида перед запором совсем другие. А о них Вы не говорите вообще.