Смотрю перед сном лекции по теории категорий. Лектор просто офигенен. Благодаря ему моего внимания хватает на академический час и при этом не теряю мысль через 5 минут, а лишь изредко перематываю назад непонятные места. При этом это не доклады в стиле "смотрите дети, это функтор". Но на втором академическом часе я начинаю клевать носом и наступает крепкий и здоровый сон. youtube.com

А как я могу поименовать List по имени типкласса чтоб использовать его в констрейнах? Например типа такого: instance List a => Foo a where ... Использовать [] справа единственный вариант? Хочу указать слева аналогично Num a =>

Хочу в деталях понять как работает система типов, пока нет единой модели в голове что конкретно делает конкретный нетривиальный систаксис при программировании на типах. Если ли вменяемый гид по реализации System F в Хаскелл, который можно порекомендовать? Я наверно не убоюсь матлогики в ограниченных объемах, но хотелось бы не сколько про теоретическое лямбда счисление, сколько про конкретную реализацию в Хаскелл в его терминах.

Внезапно, после очередного обновления всё сломалось. Оказалось поломали API MonadMask в exceptions: ввели обобщённый bracket и выразили через него небо и аллах. В целом идея хорошая. Непонятно только почему для него не написали дефолтную имплементацию.

Загадка #2896973 решена. Раньше у меня была 32битная система, а теперь 64. То есть гхц оперирует длинными интами, а в сишке по-прежнему int, то есть 32битные. Я попробовал там поменять на long — стало в 2 раза медленнее, то есть разница уже ближе к той что раньше.

Непонятно что делать с хаскелом. Ставить весь гхц 32битный я не пробовал, я даже не уверен как это сделать в 64битной системе. Менять тип с Int на Int32 не помогло.

что-то проебались полимеры по сравнению с #1628193 — в ghc-8.0.2 самый быстрый вариант раз в 5 медленнее чем сишка. Интересно, это си так улучшилось или гхц ухудшилось? Даже не знаю как проверить, всё уже другое.

Закинул удочку в Serokell, которые вроде б то под руководством Дарта Вейдера^W^WPhilip Wadler пишут свой альткойн на Хаскеле. Питерские, но ищут remote чуваков.

Они созрели и прислали тестовую задачу зафигачить распределенный леджер на блокчейне на хаскеле, с указанным криптоалгоритмом и простеньким API.

Говорят, что работы на 8-9 часов, прислали небольшую заготовку, которая по юникс сокетам коммуницирует, API неможко парсит, таймауты там тестовые имплементит, которые нужны по ТЗ, молодцы.

Бросаться в это? Кто пропустил и хочет, могу зафорвардить, они раскидали тем, кто выразил интерес в середине декабря.

Что-то в stack намудрили такого, что я не могу теперь ghc 7.8.4 на ubuntu использовать. Только несколько вариантов 8.x предлагает. Накатил системный 7.8.4 и пытаюсь понять, как заставить его использовать.

Ищу утечку памяти в программе, где ее в принципе не должно быть: нет рутов, за которые можно было бы зацепиться. Будет или очень глупо, или очень интересно.