
Alexander
28.04.2017
08:36:18
ну в скале нету когеретных классов типов
ладно, если полный код есть я могу подумать, если кто другой не напишет как надо до этого

Denis
28.04.2017
08:44:44
Да это так, развлечения дла мозга. А что есть в хаскелл, для построения кластерных систем? Например раскидать поведения по нескольким нодам которые друг про друга знают и умеют роутит сообщения к нужной, где есть некий стейт для выполнения операций?

Dmitry
28.04.2017
08:45:15
cloud haskell ?

Google

Alexander
28.04.2017
08:45:40
да

Denis
28.04.2017
08:46:36
http://haskell-distributed.github.io/documentation.html#concurrency-and-distribution

Dmitry
28.04.2017
08:46:40
а почему мы его не используем, что бы ноды снюхивать? вместо серванта?

Denis
28.04.2017
08:46:44
звучит как то что надо

Alexander
28.04.2017
08:50:20
не знаю
@notxcain если что его меинтейнеры в этом чятике в том числе
@voidlizard он большой зверь очень в некоторых случаях проще архитектуру можно построить
мы может зопилим более адекватное решение позже, но это ребята в другом отделе делают, и я пока не очень впечатлен тем что там происходит, хотя хорошие идеи есть

Misha
28.04.2017
20:06:53
но суть та же класс для поиска 1 и класс для постиска списка
попробовал, брат жив, но пока Всё Плохо:
getIdx :: IdxLookup ixs i v => GenStore ixs k v -> Key i -> GenIdx i v
и мне понятно, сообщают, что ixs :: [*], из-за определения GenStore. И я как-то туплю и не могу найти куда мне в эту сигнутуру вписать ixs :: [*]
так, пора гист завести видимо

Alexander
28.04.2017
20:07:49
не понимаю вопроса :(

Misha
28.04.2017
20:09:44
да, очень путано
https://gist.github.com/lolepezy/272ee5d708319f040673e150a7ccea60

Google

Misha
28.04.2017
20:09:47
вот
getIdx не тайпчекается, потому что нужен констрейнт, что ixs :: [*]
и я чотопэ
то есть там возможно много остального неправильного тоже, но там я потом разберусь

Alexander
28.04.2017
20:11:38
я через час где-то посмотрю, ок?

Misha
28.04.2017
20:11:48
без проблем, конечно

Artem
28.04.2017
20:45:17

Misha
28.04.2017
21:20:29
это фича, там скорее всего еще куча зависимстей
будет длинно

Artem
28.04.2017
21:45:29

Alexander
28.04.2017
21:53:33
угу там proxy ivs, написатт

Misha
29.04.2017
13:09:38

Alexander
29.04.2017
14:37:58
поменяй ivs там на Proxy ivs

Pavel
30.04.2017
16:52:39
Всем доброго времени суток. Есть ли тут emacs-соводы? Не подскажите ли какой набор плагинов на сегодня лучше всего юзать для разработки haskell?

Kirill
30.04.2017
16:56:57
Spacemacs+haskell-layer удобен.
Все сразу из коробки работает.

Pavel
30.04.2017
16:57:57
У меня просто emacs - я так понял layer - это сборка пакетов? слой такой?
ща гляну из чего оно состоит

Evgeniy
30.04.2017
16:58:31
http://spacemacs.org/layers/+lang/haskell/README.html

Aldar
30.04.2017
16:58:31

Kirill
30.04.2017
16:58:45
Да. И в этом его плюс. Что ничего не нужно самому конфигурировать.

Google

Pavel
30.04.2017
17:00:09
я пробовал spaceemacs - както монстровато.. обратно на emacs со своими настройками переполз. Ну дело вкуса. Настроить самому наоборот в кайф

Evgeniy
30.04.2017
17:00:23
тут сам слой описан, можно глянуть что за пакеты https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Blang/haskell

Pavel
30.04.2017
17:01:29
ну во общем я так понял в этом слое самое актуальное и рабочее на сегоднешний день. Благодарю! Попробую разобраться
а менеджер проектов какой используется. Ну чтобы создать проект. Произвести его тестирвоание и сборку?
Это cabal - я правильно понял?

Alexander
30.04.2017
19:57:20
щас многие любят стеком пользоваться
небезосновательно

Misha
30.04.2017
21:31:55

Alexander
30.04.2017
21:32:14
indexes у тебя не *
он не может существовать на value level

Misha
30.04.2017
21:32:51
ага!

Alexander
30.04.2017
21:33:19
https://gist.github.com/lolepezy/272ee5d708319f040673e150a7ccea60#file-kv-hs-L47 эта строка
как proxy - ты передать можешь

Misha
30.04.2017
21:38:22
окей, это ясно. Но как тогда доставать что-то из конкретного value?
примерно понял куда копать

Alexander
30.04.2017
21:54:03
смотря тчо за value

Misha
30.04.2017
22:12:39
обновил до чего-то компилирующегося
теперь правда он жалуется на overlapping instances при попытке вызвать getIdx
сделал ему -XOverlappingInstances и оно даже нормально работает теперь
спасибо! @qnikst

Google

Pavel
01.05.2017
04:57:42
А elm сильно на haskell похож? насколько зрелый проект?
http://elm-lang.org/
просто интересует какой бы я зык на фронте юзать, чтобы на haskell похож был.

Dmitry
01.05.2017
05:24:46
ghcjs
purescript
если "что бы похож"
elm менее похож, чем перечисленное.


Тёма
01.05.2017
07:02:02
А elm сильно на haskell похож? насколько зрелый проект?
Elm ужасно не похож. Но если хочешь разобраться с синтаксисом, то это самое лучшее.
Ключевые отличия (как по мне)
1. Strict evaluation
2. Система типов. У elm-а все намного проще и примитивнее. После Хаскеля будет не хватать многих фич типа тайпклассов, экзистенциальных типов и тп.
3. Ну и если говорить про синтаксис, то самое знаменитое (привет всем!) это сигнатуры типов (:: vs :). Так же elm взял некоторые плюшки из f# вроде (|>) и (<|).
4. Elm позиционирует себя как язык, который не выбрасывает исключения в рантайме. В эту сторону идёт ещё работа. В частности, неправильно сформированные регулярки на данный момент могут кинуть страшный джсный эксепшн. Это плохо. Касательно х-ля. Ну есть у нас partial functions.
В целом, если хочешь просто что-либо выучить, то elm не будет потерей времени и поможет тебе в последующем изучении х-ля, как по мне. Ну и да, он продакшн ready.


Pavel
01.05.2017
08:19:42
ghcjs
Да вот привык уже на клиенте clojurescript а на сервере clojure юзать. Тут тоже так хочу. В общем нравится то что всетаки попытки есть и их много. Пока что больше приглянулся ghcjs
Под клиент кода даже больше писать приходится чем для сервера. Поэтому этот вопрос лично для меня архи важен


Warren
01.05.2017
09:10:56
"Elm is basically PureScript with the adult content removed"

Тёма
01.05.2017
10:24:43
ELM = entry level mathematics :)

Мерлин
02.05.2017
09:49:43
https://ruhaskell.org/posts/events/2017/04/06/meetup-2017-spring-videos.html

Alexander
02.05.2017
14:22:00
ненавижу гейзенбаги

Misha
02.05.2017
21:00:15

Alexander
02.05.2017
21:00:47
но они везде есть

Misha
02.05.2017
21:05:04
ну блин

Stas
03.05.2017
06:54:50
привет! нет ли инструмента, который чекает цепочку редукций простых лямбда термов?
редуцирую на листке, но постоянно ошибаюсь где-то

Google

Dmitry
03.05.2017
06:55:46
на два поста выше - расцениваем как спам?
пожалуй, да.

Konstantin
03.05.2017
07:17:55
@voidlizard это было в несколько групп распихано сразу

Vladimir
03.05.2017
07:26:51
про лямбда-термы? Это какой-то некст-левел спам)

Dmitry
03.05.2017
07:27:24
чем хорош телеграмм — спамеры тут пропадают бесследно

Stas
03.05.2017
08:15:54
я ведь не про ооп спросил
строгие хаскелисты

Dmitry
03.05.2017
08:17:05
ленивые

Yurii
03.05.2017
08:23:14
А пример можно?)
привет! нет ли инструмента, который чекает цепочку редукций простых лямбда термов?
редуцирую на листке, но постоянно ошибаюсь где-то

Stas
03.05.2017
08:26:02
решил.
let
T = (\fx. f(f x));
in
T T T f x
это из Введение в функциональное программирование. John Harrison глава 2, задача 2