
Tony
06.01.2018
19:34:34
а какая задача хоть?
я, если честно, не вижу большой разницы между составлением зависимостей руками и использованием ioc.

Aminion
06.01.2018
19:36:09
Ну или за тебя весь граф составляется, знай только регестрируй соответвия, и лайфтайм, или делай все в ручную

Tony
06.01.2018
19:38:03
ну ты ж все равно указываешь правила, как он составляется. не то чтобы это значительно по объему отличается от ручного составления.

Google

Pavel
06.01.2018
19:38:37

Владислав
06.01.2018
19:45:11
подскажите, плиз, почему результат разный
let (./.) x y =
(x |> float) / (y |> float)
let testCom1 x = floor ((x + 1) ./. 2)
let testCom2 = (+) 1 >> (./.) 2 >> floor

Evgeniy
06.01.2018
19:46:23
Владислав У тебя отличается порядок деления.

Владислав
06.01.2018
19:47:10
не понимаю почему(
я же пишу добавить 1 потом поделить

Evgeniy
06.01.2018
19:49:27
Владислав
(./.) 2 — подставляешь 2 в качестве первого аргумента.
Если хочешь оставить определение (./.), но получить правильный ответ, то тебе нужно упороться по flip.
let flip f x y = f y x

Владислав
06.01.2018
19:51:26
окей, спасибо

Evgeniy
06.01.2018
21:04:51
Привет.
Ну, если посчитать всех ботов и молчунов, то нас уже три сотни.

Владислав
06.01.2018
21:34:29
А что значит вот такое? *type Socket with*

Evgeniy
06.01.2018
21:53:35

Google

Xak
07.01.2018
05:03:42
(write(eval (cons (get-alias 747) `(( append (setq a `((nil))) a )) )))
— и вы ещё спрашиваете, при чём тут аниме.

Evgeniy
07.01.2018
05:33:13

Xak
07.01.2018
06:53:45
мм, а я-то думал, фшарперы – это такие агенты лиспа под прикрытием

Pavel
07.01.2018
06:56:44
агенты лиспа это внезапно жабаскриптеры
JavaScript
Перед Бренданом Эйхом, нанятым в компанию Netscape 4 апреля 1995 года, была поставлена задача внедрить язык программирования Scheme или что-то похожее в браузер Netscape.

Xak
07.01.2018
06:58:55
я при связке лисп+яваскрипт сразу вспоминаю убойный доклад https://www.youtube.com/watch?v=LcQXXhNT__I
пояснение за лисп и феерическая расстановка точек над ним же начинается с 5:02

Evgeniy
07.01.2018
08:17:05

Klei
07.01.2018
08:21:45
Ну вообще некоторые из присутствующих сбежали бы на лисп, если бы он мог полноценно в .NET.

Aleksey
07.01.2018
08:22:35
Конечно нет
Лисп - динамически типизирован

Klei
07.01.2018
08:25:18
Это единственный язык, на котором мне почему то не претила динамика. Но ничего крупного я на нем не писал.

Igor
07.01.2018
09:10:27
Это единственный язык, на котором мне почему то не претила динамика. Но ничего крупного я на нем не писал.
Тоже прям чувствую родство F# с Clojure, ведь они оба:
- хостед и благодаря интеропу, имеют огромный набор библиотек от платформы
- пропагандируют простое ФП на чистых функциях и персистентных коллекциях
- не выкручивают руки, а позволяют пользователю самому решать где pure, а где IO
(еще и оба кроссплатформенные и компилятся в JS)
Единственное, я ленивый и не люблю писать тесты,
поэтому стат. типизированный F# для меня предпочтительнее ?

Aminion
07.01.2018
09:24:09
Да, радует мультипарадигма. Можно ооп юзать для управления зависимостями, а фп для непосредственной доменной логики

Pavel
07.01.2018
09:29:00

Igor
07.01.2018
09:30:48
Ну конечно же они не 100% такие же (они не женерик как в кложе), но тоже персистентные
Кстати недавно узнал что на кложе тоже пишут моб. приложения (reactnative) на TEA архитектуре.
Прям как я сейчас на F#.
А еще RN оказывается можно запускать в браузере (react-native-web).
Те можно писать кросплатформенные приложения (mobile/desktop) прям на F# + Elmish ? (+electron)

Klei
07.01.2018
09:42:48

Igor
07.01.2018
09:47:33
Неправильно назвал? Ну поправь тогда, имелось ввиду что можно записывать значения любых типов

Google

Klei
07.01.2018
09:53:16
Обычно дженериками называют как раз коллекции (и типы вообще) которые можно типизировать <T [,T1,...]>, а нетипизированные если как то и называются, то я не в курсе.

Igor
07.01.2018
10:02:35
Что-то я тоже пока ничего умнее non-generic не нахожу

Evgeniy
07.01.2018
10:15:59
Привет.

Pavel
07.01.2018
10:16:45

Evgeniy
07.01.2018
10:54:44
PersistentVector, PersistentHashMap.
Там ещё кто-то RRB-Tree пишет, надо спросить, как дела.

Pavel
07.01.2018
11:01:56

Igor
07.01.2018
11:12:10

Evgeniy
07.01.2018
11:32:52

A64m
07.01.2018
11:33:26
меньше высота дерева

Pavel
07.01.2018
12:23:54

Igor
07.01.2018
12:26:25
Потому что Xamarin изначально заточен по MVVM
А очень хотелось ФП архитектуры для UI, типа TEA, которая есть в Fable Elmish.
Сейчас в Xamarin появился свой проект TEA архитектуры, но я уже втянулся в Fable (не переписывать же все реально).
P.S. плюс пишу в легком VSCode без всяких VS/VSforMac

Pavel
07.01.2018
13:07:19

Pavel
07.01.2018
13:39:33

Igor
07.01.2018
13:41:06

Bogdan
07.01.2018
20:23:43
Привет всем!
может кто-то объяснить если не сложно

Google

Bogdan
07.01.2018
20:24:39
пример с книги

Anna
07.01.2018
20:25:45
Скобки потому что в F# не бывает функций без аргументов
и у всех функций аргумент ровно один
У этой аргумент типа unit

Bogdan
07.01.2018
20:26:28
оо
круто, спасибо большое

Anna
07.01.2018
20:30:13
Да не за что. Надеюсь, не приврала ничего на ночь глядя

Andrew
07.01.2018
20:31:30
@d_arlekino а что за книга?

Bogdan
07.01.2018
20:31:48
Сошникова

Сергей
07.01.2018
20:34:09
Сошникова
да там у меня тоже что то не компилилось с complex вроде

Bogdan
07.01.2018
20:34:27
Да да)
Это верно?

Anna
07.01.2018
20:35:45

Bogdan
07.01.2018
20:36:21
Ну там просто и readlines с ними, но когда упускакшь никто не ругается вроде
А с recread не работает так

Anna
07.01.2018
20:47:15
Я короче не всамделишный F#щик, просто сижу тут смотрю, что умные люди пишут. Но сдаётся мне, я поняла в чём прикол. Но это надо самой код набирать, чтобы проверить

Bogdan
07.01.2018
20:49:48
Так что все ок)

Google

Bogdan
07.01.2018
20:52:11
А со скобочками будет функция
Ток дошло)

Tony
07.01.2018
20:52:45
у функции должны быть параметры. если параметров как бы нет, то вместо них должен быть один «параметр» — unit (это как void, только настоящий тип данных). unit в виде параметра обозначается как ().

Anna
07.01.2018
20:53:23

Bogdan
07.01.2018
20:53:35
Угу , спасибо еще раз

Anna
07.01.2018
20:58:51

Tony
07.01.2018
21:00:01
функцию можно задать и без скобочек, но тогда и в теле она у тебя должна возвращать другую функцию, а не значение (value).
let func = fun x -> x * x
let func x = x * x
в обоих случаях результат примерно одинаков, только в первом случае func — это value, которое представляет из себя анонимную функцию, которая принимает одно значение и возводит его в квадрат, а во втором — это функция (не значение), которая делает то же самое. но разница между ними не особо значима (но это не точно).

Bogdan
07.01.2018
21:02:28
скрин с книги

Владислав
07.01.2018
21:02:55
Что за книга?)

Bogdan
07.01.2018
21:03:04
Сошников

Tony
07.01.2018
21:05:04
ну мне кажется про внешний объект тут немножко приврали
http://prntscr.com/hxcji3
никто не мешает вот так написать

Anna
07.01.2018
21:12:18