OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 15:55

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Самодостаточность Haskell'я.
СообщениеДобавлено: Четверг, 11 Март, 2010 14:05 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Судя по всему, haskell таки не является самодостаточным языком. Нет, в идеальном мире, где вычислительные ресурсы бесконечны, у haskell'я проблем бы не было.

Но у нас к сожалению мир не идеальный, в результате, если нам требуется приличная производительность (ну, или хотя бы просто отсутствие тормозов) при, скажем, банальном рисовании на битмапе, то без Сишного кода не обойтись.

В частности мне было предложено использовать для этого http://hackage.haskell.org/package/bitmap
Можете скачать, посмотреть что там внутри, в исходниках: http://hackage.haskell.org/packages/arc ... 0.1.tar.gz

Собственно какой смысл в haskell'e, если всё равно систематически приходится лезть в подвал на уровень Си, который ни разу не безопасен? Уж лучше какая-нибудь жаба что-ли...

Хм. Кажется ocaml более самодостаточен и больше приспособлен к реальной жизни нежели haskell. Надо будет пощупать. По крайней мере проблем с битмапами там точно нет :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Четверг, 11 Март, 2010 15:45 

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

ЗЫ. А вообще да, Хаскелл и Си идут по жизни рука об руку... :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Четверг, 11 Март, 2010 16:20 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Смысл в том, что высокоуровневую логику описываете на безопасном высокоуровневом языке, а низкоуровневые библиотеки реализуются на сях или ассемблере там, тщательно отлаживаются один раз и не трогаются дальше...

ЗЫ. А вообще да, Хаскелл и Си идут по жизни рука об руку... :lol:


А какие преимущества по сравнению с окамлом например? В котором можно и низкий уровень и высокий писать. Низкий более безопасно чем в Си. Высокий почти также как в хаскеле.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Четверг, 11 Март, 2010 16:42 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Кстати, ведь ФЯ как более жесткие по ограничениям, наверное, можно придумать как состыковать с Оберонами?

Как бы такая пристройка могла выглядеть? По-грубому? Скажем, программу на H в отдельном окошке компилим отдельной тулзой?
Видимо, проблема будет придумать стыковку между двумя языками?
Или слишком узкое будет "бутылочное горлышко" по типам передаваемых данных?
Или сделать ФЯ таким, чтобы из Оберона его данные можно было полегче читать?

Не очень понятно, зачем, но забавно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Четверг, 11 Март, 2010 16:57 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Кстати, ведь ФЯ как более жесткие по ограничениям, наверное, можно придумать как состыковать с Оберонами?

Как бы такая пристройка могла выглядеть? По-грубому? Скажем, программу на H в отдельном окошке компилим отдельной тулзой?
Видимо, проблема будет придумать стыковку между двумя языками?
Или слишком узкое будет "бутылочное горлышко" по типам передаваемых данных?
Или сделать ФЯ таким, чтобы из Оберона его данные можно было полегче читать?

Не очень понятно, зачем, но забавно.


Ну делают же стыковку с Си. Значит и с оберонами можно. Другое дело насколько это будет удобно.

С т.з. ФЯ такая стыковка была бы полезна, ибо оберончики таки побезопасне Цэ будут. Да и синтаксис поприятней. И сборщик мусора можно было бы единый использовать :-) Ну или хоть Цэ на модулу-2 заменить что-ли...

С т.з. оберонов насколько такая связка будет полезной не очень понятно, т.к. оберон не сможет нормально пользоваться абстракциями разработанными на ФЯ. Всякие hof, с карингом и лямбдами, выводом типов и проч.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Четверг, 11 Март, 2010 19:29 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
С т.з. ФЯ такая стыковка была бы полезна, ибо оберончики таки побезопасне Цэ будут. ... И сборщик мусора можно было бы единый использовать :-) ...

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

Из оберона не обязательно всеми этими абстракциями пользоваться -- зачем? Это кухня ФЯ.
Просто разумный минимум для обмена данными между Обероном и ФЯ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Пятница, 12 Март, 2010 07:51 

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

Я сам с Окамлом практически не имел дела. Синтаксис Окамла мне кажется ужасным по сравнению с Хаскеллом. Набор библиотек для Окамла, говорят, тоже не ахти. Под виндою вообще ужас-ужас.
С другой стороны, майкрософтская реализация Окамла -- F# -- очень даже ничего. Синтаксис более чистый, чем у Окамла, библиотеки -- .NET Framework, с виндою, само собой, никаких проблем. Единственно что расстраивает -- нет дизайнера форм, а вручную делать формы тоскливо.
Правда, некоторые тоже жалуются, что система типов перегружена, слишком ориентирована на .NET, синтаксис всё-таки сложный...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Пятница, 12 Март, 2010 07:59 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
Ну делают же стыковку с Си. Значит и с оберонами можно. Другое дело насколько это будет удобно.
Основной компилятор Хаскелла включает в себя GCC и может в одном из режимов генерировать сишный код, который транслируется этим самым GCC, так что проблем с интеграцией сишного кода в хаскельную программу нет изначально.
Вот маршаллить данные из хаскелла в си и обратно -- неприятно, утомительно, трудоёмко, обёртки писать надо...
Впрочем, также и у тех, кто хочет из оберонов использовать сишные либы...

Alexey Veselovsky писал(а):
С т.з. ФЯ такая стыковка была бы полезна, ибо оберончики таки побезопасне Цэ будут. Да и синтаксис поприятней.
Насчёт более приятного синтаксиса -- вопрос очень спорный. После хаскелла что си, что паскаль -- одинаковое г...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Пятница, 12 Март, 2010 10:42 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Вооще, как вариант бы, писать критичные по быстродействию места, которые не удается написать на чистом хаскеле, на окамле (с его возможной императивностью и мутабельность) а всё остальное на хаскеле.

Вопрос -- насколько просто взаимодействие хаскеля с окамлом? По идее, языки очень похожи, по кр. мере множество абстракций у них неплохо пересекается, так что, в теории, всё должно быть хорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Пятница, 12 Март, 2010 13:18 

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Самодостаточность Haskell'я.
СообщениеДобавлено: Пятница, 12 Март, 2010 15:03 

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

Ну, Си всё-таки проще, чем Окамль, есть реализации под все платформы, эффективность почти на уровне ассемблера...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

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


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

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


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

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