
Кирилл
05.09.2017
18:00:06
и один большой метод update

Artemy
05.09.2017
18:00:25
> вне элма на редаксе (из элма подход и взяли)
А вот оно как сложилось в итоге.

Кирилл
05.09.2017
18:01:26
Плюс нет, например, возможности открыть другое окно в каком-то идиоматическом виде, то есть никто не мешает его просто открыть, но оно в модель эту не укладывается, и Рид сказал что он делает обычно типа SPA приложения, просто подменяя контент в одном окне
Но можно его фреймворк не использовать :) А на основе сигналов и обзерваблов как хочешь себе все там сделать

Google

Igor
05.09.2017
19:11:26
Новая запись подкаста .NET Rocks с Scott Wlaschin про F#
https://www.dotnetrocks.com/?show=1473
Можно было бы хоть по английски написать ? (для репостнущего)

Pawel
05.09.2017
19:16:15

Evgeniy
05.09.2017
19:49:36
Привет. o/

Igor
05.09.2017
19:49:38

Pawel
05.09.2017
19:51:03
> А в Elm реально принято из update возвращать не только стейт, но и команду
да, это относится к элм-архитектуре

P
05.09.2017
19:51:14

Pawel
05.09.2017
19:52:50
>В Redux только новый стейт возращается.
герой молодежи Ден Абрамов видимо посчитал, что эффекты - это слишком сложно для малолетнего населения node.js-мира

Roman
05.09.2017
20:21:26

Igor
05.09.2017
20:36:15
Для ценителей ФП и теор. категорий
Интересная новость из скала-подкаста scalalaz
Там вспоминали про Bartosz Milewski (пару раз скидывал ссылки на его лекции).
Нахваливали, как он доступным языком объясняет всю эту теор. категорий,
так сказать для простых “смертных” (программистов).
Суть в том, что он закончил серию блог постов, которые по объему тянут на небольшую книжку:
https://www.reddit.com/r/haskell/comments/6x7ms0/category_theory_for_programmers_has_been_finished/
P.S. его канал: https://www.youtube.com/channel/UC8BtBl8PNgd3vWKtm2yJ7aA

kana
05.09.2017
20:37:41
Вот, кстати, перевод всех глав кроме последней (вышедшей две недели назад) - https://henrychern.wordpress.com/2017/07/17/httpsbartoszmilewski-com20141028category-theory-for-programmers-the-preface/

Evgeniy
05.09.2017
20:38:57
@angmarr @kana_sama Спасибо!

Google


kana
05.09.2017
20:44:25
а, хм, тогда вот еще немного моей рекламы по теме фп - недавно начал вести канал, где я рассказываю по мере изучения некоторые интересные фещи про фп, теоркат (пока не было), теорию типов, в будущем про гомотопическую теорию типов, хаскель, тот же elm (ну, судя по малой мощности пересечения множеств людей этой конфы и конфы хаскеля, это будет интересно далеко не всем). В описании есть и ссылка на группу в вк, которую я веду уже почти год, наверное, там и материалов намного больше (дополнительно по elm/clojure/erlang/elixir)
Прикрепил первый пост с канала
ADT - произведение и копроизведение типов
Тип можно трактовать как множество значений. Мощность множества - количество элементов в этом множестве.
Произведение типов - декартово произведение множеств, то есть множество всех возможных пар, где первый элемент - элемент первого множества, а второй - второго.
A = {a, b, c}
B = {x, y}
A×B = {(a, x), (a, y), (b, x),
(b, y), (c, x), (c, y)}
Мощность произведения двух множеств равна произведению мощностей множителей.
|A × B| = |A| × |B|
Пример в хаскеле:
-- тут мы говорим, что `x`
-- имеет тип `(Int, String)`
x :: (Int, String)
-- а тут мы говорим, какое у
-- x значение
x = (1, "hello")
-- делаем тип IntStringPair
-- значение которого является пара
-- из числа и строки.
-- Для создания значения этого типа
-- используется конструктор MkIntStringPair
-- который принимает число и строку
-- и создает элемент типа IntStringPair
data IntStringPair = MkIntStringPair Int String
y :: IntStringPair
y = MkIntStringPair 1 "hello"
-- Конструктор и тип могут иметь
-- одно название, они не будут
-- пересекаться, ведь типы можно
-- использовать только в сигнатуре,
-- а конструкторы только в выражениях
data Triple a b c = Triple a b c
z :: Triple Int String Int
z = Triple 1 "hello" 2
Меченное объединение, сумма или же копроизведение типов - объединение двух множеств так, что каждый элемент нового множества помечается исходным множеством, благодаря чему новый тип будет содержать все копии значений из исходных множеств.
A = {1, 2, 3}
B = {3, 4}
A + B = {A 1, A 2, A 3, B 3, B 4}
Как видно, каждый элемент нового множества помечен исходным множеством, поэтому число 3 встречается дважды, ведь A 3 ≠ B 3.
Очевидно, мощность такого типа равна сумме мощностей слогаемых.
|A + B| = |A| + |B|
В хаскеле суммы типов создаются с помощью символа | в определении типа (или же с помощью определений конструкторов с GADTs).
data Either a b = Left a | Right b
x, y :: Either Int String
x = Left 10
y = Right "hello"
data Bool = False | True
-- изоморфно Either () ()
-- где () - единичное множество,
-- то есть множество из одного элемента
-- () = {()}
-- (Важно не путать ()-тип и ()-значение)
z, u :: Bool
z = False -- Left ()
u = True -- Right ()


Evgeniy
05.09.2017
20:47:48
@kana_sama А что, неплохо. Повешу в описание. :)

kana
05.09.2017
20:49:03
Благодарю)

Evgeniy
05.09.2017
21:27:24
@notsofastplease @andrew_r Пожалуйте! o/

Andrew
05.09.2017
21:28:26
привет! :–)

?
05.09.2017
21:30:47
И здесь Полина ?

Pauline
05.09.2017
21:31:06
будто что-то плохое

Anton
05.09.2017
21:31:08
нигде от этих фронтов не скрыться

Pauline
05.09.2017
21:31:23
я не фронт

Evgeniy
05.09.2017
21:31:43
Мы здесь всем рады. :)

Кирилл
06.09.2017
08:19:20
а, хм, тогда вот еще немного моей рекламы по теме фп - недавно начал вести канал, где я рассказываю по мере изучения некоторые интересные фещи про фп, теоркат (пока не было), теорию типов, в будущем про гомотопическую теорию типов, хаскель, тот же elm (ну, судя по малой мощности пересечения множеств людей этой конфы и конфы хаскеля, это будет интересно далеко не всем). В описании есть и ссылка на группу в вк, которую я веду уже почти год, наверное, там и материалов намного больше (дополнительно по elm/clojure/erlang/elixir)
Прикрепил первый пост с канала
Что-то я не сообразил как найти ресурс? Можешь ссылку дать?

kana
06.09.2017
08:20:02
канал: https://t.me/kanaflow
группа: https://vk.com/home_kana

Кирилл
06.09.2017
09:37:16

Evgeniy
06.09.2017
11:37:44
https://github.com/Dzoukr/Fue/
Yet another task builder. :)
http://fssnip.net/7TE

Летучая
06.09.2017
13:15:02

kana
06.09.2017
13:18:51
не надо

Evgeniy
06.09.2017
13:20:59

Дмитрий
06.09.2017
13:21:27

Google

Evgeniy
06.09.2017
13:24:34
Кстати, в конце сентября будет Fable Conf.
Надо последить за видео.

Igor
06.09.2017
13:33:30

Evgeniy
06.09.2017
14:27:04
Привет! о/
https://github.com/mleech/scotch/
Библиотеки для тестирования в F# радуют.

Vasily
06.09.2017
14:38:58
Там внутри пакет поинтереснее : https://github.com/mausch/Fleece
Хотя скотч тоже прикольный
Во, наркоманская штука, кстати: https://github.com/rspeele/LicenseToCIL
На билдерах причем

Roman
06.09.2017
16:47:13
Привет!

Evgen
06.09.2017
16:52:46

Evgeniy
06.09.2017
17:35:08
Посмотрите, о чем твитнул(а) @FableCompiler: https://twitter.com/FableCompiler/status/905463072021778434?s=09
Уже пора попробовать Fable?
Кажется, сайт обновили и документацию. Точно пора.

Pavel
06.09.2017
17:38:08
Очень круто ?
Успели к конференции

Roman
06.09.2017
17:52:03

Evgeniy
06.09.2017
18:12:03
Кажется, раньше все это было в блоге.

Google

Дмитрий
06.09.2017
20:46:25
Где?

Xak
06.09.2017
22:36:33
что-то подумал, вдруг кто-то здесь не видел

Evgeniy
07.09.2017
09:33:26
Хотел отправить в чат про Lisp, но ведь нет ни одного!

Igor
07.09.2017
09:36:01
Есть pro.lisp, но там человек 60.
Ну и clojure чатик на 140

Evgeniy
07.09.2017
09:37:01

Anton
07.09.2017
10:55:23
Вопрос глупый, но что такое upcast и downcast в F# ?
случайно наткнулся в интелисенсе на эти операторы и не совсем понимаю их логику.

Evgeniy
07.09.2017
10:56:07

Anton
07.09.2017
10:56:15
ну это понятно...
почему их два? И куда это "вверх" и "вниз" ?
как это понять?

Roman
07.09.2017
10:56:51
к базовому типу или к наследнику.

Anton
07.09.2017
10:56:58
если вверх ещё понимаю
оно будет так вплодь до System.Object
Но вот вниз?

Roman
07.09.2017
10:57:23

Anton
07.09.2017
10:57:41
наследников может быть over9999
как оно выведит к какому именно ?

Evgeniy
07.09.2017
10:57:52
При использовании операторов.

Google

Anton
07.09.2017
10:58:14
хмм
типо это аля в C#
(MyClass) o | (o as MyClass)