OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 20 Март, 2019 14:06

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 07:30 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Galkov писал(а):
Вот и суперкомпиляции проклевываться начинают с функциональных парадигм... Как бы ну очень эффективных в постановке задачи, но с большими проблемами в реализациях...

Проблем с реализацией функциональных языков не больше, чем с реализацией тех же С++ и Ады.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 11:34 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Начальник Борланда однажды сказал, что стоимость разработки компилятора С++ равна $100 миллионов...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 12:28 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Ну вот. А Рефал был задуман даже не как функциональный язык, а как язык метапрограммирования.
Типа: лепишь на ём интерпретатор - да хоть бы того же C++, запузыриваешь вторую проекцию к супер-компилятору (он имелся в виду с самого начала), а $100 миллионов - кладешь в карман :D

Осталось с BackEnd-ом чего-то зарешать... Но у них есть уже свой план действий (см картинку в "Устройство системы и проблемы"):
Глядишь, лет через 10-20 - и созреет :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 12:37 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Сергей Губанов писал(а):
Начальник Борланда однажды сказал, что стоимость разработки компилятора С++ равна $100 миллионов...
Это вроде Интерсимоне сказал в одном из интервью, когда его спросили, будет ли Борланд делать среду программирования для OS/2.
Это было очень давно (середина 90-х), сейчас эти 100 млн баксов уже намного дороже стоят. Но и имелась в виду среда разработки, а не просто компилятор, стоимость изготовления которого ну максимум несколько процентов от стоимости изготовления всей среды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 13:19 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Сергей Губанов писал(а):
Начальник Борланда однажды сказал, что стоимость разработки компилятора С++ равна $100 миллионов...
А не бросить ли всё, и не заняться ли разработкой компиляторов для С++? :D
Цифра "потолочная".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 13:47 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
igor писал(а):
Сергей Губанов писал(а):
Начальник Борланда однажды сказал, что стоимость разработки компилятора С++ равна $100 миллионов...
А не бросить ли всё, и не заняться ли разработкой компиляторов для С++? :D
Цифра "потолочная".

Что значит "потолочная"?
Взятая с потолка? Да нет, Интерсимоне знал, что говорил.
Потолок цены? А Вы сможете сделать среду качества Visual Studio или C++ Builder за много меньшие деньги? Интересно. Когда займётесь этим?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 14:28 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
> Цифра "потолочная"

А написание Windows Vista обошлось Микрософту в $6 миллиардов.

> стоимость изготовления которого ну максимум несколько процентов от стоимости изготовления всей среды

Мне кажется наоборот. И ещё мне кажется речь всё же шла только о компиляторе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Четверг, 10 Июнь, 2010 18:54 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9096
Откуда: Россия, Орёл
Интерстроновский компилятор, видимо, вышел гораздо дешевле; но это и не удивительно - разница в оплате труда здесь и там...
Разложите эти 100 млн. на 5 лет - 20 млн. в год. Положим 10 - на з/п. На команду из 20-25 чел. (там и подкоманда разработки тестовых сюит, и т.п.). Уже совсем не-астрономически.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Пятница, 11 Июнь, 2010 08:44 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Geniepro писал(а):
Когда займётесь этим?
Сразу же после получения предоплаты 50% от указанной суммы :D .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Июнь, 2010 10:04 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
Представьте, что у Вас есть программа на ФЯ, а Вы берёте и делаете каждую функцию динамически меняющей своё поведение (переключение реализаций и т.п.). В системных задачах это очень важно; не говоря про реальные производительные вычисления. Т.е. при некотором стиле ОО-программирования ФП окажется просто его статической заморозкой. Чистый же ФЯ своей статичностью мешает решению архитектурных задач.

Думаю, эта проблема может быть достаточно легко решена удобным, а потому широко распространённым в ФП, использованием полиморфизма.
В конце концов, ведь даже в оберонах Вы умудряетесь использовать полиморфные структуры данных и алгоритмы их обработки при том, что обероны для этого малопригодны (по сравнению с ФЯ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Пятница, 11 Июнь, 2010 10:30 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9096
Откуда: Россия, Орёл
Должна быть возможность для этого самого узла вычислений (функции) иметь внутреннее состояние. Это только у математиков всё так просто - "чистая функция".

На деле у вас есть набор соединённых компонентов, через которые проходят потоки данных. И относительно этих потоков компоненты, при хорошем проектировании, ведут себя обычно "чисто функционально". Но это на локальных временных интервалах, а вообще, с другой частотой, они уже могут быть не совсем функциональными - их состояние периодически меняется (изменилась конфигурация, что-то переключили, пересоединили, и т.п.).
Такова реальность. Функциональность - хороший стиль, но она относительна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Пятница, 11 Июнь, 2010 11:26 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
(изменилась конфигурация, что-то переключили, пересоединили, и т.п.).
Те места, в которых время от времени может что-то поменяться, переключиться, пересоединиться -- должны быть локализованы. Если же их нельзя локализовать -- то как Вы будете управлять системой в такой ситуации? Она запросто выйдет из под Вашего контроля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Пятница, 11 Июнь, 2010 12:10 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9096
Откуда: Россия, Орёл
В системах есть перпендикулярные слои.

Для примера. Возьмите IDEF-диаграмму - у Вас к каждому функциональному узлу сверху подведены потоки управления.
Т.е. у каждого блока много ролей и фасадов. Функционально он выглядит одним образом, а архитектурно - другим, для того, чтобы он выполнял свои функции, к нему может быть подведено много коммуникаций с "заднего крыльца", и т.п.

Посмотрите Композиту - полезно. Это если нет желания почитать на теоретикосистемные темы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Пятница, 11 Июнь, 2010 15:44 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Galkov писал(а):
Мне показалось, что не только "справа", но и из середины....
Недавно мне пришлось делать мелкую утилитку, где как раз к месту был бы такой паттерн-матчинг строки, при котором между искомыми символами были игнорируемые символы. К счастью для меня их количество было постоянным и небольшим, так что я тупо заигнорировал их в коде программы, но указал при этом их положение.
А вот если бы их количество было бы непостоянным, были бы проблемы -- пришлось бы отказаться от красивого декларативного паттерн-матчинга и воспользоваться банальным поиском подстрок.
Хотя вроде бы есть для Хаскелла какие-то библиотеки сложного разбора строк а-ля Рефал, предлагающие синтаксис, близкий к стандартному паттерн-матчингу, но их ещё искать надо, изучать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Пятница, 11 Июнь, 2010 16:52 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Ну вот видите :)

Хотя вопросы изящества для данного аспекта меня слабо волнуют. Я изучаю вопрос автоматической генерации кода (без показывания его человеку-ценителю изящества), который можно подсунуть суперкомпилятору.

Ибо это именно то, чего не хватает, чтобы"среда HiAsm явилась панацеей, и вскоре все прочие средства и языки, как текстовые, так и графические вымерли в результате естественного отбора"
И пущай Евгений меня цитирует :lol:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Июнь, 2010 10:22 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Илья Ермаков писал(а):
Представьте, что у Вас есть программа на ФЯ, а Вы берёте и делаете каждую функцию динамически меняющей своё поведение (переключение реализаций и т.п.). В системных задачах это очень важно; не говоря про реальные производительные вычисления. Т.е. при некотором стиле ОО-программирования ФП окажется просто его статической заморозкой. Чистый же ФЯ своей статичностью мешает решению архитектурных задач.

Если я правильно Вас понял, то Вы требуете от языка программирования/его реализации возможность динамической загрузки и выгрузки модулей с целью менять реализацию функционала этих модулей, так?

Имхо, не всегда это подходит для той или иной какой-то конкретной задачи, но тем не менее, понятно.

И Вы ставите в недостаток строго типизированным чистым функциональным языкам вроде Хаскелла отсутствие такой возможности, верно?

Ну, тем не менее даже для Хаскелла такую библиотеку (!!!) сделать вполне возможно:

hs-plugins, Dynamically Loaded Haskell Modules

Plugging Haskell In

plugins: Dynamic linking for Haskell and C objects


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Июнь, 2010 10:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9096
Откуда: Россия, Орёл
Geniepro писал(а):
Если я правильно Вас понял, то Вы требуете от языка программирования/его реализации возможность динамической загрузки и выгрузки модулей с целью менять реализацию функционала этих модулей, так?


Я просто уже не представляю, как без этого :)

Это Вы узко формулируете; когда "не плаваешь" - то трудно представить всех мелочей, вообще изменения дела, которые такая штука за собой влечёт.

Но даже если оставить саму по себе динамику: если язык её допускает, значит, система модульности и типизации более сбалансированная, простая и "разделённая" (вместо этих ваших "ортогональностей", когда можно всё тыкать всюду). Отсюда больше возможностей для варьирования реализаций интерфейсов; пусть даже это и не нужно в динамике.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суперкомпиляция, Рефал, ФП
СообщениеДобавлено: Вторник, 15 Июнь, 2010 10:50 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9096
Откуда: Россия, Орёл
Хм. А ветку-то попутал - думал, что это та, где я с Wlad2-ом беседую :)

А тут выше я имел в виду всего лишь, что физически (конструктивно, вычислительно) реализованная функция, в отличие от математической, может имеет состояние, иногда варьируемое. Просто в силу того, что мир так устроен.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB