
Alexander
08.07.2016
17:48:24
:)
Местами так и есть
В кодогенераторе куча работы

Denis
08.07.2016
17:49:19
Так от байткода читаемости никто не ждет, ему можно

Google

Alexander
08.07.2016
17:49:30
Я про качество
Быдлокод может быть прекрасно читаем
Так что там с проектами которые без рекордов не запилить?
Я пока только с трейсами согласился:)
Со строками я согласен что плохо, но я не знаю хорошего решения
От ORF я бы не отказался, но это не то что и проблема
В либах гораздо больше проблем
И в эффективных паттернах

Evgenij
08.07.2016
17:56:22
Я про качество
Я опять про орфанс инстансы) Например автор либы прописал у себя класс как мне его тн расширить реализовать Например на третий тип данных определенного в другом модуле через newtype чтото некрасиво а reify коротко что это и для чего

Alexander
08.07.2016
17:56:32
Которые для команды снаружи это действительно проблема
Так давай по очереди, почему этот ворнинг появляется и при каких условиях и почему он важен понимаешь?
Если тебе надо реализовать свой тип данных то ворнинга не будет.
Он появляется если инстанс для типа определен в модуле где не определен ни тип ни класс

Google

Jonh
08.07.2016
17:58:53

Alexander
08.07.2016
17:58:54
Важно это т.к. все инстансы безусловно экспортируются
Управлялка кластером со специальной распределенной фс на несколько десятков Pb
HaskellR для Amgen писали
Еще консультировали AlphaSheets в том же направлении
Ну и один большой европейский проект для кластерных фс
Мелочи всякие
Про орфаны

Evgenij
08.07.2016
18:03:07
Ну например у меня тип в одном модуле 1 KEY a = KEY {getKey :: a} для него class Formatter a where в модуле2 а реализации у всех разные в других модулях

Alexander
08.07.2016
18:03:12
Простой способ это сделать так чтобы или тип или класс были в том же модуле что определение инстанса
Модуль с классом, его импортирует модуль где тип данных и там же инстанс
Проблемы если и тип и модуль в чужих пакетах

Evgenij
08.07.2016
18:04:29
А да уменя всё разбросано было - да проверю те тип и класс в одном модуле а инстансы в уже можно в других)

Jonh
08.07.2016
18:04:39
Почему Haskell? Для каких реальных задач, по вашему мнению, он подходит лучше популярных императивных языков, которые там сейчас используются?

Alexander
08.07.2016
18:04:48
Тогда варианты , или если ты веришь что все гарантировано хорошо, то откдючай warning
Конечно лучше
Особенно если у всех фп бекграунд

Evgenij
08.07.2016
18:05:25
Нет warning надо оставлять ктото советовал однозначно?

Alexander
08.07.2016
18:06:03
Это полезный warning
Но если у тебя executable класс в пакете а, а тип в пакете б, то это самый дешевый способ

Google

Alexander
08.07.2016
18:06:42
Но нужно понимать возможные последствия

Evgenij
08.07.2016
18:07:12
Да понимаем примерно

Alexander
08.07.2016
18:07:24
Отключением ты говоришь компилятору что мамой клянешься что конфликтующего интсанса нет ни у тебя ни в одном из reverse deps и deps
reify это пакет такой с ним можно дать локальный инстанс

Denis
08.07.2016
18:07:50
А, вы и есть qnikst. А тоя смотрю и больно речи похожи.

Alexander
08.07.2016
18:07:56
Я вечером могу до дома дойти написать
Чорт спалили
Только можно не на вы

Denis
08.07.2016
18:08:45

Alexander
08.07.2016
18:08:59
https://hackage.haskell.org/package/reflection

Evgenij
08.07.2016
18:09:09
Я знал что он qnikst -всех можно найти и коyфы и видео и статей куча

Alexander
08.07.2016
18:10:20
Статьи у меня только по физике были, или речь про блог посты?

Alexander
08.07.2016
18:10:37
До CS не дорос:(

Evgenij
08.07.2016
18:12:25
Да конечно - я думаю многие начинали с них и я всё жду когда Денис Шевченко книгу допишет
Можно
Вот авторы http://ruhaskell.org/authors.html

Denis
08.07.2016
18:15:31

Evgenij
08.07.2016
18:16:23
Я читал раний вариант но сейчас переработанный вариант гдето кончается пока внезапно - но интересно?

Denis
08.07.2016
18:16:52

Evgenij
08.07.2016
18:17:21
Я пока "отдыхаю"?

Aldar
08.07.2016
19:24:01
ok, haskell хорош для веб разработки?

Google

adam
08.07.2016
19:30:33

Aldar
08.07.2016
19:30:57
проще на питоне или руби быстро наклепать
имхо)

adam
08.07.2016
19:47:39
Если тебе нужно количество, а не качество. Мне было очень тяжело в нее втянуться ?
Даже несмотря на саму простоту того же руби, эстетика цацкелля до сих заставляет меня не прекращать читать документацию
Но кому я говорю

Quet
08.07.2016
23:48:02
Так что там с проектами которые без рекордов не запилить?
убежать надо было )
так вот -- нет таких проектов которые нельзя запилить без рекордов
как и нет проектов которые нельзя запилить без строк, без монад, без GC. но это ж не значит что это все бесполезные вещи?
так и с рекордами -- это полезная вещь. все "поздние" языки a-la haskell (purescript, elm..) почему-то имеют нормальные рекорды и только в хаскеле пропозал который делает рекорды хоть как-то юзабельными обсуждали 5 лет и еле-еле завезли в 8.0 (и то не до конца)
про либы и паттерны я даже не начинал, одна только обработка ошибок чего стоит. автор каждой либы делает это своим способом и плевать хотел на всех остальных

Evgenij
09.07.2016
05:46:35
Вот почему я думаю нужны стандарты - например хотя бы в группе и прям по пунктам

Admin
ERROR: S client not available

Alexander
09.07.2016
07:20:53
С ошибками все более-менее понятно
Вот логеры нормальные и 100500 протоколов на которые в явамире например есть либы
То, что с исключениями умеют работать единицы

Evgenij
09.07.2016
07:34:46
Проверил орфаны - работает если всё просто а вот у меня чтото нет
module A — типы определенные внутри апп
data Key = Key { getKey :: String}
deriving (Read, Show, Generic) - читается в конфиг через либу те String представление ключа из парсера комм строки
class KeyDecoder a where — генерик декодера
fromKey :: Key -> a
module B — использование провайдера из либы
instance KeyDecoder APIKey where
fromKey x = if T.isPrefixOf "trnsl." ( T.pack key)
then read key::APIKey
else ""
where key = getKey x
module C — либа определённого провайдера
type APIKey = String
в модуле B пробую from key - Ambiguous occurrence ‘fromKey’ defined at module B or A.fromKey imported from module A


Alexander
09.07.2016
17:32:17
Он говорит что в B ты определил метод fromKey
Не метод класса а просто метод
Там проблем с отступами нет?
Т.е.
instance KeyDecoder ApiKey where
<отступ>fromKey x =...
?
Или просто в файле какого левого fromKey не затисалось?
Просто это должно работать все
Ну и синониму типов можно давать инстансы только с расширениями и не надо так делать, тут уж точно newtype надо

Google

Evgenij
10.07.2016
10:10:29
Alexander спасибо проверю но пока немогу

Denis
11.07.2016
06:56:56
Подскажите, есть ли для хаскеля библиотеки, заточенные на работу с блок-схемами (flawcharts)? Интересует как внутреннее представление, так и отрисовка (в html , например). Не хочется велосипеды делать...

Index
11.07.2016
07:19:44
> flawcharts
Схемы недостатков

Denis
11.07.2016
08:43:05
Опечатка закралась
А с визуализацией, оказывается, все довольно грустно. Причем на любом языке, кроме разве что питона и JS, причем на обоих языках все ограничено вебом.
Есть несколько студенческих поделок на qml, есть монстры из мира TeX. Все они выглядят убого и криво.

Evgenij
11.07.2016
17:12:46

Denis
11.07.2016
17:16:21

motiq
11.07.2016
17:16:30
кто-нибудь здесь упарывается по idris?

Denis
11.07.2016
17:16:48
Вот эту концепцию мне хотелось бы реализовать по-человечески
Вот только не пойму, на какой платформе визуализацию пилить. Js я забросил много лет назад и не хочу в него погружаться снова. А с альтернативами как-то плохо.
Нашел, правда, Processing 3, к своему удвлению. Оно на java, умеет генерировать standalone apps для разных платформ и имеет порт для питона (почему-то не завелся у меня).
Это лучшее, что пока удалось найти
С внутренним представление данных все понятно, в принципе. Графы и списки. Над обоими типами придется делать надстройки и весь workaround писать самостоятельно. Это не так уж страшно. Вот с рендерингом хуже.

motiq
11.07.2016
17:22:02
сегодня все делают в вебе
такое вот печальное будущее (настоящее)

Denis
11.07.2016
17:22:24
И что с этим вебом делать потом?
Очередное тормозящее чудовище получится

motiq
11.07.2016
17:22:54
зато работает везде

Denis
11.07.2016
17:23:20
Кстати, по пути нашел довольно любопытную нишу ПО. рисование прототипов интерфейсов ?