@haskellru

Страница 324 из 1551
Alexander
09.07.2017
14:19:19
типа однонаправленности ссылок для иммутабельных обьектов

и сразу переход у О(н) от большего

и наличия refenential transparency, которая позволяет при Гц дублировать объекты

ну и куча другого incremental/ non incremental,

Google
Alexander
09.07.2017
14:21:16
stop the world или нет

и для каждого из этого куча общих алгоритмов, у которых разные свойства

и серебряной пули и близко нет

Max
09.07.2017
14:45:32
Что приводит к мысли, что GC - скорее вред, чем польза.

Дмитрий
09.07.2017
14:48:01
Не понимаю, с чего вы вообще взяли, что вам предлагается серебрянная пуля)

Pay as you go; in particular, no effect on code not using GC

Это не серебро, это лопата и кирка. Минимальная имплементация означает что все гипотезы выше предстоит реализовывать самостоятельно

Не суперсет всех gc проектируют, а сабсет

Max
09.07.2017
15:00:22
Лопатой и киркой оборотня не завалить, если что :)

Дмитрий
09.07.2017
15:02:34
Просто никто никуда не спешит) Пока что это даже не фундамент, а только его чертежи

Кому интересно, можете ознакомиться тут https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md

Владислав
09.07.2017
15:51:16
Всем привет!

Alexander
09.07.2017
16:58:11
что значит сабсет

Google
Alexander
09.07.2017
16:58:45
обычно это то, что ты будешь сам реализовывать 90% или 85% хотелок будет не реализуемо

Vyacheslav
11.07.2017
19:48:13
Привет, возник такой вопрос, от человека (меня), который ничего серьезного в продакшен на чистых функциональных языках не писал.

Правда, что самый хороший способ асбтрагировать способ оганизации данных от их получения/обновления — это тайпклассы

или есть что-то лучше?

Dmitry
11.07.2017
19:51:01
критерии хорошести хорошо бы озвучить

Vyacheslav
11.07.2017
19:53:29
я готов слушать про все возможные способы, которые приходят в голову

Моя главная задача, это просто абстрагировать работу с данными от способа (структуры) хранения этих данных

Dmitry
11.07.2017
19:54:43
тайпклассы норм

Misha
11.07.2017
20:06:39
можно и просто data D { save :: k -> v -> IO(), load :: k -> IO t } использовать, без тайпклассов, там правда потеряются какие-то compile-time гарантии, но тоже нормально

Vasiliy
11.07.2017
20:09:40
поговаривают, что если у тайпклассов нет законов, то проще использовать рекорды с методами

Leonid
11.07.2017
20:13:48
Это городская легенда

Warren
12.07.2017
02:10:58
Я бы почитал аргументации сторон по поводу беззаконных тайпклассов. От Кметта неоднократно слышал что ТП без законов это антипаттерн

Ilya
12.07.2017
04:41:59
#spam

Dmitry
12.07.2017
04:46:44
лучше так: @voidlizard @qnikst #spam

Что касается кметта и законов - ну что, плохо теперь математику в мирке, куда повалили беззаконные программисты. Не успели сделать окамловских функторов - не нойте теперь, что тайпклассы и тайпфэмилис как-то не так используются.

Даня
12.07.2017
09:12:57
у меня теоретический вопрос: есть законы аппликативов типа pure id <*> M == M, с точки зрения лямбда-исчисления - это бета-эта эквивалентность между термами?

Dmitry
12.07.2017
09:25:09
с ними всё так. но мы их пытаемся использовать ocaml-way что 1) непросто 2) порицается

Denis
12.07.2017
09:28:44
вон Кметт же придумал как обобщить Fix https://github.com/ekmett/recursion-schemes/blob/master/Data/Functor/Foldable.hs#L145

Google
Dmitry
12.07.2017
09:29:38
что-то я боюсь Кметта, по моему он против того, что бы всякие посторонние писали на его хаскелле

Max
12.07.2017
09:30:02
И это правильно. Технофашизм не дремлет.

Dmitry
12.07.2017
09:30:15
это уже техно-ваффен-сс

я по моему даже бумаги Олега понимаю лучше, чем Кметта.

ну, некоторые, ладно

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

Denis
12.07.2017
09:34:57
что-то я боюсь Кметта, по моему он против того, что бы всякие посторонние писали на его хаскелле
но идея с Base Functor прикольная, дает лекго выражать индуктивный, коиндуктивный тип через простой

все эти морфизмы замены всех рекурсий корекурсий какие существуют да и есть вещи когда на морфизмах с алгебрами более очевидно пишешь

kir
14.07.2017
14:14:31
https://twitter.com/snoyberg/status/885773644521230336

Alex
15.07.2017
13:58:00
Ребята, вы не в курсе, есть ли хорошие (желательно русскоязычные) подкасты о Хаскелле?

Тёма
15.07.2017
14:26:24
Бананы и линзы и так знаете, наверняка.

Arseniy
15.07.2017
14:30:21
Человек же попросил хорошие.

Тёма
15.07.2017
14:30:34
Ой, всё.

Leonid
15.07.2017
14:32:57
/me отметил в чёрном журнальчике

Даня
15.07.2017
15:33:18
/me

ой, я случайно

Курс Москвина на степике

Ребята, вы не в курсе, есть ли хорошие (желательно русскоязычные) подкасты о Хаскелле?

1 часть

Google
Admin
ERROR: S client not available

Alex
15.07.2017
15:51:07
Спасибо всем, послушаю

Andrew
15.07.2017
15:52:39
Курс Москвина на степике
+1 очень толково рассказывает.

Собственно из его лекций понял что применение функции к аргументу - операция, а отсюда стал понятен смысл оператора $

Bohdan
15.07.2017
16:14:05


Andrei
15.07.2017
16:16:00
??

В смысле.

Как наличие тождественного морфизма говорит что-то о существовании g ?

Евгений
15.07.2017
16:16:52
???

Andrei
15.07.2017
16:16:52
В определении утверждается существование g.

Евгений
15.07.2017
16:17:08
Ага

f:A->B изоморфизм, если существует g: B->A, т.ч. f*g = id_A и g*f = id_B. Если на множествах брать, то это тоже самое, что: g(f(a)) = a и f(g(b)) = b

Bohdan
15.07.2017
17:52:14
Как наличие тождественного морфизма говорит что-то о существовании g ?
Я про подчёркнутые равенства, а не существование g

Они могут не выполняться?

Если есть f:A->B и g:B->A

Евгений
15.07.2017
18:00:17
А с чего бы им выполняться?

Daniel
15.07.2017
18:03:34
Они могут не выполняться?
f a = a `mod` 2 == 0 попробуй найти g

Евгений
15.07.2017
18:05:08
Например A, B натуральные, а f(n) = n+1, то если взять g(n) = n-1, n>1 g(1) = 1 то g(f(n)) = n, но: f(g(n)) = n, n > 1 f(g(1)) = 2 g лучше ты не найдёшь, потому в 1 f ничего не отображает

kir
15.07.2017
18:27:36
f a = a `mod` 2 Не изоморфизм, именно потому, что у тебя нет g. Изоморфизм - это отображение 1-1, например show (derived) и read (derived).

Google
Semion
15.07.2017
20:03:13
Ну, говоря проще, в категории множеств, например, изоморфизм - это биективное отображение

kir
16.07.2017
05:21:54
Короче: изоморфизм - это обратимое преобразование.

Semion
16.07.2017
05:30:09
Обратимое слева и справа

Bohdan
16.07.2017
15:47:44
А, то есть просто не любой морфизм A->A является id_A?

kir
16.07.2017
16:07:03
Любой. При чём здесь это? Не для любого f :: A -> B существует g :: B -> A, такое что f . g === id . Те пары f, g которые обладают этим свойством и называются изоморфизмом.

(Ну, кроме очевидного f = error "foo")

Евгений
16.07.2017
16:12:06
А, то есть просто не любой морфизм A->A является id_A?
Только один из морфизмов из A в A является id_A, все остальные им не являются :)

Semion
16.07.2017
16:12:12
Конечно!

Например, пусть В подмножество в А, рассмотрим включение В в А, и построим расширение этого включения на всё А( если а из А принадлежит А, но не принадлежит В, то ø, если а принадлежит В, то равно а) это морфизм из А в А, но он не тождественный, конечно же.

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