← All posts tagged specialolympic

qnikst
Haskell typefun specialolympic А давайте спецолимпиадку по типам? Есть код codegists.com это Freer для стрелок, но с ним проблема, нужно квадратичное число инстансов, так надо определять Category (Freer Category eff), Category (Freer Arrow eff), несмотря на то, что Category => Arrow. Что очевидно очень печально, и хотелось бы это поправить.

У меня получилось такое:

gist.github.com

Есть чуть более простые варианты но с тоже с квадратичным числом инстансов, хоть и более простых. Так же можно запилить вариант на TH который будет сразу генерить полный instance search, но это читерство.

Принимаются варианты и предложения по улучшению гиста.
qnikst
programming ghc specialolympic Только сегодня и только сейчас [*] у вас есть отличная возможность
поизучать внутренности ghc, особенности компиляции и различные
stage и помочь мне понять, есть ли там баг или почему я дурак

Вот есть мелкий пример кода, который работает не как надо:
gist.github.com
подразумевается, что после компиляции и запуска я увижу:

1
1

а выводится только:

1

т.к. в функции test. case тупо игнорируется.

Мне кажется, что проблема в типе cast, т.к. scast работает нормально (см. мой предыдущий пост). Но так же мне кажется, что даже не смотря на эту проблему должен генериться валидный кот.

[*] — оборот в рекламных целях
qnikst
Go specialolympic #парамеирический-полиморфизм-для-лохов товарищи предлагаю спец олимпиаду — нужно написать на go identity function (функция, которая возвращает то значение, которое передано ей в качестве аргумента)