Ilya
Сообщество Haskell славится радушием и терпимостью к начинающим (с)
Alexander
@Masteroid а где тут к начинающим плохо относятся?
Alexander
или не объясняют что-то, или издеваются?
Alexander
или это серьёзно было, и у меня сарказм детектор сломался
Ilya
это цитата из книги Холомьева:) просто запомнилась. и я вполне серьезно
Евгений
А чем тем бе haskell learn не нравится?
Alexander
тем же чем и в гиттере
Alexander
нету смысла разделять канал на части
Alexander
большинство ontopic тем генерируются вопросами начинающих
Alexander
приходится сидеть в большем числе каналов
Alexander
в том канале, где народу больше, больше вероятность получить помощь
Alexander
в гиттере правда learning превратилось в лабораторию хистоморфизмов
Alexander
(не знаю как тут)
Евгений
Мне нравится разделение каналов, но я бы пилил наоборот: haskell_flood и основной чат
Евгений
Тут в learn запрещены сложные темы вообще
Евгений
И оффтопик. Ты же не запретишь оффтопик тут? :(
Евгений
Кстати об оффтопике, куда клапауций пропал?
Alexander
на огород уехал?
Alexander
(не знаю)
кана
Alexander
оффтопик убирается онтопиком
Ilya
Alexander
потому, что блин ПОДНИМИТЕ СВОЮ ЗАДНИЦУ И ОТВЕТЬТЕ ТУТ!
Alexander
или тут вообще вопросов не было?
Ilya
я всегда врываюсь во флуд со своими вопросами, и мне всегда отвечают
кана
тут вопрос был, но поему из-за флуда как раз таки тут шанс ответа ниже
Anatolii
это скрин моего сообщения - и я изначально вопрос тут задал, но тут было слишком много оффтопа, и я понял что первого мая мой вопрос затеряется
Евгений
*представил как клапауций сажает картошку и жалуется на несовершенство лопаты*
кана
я например этот чат читаю чанками, потому что уже знаю, что скорее всего тут флуд
Alexander
ну я тут читаю почти все и стараюсь отвечать на все что вижу если не ответили
Anatolii
Спасибо всем кто мне ответил и помог:)
Евгений
Но тут всё-таки токсичнее: клапауций, кроули, я
Alexander
и почему-то большинство вопросов тут отвечено
Евгений
Признайся, ты с астинаксом поругался? :(
Alexander
нет
Alexander
я вроде достаточно стабильно ругаю идею отделять learning, ещё со времен гиттера
Alexander
причем с самого начала той движухи
Anatolii
@kana_sama спасибо за ответы, завтра буду пробовать
Anatolii
мне @qnikst помогал прямо в этом чате когда еще не было лернинг чатов!!!
Anatolii
но людей тут было сильно меньше и флуда тоже
Anatolii
и прямо сильно помогал
Alexander
Дорогие друзья, если вдруг у вас есть вопросы, но вы стесняетесь их задать, поскольку в канале флуд или оффтопик, то не стеняйтесь. На все вопросы тут с радостью ответят в этом канале (может с некоторой задержкой).
Alexander
moderator supapowers!
тот
подкиньте ссылок на видео, текст - чему-то полезному по языку (если под рукой)
Alexander
https://skillsmatter.com/conferences/7276-haskell-exchange-2016#skillscasts
Alexander
и все другие годы (год выбран случайно)
тот
Anton
Раз пошло такое дело, то и я вопрос задам 🙂
Рецензировал я тут давеча Ready, Set, Verify! — Applying hs-to-coq to real-world Haskell code
https://arxiv.org/pdf/1803.06960.pdf
И там есть такой сниппет из библиотеки containers, которую авторы верифицировали:
data Set a = Bin {-# UNPACK #-} !Size !a !(Set a) !(Set a)
| Tip
type Size = Int
Мой вопрос такой: зачем там UNPACK, разве type не создает просто синоним? (это же не `data`)
Ilya
можно как-нибудь скормить кайнд * -> * туда, где требуется *? Какие-то расширения, forall, ... ? Или никак
Andrey
'просто синоним' вроде newtype. остальное забыл за неиспользованием, поэтому не скажу )
Anton
newtype же как раз не синоним (один конструктор с одним полем максимум)
Антон
Антон
Расскажи подробнее, в чём задача?
кана
Антон
кана
лучше забыть про такую терминологию имхо
или универсумы, или type-in-type
в обоих случаях мы говорим про типы, просто типы термов или типы других типов
кана
мало того, сорта как раз одинаковые
кана
BOX
Ilya
Расскажи подробнее, в чём задача?
>Расскажи подробнее, в чём задача?
ничего практического, просто развлекаюсь.
Прочитал третий ответ https://stackoverflow.com/questions/3870088/a-monad-is-just-a-monoid-in-the-category-of-endofunctors-whats-the-problem
Там всё прекрасно, но итоговый инстанс Моноида так и не написан. Я понимаю, что его нельзя выписать из-за разных кайндов. Но вдруг можно с помощью какой-то магии всё же увидеть mempty = Identity; mappend = Compose или что-то в этом духе
Alexander
Alexander
чтобы не было лишнего индирекшена
Alexander
в общем техническая деталь
кана
Anton
а разве для ghc это не то же самое, что и data Set a = Bin !Int !a !(Set a) !(Set a)
| Tip
Anton
?
Ilya
кана
coq/agda/lean, возможно и в идрисе, чет я не очень понимаю что там с универсумами
кана
Semigroup (Type -> Type) where
(<+>) f g = \T => f (g T)
Monoid (Type -> Type) where
neutral = \T => T
join_maybe : (Maybe <+> Maybe) x -> Maybe x
join_maybe (Just (Just x)) = Just x
join_maybe _ = Nothing
кана
идрис
Anonymous
Ilya
newtype - ленивый по конструктору data :)
Ilya
A64m
A64m
сейчас-то он и без аннотации анпак !Int сделает
A64m
не знаю, какими версиями ghc они контейнеры хотят компилировать
Alexander
про memory layout не говорит
Alexander
потом появилось -funbox-strict-foelds