metaclass: (Default)
[personal profile] metaclass
Пытался написать прогу на хаскеле, которая читает файл, обрабатывает его и дописывает в его конец новую строку. Тут же напоролся на lazy i/o и то, что после hClose файл уже не читается, а до hClose файл нельзя открыть на запись. C readFile аналогично.

Кстате, что-то я в System.IO совсем не вижу вариаций openFile с ShareRead/ShareWrite, оно что ле вообще не предусмотрено?

Date: 2009-12-06 10:17 am (UTC)
From: [identity profile] theiced.livejournal.com
Ребе, если вы таки ещё не поняли что хаскель это академическая поделка не пригодная для реальной жизни - мне вас жаль.

Date: 2009-12-06 10:29 am (UTC)
From: [identity profile] metaclass.livejournal.com
Ну, апологеты считают иначе.
Мне нужен язык с выводом типов, каррированием, ФВП и прочими подобными фичами, а синтаксис эрланга, окамла и схемы меня бесит.

Основная проблема, которую я вижу с хаскелем, кроме его академичности - это то, что если где-нибудь посередине сложного проекта на нем начнутся баги в компиляторе - это будет очень смешно :) А вероятность такого есть, скажем, YHC я убивал прожкой в три строки.

Date: 2009-12-06 10:48 am (UTC)
From: [identity profile] theiced.livejournal.com
>Ну, апологеты считают иначе.
Мне нужен язык с выводом типов, каррированием, ФВП и прочими подобными фичами, а синтаксис эрланга, окамла и схемы меня бесит.

Что не так со схемой? Эрланг тоже кстати вполне себе. Окамль я не осилил (но на нём тоже пишут тяжёлый софт). Все три продакшн-рэди.

>Основная проблема, которую я вижу с хаскелем, кроме его академичности - это то, что если где-нибудь посередине сложного проекта на нем начнутся баги в компиляторе - это будет очень смешно :) А вероятность такого есть, скажем, YHC я убивал прожкой в три строки.

Вероятность этого - 100% - вообще, науке не известны большие проекты писанные на хаскеле (хотя бы по причине того что пока проект будет написан, в хаскеле всё поменяется и ничего не будет работать ;]).

Date: 2009-12-06 11:07 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Вообще-то, компилятор хаскеля написан на хаскеле и вместе с базовыми библиотеками в упаковонном виде весит овер 6 мег. При этом себя бутстраппит.

Date: 2009-12-06 12:29 pm (UTC)
From: [identity profile] theiced.livejournal.com
Я в курсе. И фигли толку? Вон на жаве из гуйни написано 100500 иде для жавы. Жава пригодна для гуи?

Date: 2009-12-06 12:41 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Ээээ. А фигли тогда говорите заведомую неправду-то ?

Date: 2009-12-06 12:45 pm (UTC)
From: [identity profile] theiced.livejournal.com
давайте мне пример чегой нить КРОМЕ компилятора хаскеля.

Date: 2009-12-06 01:42 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
А зачем? Утверждение с квантором общности опровергается одним контрпримером.

Date: 2009-12-06 02:11 pm (UTC)
From: [identity profile] theiced.livejournal.com
Вот новое утверждение - на хаскеле не сделано ничего значимого кроме компилятора хаскеля (а он таки проект небольшой) == он не годится для написания больших проектов.

Date: 2009-12-06 02:33 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Дополнение: проект, который на другом языке был бы большим, на хаскеле с высокой вероятностью будет маленьким.

Date: 2009-12-06 02:37 pm (UTC)
From: [identity profile] antilamer.livejournal.com
1) bluespec.com ? galois.com ?
2) Что Вы называете "большой проект"? Учтите, что мерить в количестве строк, количестве программистов или времени разработки некорректно т.к. подобное утверждение можно будет опровергнуть тем, что хаскель лаконичен, достаточно продуктивен чтобы стопицот программистов было не нужно, а действительно качественная компиляция и много библиотек появились лишь сравнительно недавно. (внимание: я не утверждаю, что это так - я утверждаю, что если Вы будете мерить именно так, то обсуждение зайдет в тупик)

Date: 2009-12-06 03:41 pm (UTC)
From: [identity profile] volodymir-k.livejournal.com
Да, Жава пригодна для гуи.

Date: 2009-12-07 08:44 am (UTC)
From: [identity profile] henu3detb.livejournal.com
Конечно.
Что не так с гуйней на джаве?

Date: 2009-12-07 03:20 pm (UTC)
From: [identity profile] levgem.livejournal.com
А назовите мне пример хотя бы одной софтины на яве, которая бы быстро работала и имела нативный интерфейс, а не коряво сымитированный.

Date: 2009-12-07 03:27 pm (UTC)
From: [identity profile] henu3detb.livejournal.com
Нативный - все что на swt, eclipse, например. Насчет быстро можно спорить, по мне eclipse отзывчив весьма, хотя как IDE не нравится.

Еще есть коряво сымитированный Oxygen XML. Настолько коряво, что мало кто об этом догадывается, пока не покажешь что это swing.

Date: 2009-12-09 10:51 am (UTC)
From: [identity profile] volodymir-k.livejournal.com
Azureus Vuze

Date: 2009-12-06 11:50 am (UTC)
From: [identity profile] metaclass.livejournal.com
Схема напрягает своим синтаксисом и отсутствием вывода типов.
Эрланг меня печалит своим синтаксисом и вроде у него динамическая типизация.
Окамл лежит на сайте в домене .fr, что само по себе напрягает - от лягушатников ждать ничего хорошего нельзя :)

Date: 2009-12-06 12:28 pm (UTC)
From: [identity profile] theiced.livejournal.com
Ребе, на вас ещё не снизошло просветление (это про схему).
Про эрланг - я не профи в эрланге, но очень многим нравится.
А про окамл - это вже придирки.

Date: 2009-12-06 01:39 pm (UTC)
From: [identity profile] clayrat.livejournal.com
да, за окамл вы это зря. у "лягушатников" сильнейшая математическая подготовка в мире.

Date: 2009-12-06 12:15 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Чем схема менее академична и более "продуктивна" чем Хаскель?

Date: 2009-12-06 12:27 pm (UTC)
From: [identity profile] theiced.livejournal.com
Тем что на схеме пишут (и пишут много). Да, в большинстве случаев это эмбедед схема, но не пофиг ли?

Date: 2009-12-06 01:37 pm (UTC)
From: [identity profile] clayrat.livejournal.com
честности ради надо сказать, что масштабные "индустриальные" проекты всё ж обычно пишут на common lisp

Date: 2009-12-06 02:12 pm (UTC)
From: [identity profile] theiced.livejournal.com
ну есть такое, спорить не буду. но и схемы хватает.

Date: 2009-12-06 03:07 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Как на ней что-то писать можно кроме мелочи на 10 строк - не понимаю.

Date: 2009-12-06 10:05 pm (UTC)
From: [identity profile] theiced.livejournal.com
Не. В очередной раз убедился что фанатики хаскеля тупы ещё более чем ораклисты. даже флэйма толком не выйдет.

Достали. Сидите и дрочите на свой кривохаскель. Удачи.

Date: 2009-12-07 07:49 am (UTC)
From: [identity profile] freiksenet.livejournal.com
Слив засчитан.

Date: 2009-12-06 05:57 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Для чего хватает? Для решения примеров из SICP и для создания экстешненов для Inkscape?

Date: 2009-12-06 05:53 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Ну может для встроенных языков она и хороша, но писать полноценные проекты на ней сложно изза практического отсутствия достойных библиотек.

Date: 2009-12-06 04:39 pm (UTC)
From: [identity profile] kkirsanov.livejournal.com
Сейчас в тебя кинут штангу ;)

Date: 2009-12-06 05:54 pm (UTC)
From: [identity profile] freiksenet.livejournal.com
Штангу кинут в того с кем я спорю :))

Date: 2009-12-06 10:55 am (UTC)
From: [identity profile] little-arhat.livejournal.com
а что не так с синтаксисом окамла? oO

Date: 2009-12-06 11:08 am (UTC)
From: [identity profile] permea-kra.livejournal.com
У меня за год использования ghc он упал в одном месте и то при использовании сомнительных фич. В рамках haskell98 глюки крайне маловероятны.

Date: 2009-12-06 01:55 pm (UTC)
From: [identity profile] gds.livejournal.com
синтаксис окамла -- нужно брать revised и только его. original syntax -- говнище.

Date: 2009-12-06 11:20 am (UTC)
From: [identity profile] permea-kra.livejournal.com
ЭЭэ... Ребе, а вам точно надо писать в тот же самый файл? По хорошему, надо бы в соседний, а потом мувнуть.

System.Posix.IO ?

Date: 2009-12-06 11:44 am (UTC)
From: [identity profile] metaclass.livejournal.com
Зависит от размера файла. Если это мелкий файл с текущим состоянием - то да, так и надо делать.
А вот если это лог изменения состояния начиная с времен царя гороха - то таки нужно дописывать в конец.

Date: 2009-12-06 11:49 am (UTC)
From: [identity profile] lionet.livejournal.com
Ну так открывай два файловых дескриптора. Один на чтение файла, а другой на запись.

Что, Windows этого не умеет?

Date: 2009-12-06 11:55 am (UTC)
From: [identity profile] metaclass.livejournal.com
Windows умеет, а вот Хаскель на ней - похоже нет:
http://hpaste.org/fastcgi/hpaste.fcgi/view?id=13672#a13672

check.exe: test: openFile: permission denied (Permission denied)

Date: 2009-12-06 12:24 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Кстати, System.Posix.IO - это где, в виндовом ghc его нету.

Date: 2009-12-06 12:36 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
unix package. В винде можно взять winio package, наверно...

По записи - в таком случае, по идее, таки ручками делать IO. В смысле, совсем ручками, через свой буфер. Или ковырять хакадж, там с высокой вероятностью что-то есть.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 6th, 2025 08:29 pm
Powered by Dreamwidth Studios