@haskellru

Страница 1106 из 1551
Denis
20.04.2018
13:47:35
а вот вроде новый типа https://hoogle.haskell.org/

Vasiliy
20.04.2018
13:48:13
хм, забавно, спасибо, первый раз вижу :) похоже скоро hayoo будет не нужен, если я правильно все понял

A64m
20.04.2018
13:51:31
а новый это `https://www.stackage.org/lts-11.5/hoogle?q=` например

Denis
20.04.2018
13:53:08
Google
kana
20.04.2018
13:55:09
там не очень понятно какая версия хугла в нем используется

A64m
20.04.2018
14:06:18
это же стакедж обычный)
нет, это запрос для поиска, можно прямо дальше писать что искать надо

Denis
20.04.2018
14:06:45
но есть пакеты, которых нет на стакедже

A64m
20.04.2018
14:11:18
там не очень понятно какая версия хугла в нем используется
да если попробовать поискать по типу - сразу понятно, у нового там выдается адище

Mikhail
20.04.2018
15:20:37
Посоветуйте, пожалуйста, что почитать/посмотреть для ознакомления с Free монадой?

Anton
20.04.2018
15:21:34
Роскомнадзор заблочил stackage.org ?

Такой подлянки я даже не ждал

Leonid
20.04.2018
15:24:10
Короче третий полный метр смешариков можно не смотреть. Так себе, как обычно.

Victor
20.04.2018
15:28:56
Роскомнадзор заблочил stackage.org ?
они по очереди блочат все репозитории билд-тулов потихоньку, во всех чатах жалуются

Anton
20.04.2018
15:29:15
жизнь через vpn

Quet
20.04.2018
15:30:23
Роскомнадзор заблочил stackage.org ?
угу, вчера еще недоступен был

Anton
20.04.2018
15:31:33
Может мы напишем террористам отдельный мессенджер, ркн его заблочит радостно и ркн отстанет от телеги?

Google
IC
20.04.2018
15:32:34
интересы террористов не учтены. вангую проблемы с успешностью этого решения.

Anton
20.04.2018
15:34:48
эх, а погружаться в предметную область чтот не хочется

придётся жить через впн

Victor
20.04.2018
15:35:35
придётся жить через впн
хостинги впн тоже потихоньку лочат.. DO, scaleway

Anton
20.04.2018
15:36:12
Свой подниму на малоизвестном vps провайдере

ну или эммигрирую к чертям

IC
20.04.2018
15:36:38
у чертей не банят телегу?

Victor
20.04.2018
15:36:59
у чертей - нет

Anton
20.04.2018
15:37:00
Ходят слухи, у них ещё средняя зп выше

Ilya
20.04.2018
15:37:42
Anton
20.04.2018
15:38:15
у меня работает
Чтобы было честно, будь в рф и выключи впн

Ilya
20.04.2018
15:38:30
я в рф, провайдер ДОМ.ру

Anton
20.04.2018
15:38:52
Во, записываем провайдеров, которые саботажники

Pineapple
20.04.2018
15:40:43
У меня провайдер тоже сботирует

https://www.seven-sky.net/

Ilya
20.04.2018
15:43:20
а какой IP у этого сайта? можно проверить по реестру

раньше я узнавал IP через ping или 2ip.ru, но что-то со stackage.org оба этих способа не работают

перестаю понимать современные интернеты :(

Pineapple
20.04.2018
15:44:31
$ host stackage.org 8.8.8.8 stackage.org has address 52.71.209.192 stackage.org has address 52.72.159.235

Google
Ilya
20.04.2018
15:44:50
а если перейти по ним, там просто



так что не всё так просто

но если ввести доменное имя, то попадаю именно на сайт, а не на Welcome to nginx

Pineapple
20.04.2018
15:45:57
❌ 52.71.209.192 заблокирован, идентификатор записи #884508

❌ 52.72.159.235 заблокирован, идентификатор записи #884508

Он, вероятно, на хост в HTTP запросе смотрит

A64m
20.04.2018
16:07:35
у меня сегодня стекедж доступен, но пару дней назад не был

Александр
20.04.2018
20:41:52
Чорд, спалился!

Да ладно, не сегодня же. Все уже в прошлом!

Ignat
20.04.2018
20:43:07
Да все плюсовики так говорят

Александр
20.04.2018
20:45:32
У меня нет зависимости! Захочу - брошу фри-монады.

Ignat
20.04.2018
20:46:43
А брат как себя чувствует?

Александр
20.04.2018
20:47:09
Жив, по последним данным

Anton
20.04.2018
21:43:35
Забавно, VSCode тоже нельзя скачать без VPN

Dmitry
20.04.2018
21:47:54
Лишь бы только VPN можно было скачивать

Kit
21.04.2018
04:21:58
Кто сталкивался с Constraint?

Expected a type, but ‘Zp a’ has kind ‘Constraint’

Google
Kit
21.04.2018
04:22:25
не могу понять как это обойти

class Zp a where genP :: a genQ :: a -- генератор мультипликативной секьюрной подругрппы pBase :: a qBase :: a toZp :: Integer -> a fromZp :: a -> Integer instance Num (Zp a) where fromInteger = toZp :: a -> Zp a (+) a b = fromInteger $ (fromZp a) + (fromZp b) (*) a b = fromInteger $ (fromZp a) * (fromZp b) (-) a b = fromInteger $ (fromZp a) - (fromZp b) negate = (-) pBase

Aleksey
21.04.2018
04:34:50
Ошибка говорит, что вы пытаетесь инстанциировать класс Num для класса, а это делается для типов

Думаю, вы хотите instance Zp a => Num a where

Kit
21.04.2018
04:36:22
сделал так, возникло много прагм (кажется они так называются) и ghci говорит что код неправильный

Aleksey
21.04.2018
04:37:20
Требование расширений, это нормально.

Kit
21.04.2018
04:38:26
ну хотя бы я внутрь объявленя класса зашел в компиляции :)

Admin
ERROR: S client not available

Aleksey
21.04.2018
04:41:02
ещё неправильно написана сигнатура a -> Zp a

Zp - это класс, а не тип. Поэтому он ожидается в позиции констреинта

T.е. правильная сигнатура будет выглядеть так fromInteger :: Zp a => Integer -> a

Kit
21.04.2018
04:44:53
ещё неправильно написана сигнатура a -> Zp a
это был случайный тык, уже удалил

но пока сложности еще есть

Aleksey
21.04.2018
04:45:05
Но дальше будет больше проблем.

Kit
21.04.2018
04:45:14
а в классы вообще нельзя передавать классы?

Aleksey
21.04.2018
04:45:36
Только в роли констреинта

И это не "передавать"

Kit
21.04.2018
04:46:30
cмысл понял

Aleksey
21.04.2018
04:46:58
Констреинты, это просто подсказки для компилятора, позволяющие отсечь overlapping instances

В данном сулчае мы имеем проблему - констреинт Zp a => никак не "уменьшает" область поиска инстансов. И для компилятора нет разницы между нстансами instance Zp Int => Num Int where и instance Num Int where

Google
Aleksey
21.04.2018
04:50:20
Т.о. компилятор не может выбрать, какой "плюс" использовать: (+) :: (Zp a, Num a) => a -> a -> a или (+) :: Num a => a -> a -> a

Kit
21.04.2018
04:50:21
а как это обходится?

Aleksey
21.04.2018
04:50:42
Заворачиванием в newtype

Kit
21.04.2018
04:50:48
может сигнатуру прописать к функции (+) ?

Aleksey
21.04.2018
04:52:29
Нужно завести тонкую обёртку class Zp a where ... newtype Zpable a = Zpable a instance Zp (Zpable Int) where ... instance Num (Zpable a) where ...

Тут чётко отделены типы, которые умеют Zp от всех остальных, которые умеют Num сами по себе

Kit
21.04.2018
04:54:36
как громоздко однако

сейчас буду пробовать

спасибо

Aleksey
21.04.2018
04:56:45
Добавился по сути один newtype и немного изменились сами инстансы. Не сильно более громоздко стало

Kit
21.04.2018
04:56:55
я предполагал создать еще структуру данных с именем FiniteField это видимо то что нужно запихивать в newtype

я думал так: создам классы, которые буду нанизывать один на другой, а в самом основании будет тип данных

нанизывать видимо нельзя, можно "ограничивать"

Aleksey
21.04.2018
04:58:19
Тут проблема не в самом подходе

Kit
21.04.2018
04:58:40
и тип данных надо как-то еще крутить на всех уровнях

Aleksey
21.04.2018
04:58:52
Просто нельзя навешивать класс (констреинт) на уже существующую связку (инстанс) тип - класс

Kit
21.04.2018
04:59:59
а если я запилю свои собственные классны с инстансами с блекджеком и дамами?

без существующих инстансов

не пересекаясь

Страница 1106 из 1551