
Evgeniy
27.09.2017
05:28:34
Сам я читал книжку Хаттона.

P
27.09.2017
05:29:38
Можете посмотреть в сторону этой:
http://anton-k.github.io/ru-haskell-book/book/toc.html

Iskander
27.09.2017
05:29:57
@gsomix , я так понимаю, F# не самый лучший язык для изучения именно функционального подхода? Этот вывод я сделал исходя из комментов на Хабре

Google

Iskander
27.09.2017
05:30:31
Лучше начать с Haskell/Erlang ?)

Evgeniy
27.09.2017
05:32:18

P
27.09.2017
05:33:57
Можно и scheme попробовать

Evgeniy
27.09.2017
05:34:07
Но если есть возможность, то обязательно нужно посмотреть на Haskell.

Iskander
27.09.2017
05:36:13

Evgeniy
27.09.2017
05:53:41
Что вы имели в виду под "все про разное"?
Erlang целиком про распределенные системы, у него динамическая типизация. F# продолжает традиции OCaml, и он про дотнет, с закосами в ООП и императивщину. А Haskell функциональный, чистый и ленивый.
Сложно сравнивать, везде разные подходы к написанию программ.
Посмотрите, о чем твитнул(а) @IonideProject: https://twitter.com/IonideProject/status/912808669229846533?s=09

Nikolay
27.09.2017
06:10:18

Roman
27.09.2017
06:18:20
Дебаг CLR и net core?

Evgeniy
27.09.2017
06:19:53

Google

Roman
27.09.2017
06:23:15

Aleksey
27.09.2017
06:34:35
Лучше начать с Haskell/Erlang ?)
Erlang функциональный вынужденно, поэтому это плохой пример ФП-языка. К тому же в Erlang нет контроля эффектов, так что и по этому критерию он - "ненастоящиц".
Вот Haskell - исключительно функциональный, никакой мультипарадигменности. Тем и ценен с дидактической точки зрения

Iskander
27.09.2017
06:38:31
Спасибо за советы, буду параллельно с эфшарпом учить хаскель
Для общего развития

Aleksey
27.09.2017
06:39:54
Для общего развития точно полезно. Но имеют место побочные эффекты (лол!) - возникает стоцкая неприязнь к нефункциональным языкам :)

Iskander
27.09.2017
06:40:08
Ну у меня пока в арсенале лишь ООП языки - C#, Javascript, Typescript, Scala , но и от Скалы лишь объектная часть

Aleksey
27.09.2017
06:40:28
И всё это - не настоящий ООП ;)

Iskander
27.09.2017
06:40:44
?

Igor
27.09.2017
06:40:56

Iskander
27.09.2017
06:40:58
Зато копейку приносят приличную

Aleksey
27.09.2017
06:40:59
Ни Erlang, ни SmallTalk в списке нет - упущение! :)

Iskander
27.09.2017
06:41:28
Была в университете идея выучить smalltalk и почитать ту книжку

Aleksey
27.09.2017
06:41:33
SmallTalk прекрасен с точки зрения "расширения кругозора"

Iskander
27.09.2017
06:41:49
Структуру и интерпретацию

Aleksey
27.09.2017
06:41:57
Но увы, деньги нынче не приносит почти совсем. В отличие от Haskell :)

Iskander
27.09.2017
06:42:01
Да что-то не пошло тогда, скила не хватило

Evgeniy
27.09.2017
06:42:02

Aleksey
27.09.2017
06:42:57
SICP вообще про программирование. Схема там выбрана специально - это максимально минималистичный язык, который тем не менее можно постепенно расширять с ростом опыта

Iskander
27.09.2017
06:43:43

Google

Aleksey
27.09.2017
06:43:51
SICP, кстати, замечательная книга - вне зависимости от того, на каком языке и в какой парадигме пишет читатель в последствии

Iskander
27.09.2017
06:44:54
Сейчас, спустя несколько лет после окончания университета сожалею, что в ВУЗе сразу ушел в практику, забив на теоретический материал
Да и нормально там не давали
Так что приходится заново учить , но уже более основательно и с пониманием, зачем мне это надо

Evgeniy
27.09.2017
06:45:28
Вспомнил, что хотел там пару стикеров переделать.

Aleksey
27.09.2017
06:46:44

Artemy
27.09.2017
06:48:52
Да и не во всех вузах теорию нормальную дают. Тем более про ФП. Про это так вообще мало где рассказывают, наверное.

Evgeniy
27.09.2017
06:53:36
Правда, по этой причине продираться через теорию иногда бывает сложно.

Aleksey
27.09.2017
06:54:23
Это точно
Скорее даже мешает бедный вокабулярий

Evgeniy
27.09.2017
07:03:30
Привет.
Пацаны, смотрите!
https://twitter.com/Thoriumi/status/912935751733694464

Vasily
27.09.2017
07:40:32
generative?

Evgeniy
27.09.2017
07:40:39

Vasily
27.09.2017
07:40:44
Пичаль
Билд сервер не всегда имеет доступ к метаданным

Google

Vasily
27.09.2017
07:41:20
Ну и не поиспользуешь за пределами F#

Evgeniy
27.09.2017
07:42:00
Это понятно. Я про другое, erased работают, это уже очень хорошо!

Vasily
27.09.2017
07:42:13
Согласен

Nikolay
27.09.2017
07:43:01

Vasily
27.09.2017
07:43:34
вот будет время и желание, сяду и допишу вменяемый HttpRequestBuilder
Хотя к провайдерам это не имеет никакого отношения :)

Nikolay
27.09.2017
07:46:18
Вот будет время и желание, сяду и напишу DSL провайдер для авалонии :)

Vasily
27.09.2017
07:49:57
В теории, чтобы все было круто, надо фри монадки совместить с билдером

Evgeniy
27.09.2017
08:06:06
4 стадии принятия фри-монад))
https://i.gyazo.com/f13f3f845cc855c0237f89d35f7feac0.png

Vasily
27.09.2017
08:08:06
Сохранили мемасик-таки
Приятно

Evgeniy
27.09.2017
08:09:29
Я бы из него стикер сделал, но не влезет. :)

Andrew
27.09.2017
09:10:51

Evgeniy
27.09.2017
09:11:19

Andrew
27.09.2017
09:13:01
Этой версии пока в репозитории плагинов нет?
Твит есть, а фичи в студии нет.

Dmitry
27.09.2017
09:53:15
А подскажите пожалуйста:
Есть типы данных типа
type Orientation =
| N
| E
| S
| W
type Position = { X : int; Y : int; Direction : Orientation }
Как бы строку вида "1 2 N" быстро в Position конвертуть с проверкой, а конвертится ли оно.
Я так понимаю - это для Active Patterns дело, но что-то я не могу его нарисовать

Andrew
27.09.2017
09:56:48
Может просто функцию написать?
ну если надо именно Active pattern, то примерно так:
let (|IsPos|_|) str =
// ...
// Если не преобразуется, то возаращать None
Some {X=1; Y=1; Direction=S }
let s = "1 2 N"
match s with
| IsPos pos -> printfn "%A" pos
| _ -> printfn "%s" "No luck"
саму функцию преобразования я здесь не писал

Google

Andrew
27.09.2017
10:02:46
@azazeo ^

Dmitry
27.09.2017
10:05:02
ага, точно... что-то я думал комбинировать несколько active patterов для каждого компонента, а так будет проще

Andrew
27.09.2017
10:26:57
Странная вещь. Обычно vscode сама предлагает обновить расширения. А в случае с новой версией ionide-fsharp не предложила. Более того, даже не было кнопки обновить на странице расширения. Пришлось удалить и установить заново, чтобы обновить на 3.2.0.

Artemy
27.09.2017
10:32:56
Не знаю, у меня само тихонько обновилось, вроде.

Roman
27.09.2017
10:34:52

Evgeniy
27.09.2017
10:35:13

Roman
27.09.2017
10:35:59
Спасибо!
Щастье-то какое! ???

Andrew
27.09.2017
10:47:19
Попробовал отладку. Наконец то :).

Evgeniy
27.09.2017
10:48:31

Andrew
27.09.2017
10:48:58
да, там надо было что-то с конфигами делать. муторно
Делают ли для vscode отладку через присоединение к процессу? В классической студии часто этим пользуюсь. Удобно для отладки веб-приложений, работающих на iis, например. Стоит ли нам ждать этой фичи в vscode?

Nikolay
27.09.2017
10:54:17
Просто конфиг настрой