LINUX.ORG.RU

Haskell, зачем он сейчас? Как состояние ФП?

 , , ,


1

7

Всем привет. Помню как появился Haskell и много стали говорить о промышленном применении ФП.

А где сейчас применяется Haskell? Какого его промышленное применение? Зачем он современному миру, кроме тестирования каких-либо подходов?

То же касательно и других ФП-языков - кто-то полноценно жив?

★★

Последнее исправление: tailgunner (всего исправлений: 1)

Ответ на: комментарий от tailgunner

eDSL сделали не они, а Galois Inc, ребята, которые хаскель и прочие веселые языки для американской военки используют. В касперском os написана во многом на ivory и программируют её больше на Haskell, чем на ivory и си, во всяком случае в том отделе нужны именно Haskell программисты.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

eDSL сделали не они, а Galois Inc

Пусть так. Разницы я не вижу - это всё равно эрзац-Rust.

программируют её больше на Haskell, чем на ivory и си

Источник?

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Источник?

личное общение с ребятами там работающими, и появляющиеся вакансии Haskell программистов, так что придётся поверить на слово.

qnikst ★★★★★
()
Ответ на: комментарий от kirk_johnson

У parsec очень простая реализация. Parsec не генерирует дополнительного кода. У parsec нет ограничений на грамматики. В итоге легко писать парсеры всяких ad-hoc языков с контекстно зависимой грамматикой.

Если прищуриться исполняемый код выглядит в стиле BNF.

anonymous
()
Ответ на: комментарий от qnikst

личное общение с ребятами там работающими

Ок. Хотя писать ядро ОС на ленивом языке со сборкой мусора - так себе идея, но... никто не знает, что требуется от этого ядра.

появляющиеся вакансии Haskell программистов

Чтобы писать на Ivory, нужно быть Haskell-программистом.

tailgunner ★★★★★
()
Ответ на: комментарий от Deleted

Нет. Если у тебя свалит жабист, ты нового жабиста найдешь просто вытянув руку на улице. А на хацкел не найдешь никого :)

если любого программиста, то возможно, если хорошего - то не факт, найти хорошего хаскелиста, зачастую проще, чем хорошего жабиста. А жэесеров, которых пруд пруди, нормальных вообще найти слабореально, так, что тут количество - вопрос интересный.

qnikst ★★★★★
()
Ответ на: комментарий от tailgunner

У касперского все же target язык сишка, возможно уже есть и Haskell модули, я не до конца понимаю всю архитектуру лучше у них лично спрашивать.

Про оси у тех же Galois был HaLVM (https://galois.com/project/halvm/), и haskell-tor на нём. Но я так и не знаю релизнули ли они его и был ли это research проект или для чего-то используется.

Я бы OS на Haskell писать не стал, я не настолько смелый.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Но это платформа для выполнения Haskell-программ (с полной семантикой Haskell, насколько я понял) поверх Xen (не поверх железа). Похоже на Mirage.

Забавно, что на github у Galois есть проекты на Rust. Даже smoltcp xD.

tailgunner ★★★★★
()
Ответ на: комментарий от qnikst

найти хорошего хаскелиста, зачастую проще

Чего? Найти вообще хацкелиста с опытом больше одного курса в универе это как единорога увидеть. А хорошего это анрил.

Deleted
()
Ответ на: комментарий от tailgunner

Но это платформа для выполнения Haskell-программ (с полной семантикой Haskell, насколько я понял) поверх Xen (не поверх железа). Похоже на Mirage.

да, они bare metal обещали, но вроде так и не релизнули.

Забавно, что на github у Galois есть проекты на Rust.

у них даже на Coq есть (не знаю в паблике ли).

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Это не шутка.

Кстати, «хороший» жабист — враг обычного. Посмотри лекции любой конфы по яве. Там такие проблемы обсуждают, за решение которых я бы увольнял. У ноомального программиста таких проблем не возникает впринципе. Только у «хороших жабистов».

Deleted
()
Последнее исправление: rj45 (всего исправлений: 1)
Ответ на: комментарий от Deleted

Это не шутка.

Ну-да, человеку вне индустрии виднее.

Кстати, «хороший» жабист — враг обычного.

я в вашем сегменте не шарю, поэтому не могу согласиться или опровергнуть. Допустим вы правы, или ваше определение «хороший» отличается от моего.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Ну-да, человеку вне ИНДУСтрии виднее.

Извини, не удержался.

Яж говорю, нормальный менеджер программистов никогда не будет искать сишников там, где можно сделать на яве. А хацкелистов вообще никогда не будет, потому что ненужный язык не решающий никаких задач лучше других. Увы.

Deleted
()
Ответ на: комментарий от qnikst

Но это платформа для выполнения Haskell-программ (с полной семантикой Haskell, насколько я понял) поверх Xen (не поверх железа). Похоже на Mirage.

да, они bare metal обещали

Ну ничего себе у них ресурсы.

у них даже на Coq есть (не знаю в паблике ли).

Coq в данном случае неинтересно - на нем ядра не пишут.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

а ещё из относительно релевантного seL4, но у них на Haskell и Isabelle верификация модели, потом с неё на си переписывали (если я верно понимаю, то даже не автоматом). так что тоже в зачет идти не должно, но на эту тему у них experience report был.

qnikst ★★★★★
()
Ответ на: комментарий от Deleted

извините, мне не придумать как съязвить, зато в следующий раз, когда мне нужно будет мнение нормального менеджера, я буду знать к кому обращаться.

qnikst ★★★★★
()

Один раз я этот язык не осилил и за Раст взялся, как думаете после раста легче хаскель будет идти в освоении?

playX ★★
()
Ответ на: комментарий от playX

Один раз я этот язык не осилил и за Раст взялся, как думаете после раста легче хаскель будет идти в освоении?

Безусловно. Если действительно разобрался с Rust, то считай, что полиморфизм и классы типов легче пойдут. Если умеешь использовать Future и итераторы, то очень близок к тому, чтобы научиться использовать монады, а может, и создавать свои. И я не говорю про более простые концептуально вещи типа алгебраических типов данных и паттерн-матчинга.

dave ★★★★★
()
Ответ на: комментарий от dave

С футурами и async вообще не разбирался, больше игрушки писал и сейчас вон пилю ЯП на расте

playX ★★
()
Ответ на: комментарий от playX

если только вторую версию (надеюсь она вышла), во время написания первой Денис ещё не достаточно знал Haskell.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

шутки 10 летней давности, постепенно становятся не смешными.

сколько оцениваешь количество нормальных haskell-программистов в рф?

anonymous
()
Ответ на: комментарий от anonymous

человек 50 с опытом знаю, но я знаю далеко не всех.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Ну, после месяца изучения rust'а я на нем уже написал больше кода чем после нескольких годов попыток написать чего-то на хаскеле. Но отрицать не буду, проблема во мне. Хаскелл требует от программистов слишком высокого IQ, мне не хватает (

С другой стороны, при изучения rust'а очень пригодилось понимание АДТ, паттерн-матчинга и тайпклассов, которые я кое-как получил во время мучений с хаскеллом. Например, зная парсек наваять парсер на каком-то Nom'е - раз плюнуть.

provaton ★★★★★
()
Последнее исправление: provaton (всего исправлений: 1)
Ответ на: комментарий от playX

А «О Haskell по-человечески» стоит прочесть?

Очень красиво оформленная книга. И содержание в начале книги выглядит достойно. Пожалуй, стоит мне тоже приглядеться)

dave ★★★★★
()
Ответ на: комментарий от Crocodoom

архиватор freearc был на нём, но автор его как-то очень тихо забросил. Сейчас в Вики нашёл, что проект возобновлён под названием freearc'next.

grem ★★★★★
()
Ответ на: комментарий от Deleted

А даже если и не встанет на лыжи - еще вопрос, что это именно будет за кодер. А то среди хаскелляторов очень много, так сказать, интересных личностей.

anonymous
()
Ответ на: комментарий от provaton

Насколько я помню жуйк вопросы по Haskell были такие, что ещё чуть-чуть и все будет понятно. Почему ты все бросил, а не разобрался или не спросил до конца, мне не ясно.

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

qnikst ★★★★★
()
Ответ на: комментарий от dave

не надо, это лор и тут корректность не в моде. Тем более я отступился от привычки и только делал короткие замечания вместо подробного расписывается ситуации, как я делал раньше.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Парадокс хаскелла лично для меня в том, что вроде ВСЕ понятно, но вот почему-то код не пишется хоть ты тресни. А если и пишется, то тормозит и выглядит так, что читать второй раз не хочется.

provaton ★★★★★
()
Ответ на: комментарий от provaton

Простая ситуация. Кто-нибудь напишет код в монаде IO. Будет работать быстро. Захочет переписать через MonadIO по примерам из книг - получит код, который будет медленнее в раз 5-7, чем оригинал. Решит, что haskell тормоз, хотя на самом деле надо было продолжить изучать язык, а потом во всех местах с ограничением «MonadIO m =>» добавить прагму INLINABLE или даже INLINE, чтобы снова вернулась прежняя производительность кода, но уже для обобщенного кода!

Согласен в том, что на haskell довольно просто можно написать медленный код, если нет углубленных знаний. Только на С++ тоже надо, к примеру, углубляться в изучение языка, чтобы писать быстрый код.

dave ★★★★★
()
Ответ на: комментарий от provaton

Это я к тому, что в haskell ту же мономорфизацию, говоря языком Rust, нужно создавать в ручную.

dave ★★★★★
()
Ответ на: комментарий от Deleted

Любой может заявить, что он «правду» пишет. За жизню правду-матку. Особенно алкаши так любят говорить.

dave ★★★★★
()
Ответ на: комментарий от dave

Заступлюсь за алкашей. Я думаю, что из них многие знают жизнь лучше тебя и многих из нас. Из некоторых алкашей даже получались известные люди, писатель Чарльз Буковски, например. Можно Ерофеева вспомнить, хотя я не считаю особым достижением «Москву-Петушки», а больше он ничего не написал.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Из некоторых алкашей даже получались известные люди

Да уж... Наверное неспроста обсуждение практичности функционального программирования приводит к обсуждению последствий алкоголизма. Может оно взаимосвязано?

;)))

eao197 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.