@Fsharp_chat

Страница 327 из 772
Evgeniy
27.09.2017
05:28:34
Я бы тоже не отказался, после OOP функциональная парадигма очень радует
А вон выше хороший обзорчик. Можно выбрать книжку, которая понравится.

Сам я читал книжку Хаттона.

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
Лучше начать с Haskell/Erlang ?)
Зависит. F#, Haskell и Erlang -- все про разное. :)

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

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

Iskander
27.09.2017
05:36:13
Зависит. F#, Haskell и Erlang -- все про разное. :)
Что вы имели в виду под "все про разное"?

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
http://bit.ly/2ys6KfI
Спасибо

Evgeniy
27.09.2017
06:19:53
Это уже в релизе?
Должно быть. Ещё не проверял.

Google
Roman
27.09.2017
06:23:15
Aleksey
27.09.2017
06:34:35
Можно и scheme попробовать
^ Scheme, это не ФП-язык

Лучше начать с 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
И всё это - не настоящий ООП ;)
Предлагаешь Smalltalk поучить?

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, кстати, замечательная книга - вне зависимости от того, на каком языке и в какой парадигме пишет читатель в последствии

А что есть каноничный ООП?)
SmallTalk :) В какой-то степени - Erlang

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

Да и нормально там не давали

Так что приходится заново учить , но уже более основательно и с пониманием, зачем мне это надо

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

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

Evgeniy
27.09.2017
06:53:36
Не все в вузе даже изучали теорию :) Кругом самоучки :)
Да. У меня образование не про CS, например.

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

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
generative?
Нет, erased.

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
Посмотрите, о чем твитнул(а) @IonideProject: https://twitter.com/IonideProject/status/912808669229846533?s=09
В какой версии это реализовано? У кого эти кнопки появились? У меня обновление не приходило.

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
Не знаю, у меня само тихонько обновилось, вроде.

Evgeniy
27.09.2017
10:35:13
Это для net core?
http://fsprojects.github.io/SQLProvider/core/netstandard.html

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?

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