@Fsharp_chat

Страница 302 из 772
Кирилл
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
@gsomix ага. Всё собираюсь с ViewModule на него перейти. Пока лишь почитал, что там к чему. Доки не так уж много.
там как и в редакс спёрта только половина идеи у Elm-а. Про эффекты и композицию благополучно забыто, а без них это всё тщетно

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

Igor
05.09.2017
19:49:38
там как и в редакс спёрта только половина идеи у Elm-а. Про эффекты и композицию благополучно забыто, а без них это всё тщетно
А в Elm реально принято из update возвращать не только стейт, но и команду? https://github.com/fable-compiler/fable-react_native-demo/blob/master/src/Scenes/LocationList.fs#L43 В Redux только новый стейт возращается.

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

P
05.09.2017
19:51:14
Привет. o/
И тебе привет, добрый человек :)

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

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
Мы здесь всем рады. :)

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

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
https://github.com/Dzoukr/Fue/
Ух ты! Скоро будем на Реакте с Fable писать, с разметкой в коде. И уже можно запилить какой-нибудь Fungular.fs

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

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

Надо последить за видео.

Igor
06.09.2017
13:33:30
Но зачем, если есть fable-elmish?
Кстати очень норм, надо только привыкнуть к синтаксису

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
не очень обновили доку, все то же самое.
Как минимум обновился Getting Started.

Кажется, раньше все это было в блоге.

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
Есть pro.lisp, но там человек 60. Ну и clojure чатик на 140
Скинешь в личку? Я добавлю в goq/telegram-list.

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

Но вот вниз?

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

как оно выведит к какому именно ?

Evgeniy
07.09.2017
10:57:52
наследников может быть over9999
Ты указываешь конкретный тип.

При использовании операторов.

Google
Anton
07.09.2017
10:58:14
хмм

типо это аля в C# (MyClass) o | (o as MyClass)

Страница 302 из 772