@haskellru

Страница 1065 из 1551
Alexander
06.04.2018
04:15:33
в общем я сильно тупанул

все хитрые оптимизации изоморфны :(

Product может не быть изоморфен декартову произведению в общем случае?

Andrew
06.04.2018
04:36:59
*простите

Google
Imants
06.04.2018
04:58:15
кажется я готов почитать учебник по теоркату, есть хороший?
Вот подробный, прикладной и местами понятный: http://www.math.mcgill.ca/triples/Barr-Wells-ctcs.pdf Old school

Leonid
06.04.2018
05:31:27
https://twitter.com/kmett/status/982078739482738688

15-45%, матерь божья

Конечно танцев с файлами нужно как в джаве

Dmitry
06.04.2018
06:20:55
Кстати, подскажите, а есть какая-то эффективная по времени структура, аналог Data. Set Char? Хранить предполагается ~150 символов.

Эффективная по операции проверки принадлежности элемента множеству

Alexander
06.04.2018
06:23:20
ну вот у эдварда кметта на 15-45% эффективнее

мне кажется вполне эффективно

Leonid
06.04.2018
06:23:37
Vector сортированный?

Dmitry
06.04.2018
06:24:32
Ну так там тот же O(log N), что и у Data.Set

Хотя можно просто более эффективно реализовать

Alexander
06.04.2018
06:26:53
в военное время логарифм равен константе

особенно учитывая что записей меньше чем 2^8

Google
Dmitry
06.04.2018
06:27:37
Ну поэтому Data.Set пока довольно быстро работает в проекте.

Ладно, попробую на backpack'ах.

Alexander
06.04.2018
06:30:02
вообще странно, я смотрю на этот сет и не монимаю где ограничение на типы

а, его просто спрятали

Yuriy
06.04.2018
06:33:18
в функциях

Dmitry
06.04.2018
06:33:32
Vector сортированный?
Всё-таки его возьму, там значения будут плотно упакованы, меньше прыготни по указателям.

Alexander
06.04.2018
06:36:09
вообще говоря, задача поиска по упорядоченному дереву это ведь задача про отношение памяти к скорости

а хотя нет, если там только Ord то дерево 100% бинарное

вот если бы Foldable

Yauheni
06.04.2018
07:35:31
в этом чате обсуждение идет 24\7 как я понимаю?

Дед Пегас
06.04.2018
07:35:59
На то он и чат, собственно.

Dmitry
06.04.2018
07:36:04
нет, сейчас работаем над новыми правилами, которые регламентируют время отбоя, тихого часа днём и перерыв на сон ночью

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

Dmitry
06.04.2018
07:36:27
А то люди не успевают отдыхать, потом баги.

Yauheni
06.04.2018
07:38:25
о кстати хотел спросить давно если ктонибудь здесь вимом пользуется какой плагин для хаскель синтаксиса используете?

Dmitry
06.04.2018
07:39:00
он вроде из коробки хаскель подсвечивает

Andrew
06.04.2018
07:39:01
https://github.com/neovimhaskell/haskell-vim

Dmitry
06.04.2018
07:39:08
я еще hasktags использую

правда сотрудники регулярно выпиливают его хуки из Setup.hs

Yauheni
06.04.2018
07:41:09
когданибудь и я буду писать на хаскеле на работе

Google
Alexander
06.04.2018
07:42:10
нарушители будут караться приседаниями с подушкой в вытянутых руках
слабовато. Мы вот разбивались по парам и с партой приседали. Если парта наклонялось приседание не засчитывали

Dmitry
06.04.2018
07:42:57
хаскеллисты добрые, спросите в фпроге_спб

分解物質
06.04.2018
07:46:15
Или чистые функции в C (по аналогии с монадами в Haskell) — читерство?
в C++ есть самые настоящие чистые функции -- constexpr функции. даже ещё более чистые чем в haskell

Alexander
06.04.2018
07:46:52
это макросы

нормальные, человеческие. но макросы

分解物質
06.04.2018
07:47:13
constexpr функции не макросы

Alexander
06.04.2018
07:48:07
все что compile time это макросы

分解物質
06.04.2018
07:48:09
они такие же функции как и все функции только в них запрещён стейт и сайд эффекты

Alexander
06.04.2018
07:48:37
а, точно

я чет тупанул

c++14 не читал

分解物質
06.04.2018
07:48:59
все что compile time это макросы
constexpr функция остаётся в бинарнике как функция, которой можно кидать значения неизвесные в compile-time

Dmitry
06.04.2018
07:49:07
Вот у меня в основном модуле взаимодействие с C++ через Vector.Storable. А надо ли потом для архитектурной красоты переводить в Vector.Unboxed? Или это нормально, что по всей программе будет Vector.Storable раскидано?

Alexander
06.04.2018
07:49:14
да, я уже загуглил

ну все, подрубаем монады и пишем чистый код

вот хороший язык кресты. Не сам по себе, а потому что развивается грамотно

ждем C++30

Dmitry
06.04.2018
07:52:02
C++++++++++++++++++++++++++++++++

IC
06.04.2018
08:09:46
C++++++++[>++++[>++>+++>+++>+««-]>+>+>-»+[<]<-]».>---.+++++++..+++.».<-.<.+++.------.--------.»+.>++.

corpix
06.04.2018
08:10:13
Segmentation fault

Google
Дед Пегас
06.04.2018
08:12:24
Andrew
06.04.2018
08:14:11
В последнее время в чате стало слишком шумно ?

Alexander
06.04.2018
08:14:12
видать у тебя ни разу не засчитали ?
вот не надо тут, и 30 раз подряд делали

A64m
06.04.2018
08:33:34
15-45%, матерь божья
меньше десятичного порядка - пренебрежимо мало, значит

Leonid
06.04.2018
08:35:23
Ну для писунов на руби то конечно. Но мы же боремся с jvm

Alexander
06.04.2018
08:37:43
десятичные порядки не важны, важна только апроксимация

как рубист говорю

Pineapple
06.04.2018
08:38:55
Порядок порядка?

Alexander
06.04.2018
08:41:15
если пинги отваливаются по таймауту то нужно просто новое железо для сервера

A64m
06.04.2018
08:41:41
на бекпачном недоlinear, который Кметт тоже делает сейчас, может заметнее разница будет

Alexander
06.04.2018
08:59:24
@A64m_qb0 а можешь напомнить, чтобы ты от правильной prelude хотел?

Leonid
06.04.2018
09:00:41
/me хотел бы не писать импорты из Control.Monad, Control.Applicative, Data.Traversable

A64m
06.04.2018
09:01:05
@A64m_qb0 а можешь напомнить, чтобы ты от правильной prelude хотел?
да у меня нету для этого какой-то готовой компактной формулировки

Alexander
06.04.2018
09:01:22
неготовая некомпактная и противоречивая тоже принимается

все равно я ничего полезного делать не буду, может поиграюсь немного просто

Leonid
06.04.2018
09:02:05
а еще Data.Function

Dmitry
06.04.2018
09:05:55
а моноид еще не в прелюдии?

Alexander
06.04.2018
09:06:21
ну точнее не сколько prelude, а сколько base в целом

A64m
06.04.2018
09:06:41
Я сейчас подумал, как надо прелюдию сделать, и мне аж плохо сделалось - это же какой-то моток нерешенных проблем, и как решать не понятно

Google
Alexander
06.04.2018
09:06:43
ну кроме того, что IO нахрен выкинуть и сделать сигнатуры для debug

Leonid
06.04.2018
09:08:33
переименовать Show в Debug, и не требовать read . show

A64m
06.04.2018
09:08:37
выкидывание-то, кстати, проблему не решает

переименовать Show в Debug, и не требовать read . show
как его тогда для отладки применять, если не требовать?

это ж нужно для того чтоб какой-нибудь контрипиример из квикчека в интерпретатор вставлять

Leonid
06.04.2018
09:09:31
Так это debug print же

хм.

A64m
06.04.2018
09:10:01
ну или выхлоп из лога в интерпретатор вставлять

Leonid
06.04.2018
09:10:08
А как же show для функций делать?

A64m
06.04.2018
09:10:20
никак

Alexander
06.04.2018
09:10:30
/me хотел бы не писать импорты из Control.Monad, Control.Applicative, Data.Traversable
можно экспортировать все это из отдельного модуля!

Leonid
06.04.2018
09:10:34
ну т.е. рекорд с функцией мне уже не запринтить будет

A64m
06.04.2018
09:11:16
ну да, можно инстанс делать для функций

просто этот рекорд с функциями потом никуда не запихнуть

Leonid
06.04.2018
09:11:41
ну вот я про это

ну функции можно подменить

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