
Евгений
30.03.2018
16:29:24
Про хаскель

Alexandr
30.03.2018
16:30:28

A64m
30.03.2018
16:30:39
но не очень успешно

Google

Alexander
30.03.2018
16:31:08
: vs ::

A64m
30.03.2018
16:31:29
а?

Слава
30.03.2018
16:31:54
Да, вот войсов тут не хватает

Alexander
30.03.2018
16:32:02
вроде ж там быть что-то что сделать не как в миранде

A64m
30.03.2018
16:32:24

Alexander
30.03.2018
16:32:32
а что?

A64m
30.03.2018
16:32:48
сделали a -> b вместо * -> **
потом больше отличий стало
но они выбирали язык, чтоб делать как в нем все что в нем есть, т.е. тайпклассы делаем как хотим, их не было, а если что-то есть делаем как в языке X
ну и решили сначала что это Миранда будет
но Тернер попросил чтоб они сделали язык отличающимся
тогда они выбрали язык Вадлера Оруэлл, в котором все как в миранде кроме a -> b вместо * -> **

Alexander
30.03.2018
16:35:12
:)

Google

A64m
30.03.2018
16:36:28
думаю, Тернер почуствовал ГОРЕЧЬ ОБИДЫ после этого

Leonid
30.03.2018
16:50:30
* -> ** выглядит стрёмно

A64m
30.03.2018
16:52:33
так в милнеровском эмеле было, но после того как Тернер это позаимствовал эмелисты передумали, и ни в одном такого не сохранилось

Vasiliy
30.03.2018
17:02:55
я маленько запутался с кондуитами:
есть ф-ции:
- foo :: ByteString -> IO a
- sourceFile :: (Monad m, MonadIO m) => File -> Producer (Action m) ByteString
мне нужно это как-то соединить вместе и "запустить" runConduit
т.е.
result ← runConduit $
GFS.sourceFile file .|
mystery foo
вот интересно, что за mystery может быть
Found hole:
_ :: (ByteString -> IO a)
-> ConduitM ByteString Void (Action IO) a0
хм
upd: не, я фигню написал, мне нужнo просто .| consume или что-то подобное, что просто все в память "вычитает", забыл как называется, найду)
sinkLazy похоже
bs ← runConduit $ GFS.sourceFile file .| sinkLazy

Yuuri
30.03.2018
17:57:19
Кто-нибудь знакомился сегодня с биокадовцами? Они про себя рассказывали подробнее?

kana
30.03.2018
18:07:53
Есть смысл ее читать сейчас, чтобы лучше понимать устройство фя с ленивой редукцией (в том числе устройство ghc), или она слишком устарела?

Leonid
30.03.2018
18:09:23

Yuuri
30.03.2018
18:10:20
Но какие проекты-то?
(я просто тоже в биотехе, мне отдельно интересно)

Vasilii
30.03.2018
18:10:26

Leonid
30.03.2018
18:11:05
Распределенные системы, ГПУ кластеры

Alexander
30.03.2018
18:11:25
лучше конечно если сами подробнее расскажут

Leonid
30.03.2018
18:11:44
У них на гитхабе должна быть инфа

Yuuri
30.03.2018
18:12:31
Уу, они ещё и опенсорц?

Leonid
30.03.2018
18:13:11
https://github.com/biocad/career/blob/master/README.md

A64m
30.03.2018
18:19:20
разве только из диссеров и статей составить какой-то набор, но это еще сделать надо

Alister
30.03.2018
18:21:17
можно пюр фанкшинал дата стракчерс

A64m
30.03.2018
18:24:33
она-то какое отношение к этому имеет

Евгений
30.03.2018
18:26:41

A64m
30.03.2018
18:29:08
да особо и не придумывал никто. Придумали GRIN в 90-е два человека немного с ним пострадали а потом устали

Google

A64m
30.03.2018
18:30:26
никто же не занимается такими вещами

Евгений
30.03.2018
18:31:45
Грин? Чо это?

A64m
30.03.2018
18:46:22
Грин? Чо это?
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.27.3918&rep=rep1&type=pdf

Андрей
30.03.2018
20:35:28
Потому что бесконечные списки без ленивости не делаются
К слову, выше Александр потехи ради дал ссылку на мой недавний стрим на трубе, так я там анонсировал в следующем стриме рассказ про то, как делать бесконечные списки в самом что ни на есть кондовом строгом аппликативно-редуцируемом языке (хоть в жаваскрипте), и решить на них всю главу СИКПа про ленивые стримы и потоки. Причем, сделать их оптимальными в смысле отсутствия дублирования вычислений и скорости.
Клапауцию и прочим умным людям в этом чатике такое конечно не интересно, но после вашего пассажа я решился все-таки озвучить это.


Слава
30.03.2018
20:36:23
К слову, выше Александр потехи ради дал ссылку на мой недавний стрим на трубе, так я там анонсировал в следующем стриме рассказ про то, как делать бесконечные списки в самом что ни на есть кондовом строгом аппликативно-редуцируемом языке (хоть в жаваскрипте), и решить на них всю главу СИКПа про ленивые стримы и потоки. Причем, сделать их оптимальными в смысле отсутствия дублирования вычислений и скорости.
Клапауцию и прочим умным людям в этом чатике такое конечно не интересно, но после вашего пассажа я решился все-таки озвучить это.
Я думаю, что речь там у вас об итераторах. Как-то на одном форуме я встретил спор о том, что-де C# круче явы, потому что в нем yield есть - после чего явисты оный yield изобразили вручную.
Стрим не смотрел, мне их сложно воспринимать.

Alister
30.03.2018
20:39:07

Слава
30.03.2018
20:39:41

Андрей
30.03.2018
20:40:34
итераторы? ну в каком-то смысле можно их так абстрагировать, хотя у меня это полноценные иммутабельные структуры данных. я ни в коей мере не агитирую смотреть мой стрим в чате хаскелистов - здесь же все самые-самые умные, просто ваш имхо спорный тезис не мог оставить меня равнодушным )
Алистер - да, через них, родимых

Слава
30.03.2018
21:24:53

Андрей
30.03.2018
21:26:58
Да, вы правы и проницательны - это именно вентиллятор системника. Но по сравнению с плохим качеством видео это имхо не такой серьезный недостаток. А видео такое от максимально заниженных параметров стрима - больше мой комп не тянет физически без зависаний и лагов

Bogdan
30.03.2018
22:01:39

Alexander
30.03.2018
22:05:06
точнее в последнее время на слуху, но мало кто знает что там делаете :)

Yuriy
31.03.2018
06:01:03
о!


Pavel
31.03.2018
06:01:59
Что касается Биокада, мы действительно не хотели вчера агрессивно пиариться, показалось это неуместным на фоне интересной лекции. Но, конечно, про себя можем рассказать, да и вакансий у нас довольно много — это тоже не скрываем. ?
Про сам Биокад, вроде, можно почитать на сайте. Скажу только, что мы делаем биологические, химические и генотерапевтические препараты в области онкологии и аутоиммунных заболеваний. Департамент вычислительной биологии (ДВБ) в том или ином виде существует уже шестой год. Наши главные задачи — обработка экспериментальных данных для поддержки принятия решений, а также дизайн лекарственных средств и дизайн экспериментов. То есть мы моделируем биологические системы, смотрим на их поведение и формируем заявки, что нужно поставить в мокрых лабораториях, чтоб проверить наши вычисления.
В связи с этим у нас разношерстная команда из химиков, биологов, физиков, математиков и программистов. Часть людей больше задействована в продуктовых проектах, а часть больше разрабатывает системы и алгоритмы для коллег. Но так или иначе чем дольше люди работают, тем больше они понимают в обеих вещах.
По разработческим задачам, мы разрабатываем инструменты в области фолдинга и докинга белков и малых молекул, проведения структурных мутаций, оценки свободной энергии связывания, предсказания течения реакций, моделирование кинетических и динамических свойств лекарств в организме и многое другое. Это предполагает знание и использование классических алгоритмов теоретической информатики, вычислительной геометрии, теории оптимизации, немного машинного обучения (не приживается оно у нас пока сильно), методов вычислительной термодинамики и т.д.

Google

Pavel
31.03.2018
06:04:06
Все это мы второй год пишем на Haskell и CUDA C (до этого была 4 года Scala с которой мы в ужасе свалили и теперь можем вести конференции типа Do not use Scala in non-IT company). У нас кастомные stack-snapshots и CI/CD (TeamCity), который позволяет всем этим хозяйством гибко управлять. В работе активно используются графовые базы данных (neo4j). Развернута вся система как сеть микросервисов, общающихся сообщениями по единому стандартизированному протоколу через одно место — внутренняя очередь сообщений (Haskell + ZeroMQ). Как-то так.
А, у еще у нас самый большой в стране частный GPU-кластер, в котором в том числе есть Вольты (Tesla V100).

Kirill
31.03.2018
06:07:57
Про скалу делитесь, конечно

Alexander
31.03.2018
06:18:11
спасибо за развернутый ответ!

Pavel
31.03.2018
06:18:33

Kirill
31.03.2018
06:19:32
Отлично

Pavel
31.03.2018
06:20:45
Тут есть @bog2dan и @Fonturacetamum из ДВБ, уверен, они по повседневной жизни биоинформатика (или вычислительного биолога) хаскеллиста расскажут лучше всех, если их спросите. :)

Dmitry
31.03.2018
06:24:43
"слишком плохо на скала" = обычная java ?

Aleksey
31.03.2018
06:30:42
Лол. Я в Биокад собеседовался лет пять назад на Скалу как раз. Если бы пошел, то сейчас бы на хаскеле писал.
Правда я сейчас на хаскеле и пишу. Так что эта пуля меня не миновала :)

Pavel
31.03.2018
07:13:55

Denis
31.03.2018
07:38:12

Leonid
31.03.2018
08:05:13
Я думал Haskell + zeromq = боль и страдания

Pavel
31.03.2018
08:06:19

Bogdan
31.03.2018
08:09:17

Leonid
31.03.2018
08:18:12
Хм, я был уверен что Zmq совсем не тредо-безопасны и на хаскельный рантайм не ложится. @qnikst поясни

Alexander
31.03.2018
08:18:33
боль и страдания, но можно извернуться
так, у меня тут factorio, потом подробнее напишу

Dmitry
31.03.2018
08:25:20
Хм, а разве Haskell не достаточно? Нужно ещё и в игры играть!?

Александр
31.03.2018
08:33:24

Google

Alexander
31.03.2018
08:33:54

Александр
31.03.2018
08:34:35
Я бы пообсуждал возможности Факторио по созданию процессоров

Alister
31.03.2018
08:34:59

Alexander
31.03.2018
08:35:06
5.8

Александр
31.03.2018
08:35:15
И вообще программтрования штук в нем

Alister
31.03.2018
08:35:55

Leonid
31.03.2018
08:36:10
Жду сетевой stardew valley

Alister
31.03.2018
08:36:16
а вы по семантическом версионировании идете?

IC
31.03.2018
09:24:33
People Versioning Policy

Alexander
31.03.2018
09:35:20
с zeromq если аккуратно работать с сокетами и не очень много сообщений из кусков состоящих писать то норм
ну кроме того что евент лупы не интегрированы
особенно если использовать tcp backend
вон в network-transport-zmq у меня все работало
но если вылезти из приятной части то все плохо