@Fsharp_chat

Страница 223 из 772
Friedrich
03.07.2017
13:48:19
Всё лучше с инлайном!

Летучая
03.07.2017
13:49:09
Google
Igor
03.07.2017
13:50:07
Кстати, а почему не ?? ?
В смысле? Если про название, то это ? не комплируется. let inline (??) (x: 'a) (def: 'a) = if isNull x then def else x А готового оператора ?? вроде нет в F#

Igor
03.07.2017
13:52:06
Но можно сделать ||, что бы как в JS ?

Летучая
03.07.2017
13:53:47
Но можно сделать ||, что бы как в JS ?
warning FS0086: The '||' operator should not normally be redefined. Consider using a different operator name

||| можно.

Хотя ||| тоже используется! Побитовое или.

Vasily
03.07.2017
13:56:42
[|||]

Klei
03.07.2017
13:57:18
Не понял. В документации сказано "Only the operators ? and ?<- may start with ?." Как тогда прошел первый вариант с ?> ?

Летучая
03.07.2017
13:58:06
let notNull = null ^^ "replaced null!" вот так вот еще неоч страшно вроде

Igor
03.07.2017
14:01:25
Норм, а еще можно: let inline ($) (x: 'a) (def: ‘a), что бы хаскелистов запутывать

Klei
03.07.2017
14:02:53
Дожили, ищу гайдлайны на википедии. https://en.wikipedia.org/wiki/Null_coalescing_operator#F.23

Google
Klei
03.07.2017
14:03:45
?: тоже не дает.

Но в принципе в |? есть что-то родное.

Igor
03.07.2017
14:04:49
?: тоже не дает.
Вот это особенно жалко, ведь как раз такое оператор есть в groovy/kotlin (elvis operator)

Klei
03.07.2017
14:08:53
Вот это особенно жалко, ведь как раз такое оператор есть в groovy/kotlin (elvis operator)
Судя по описанию ?: как правило немного другой оператор. Так что плакать надо в первую очередь по ??.

Nikolay
03.07.2017
14:09:59
Igor
03.07.2017
14:10:13
Судя по описанию ?: как правило немного другой оператор. Так что плакать надо в первую очередь по ??.
https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator If the expression to the left of ?: is not null, the elvis operator returns it, otherwise it returns the expression to the right.

Friedrich
03.07.2017
14:11:55
In Perl (starting with version 5.10), the operator is // Топ
Это, между прочим, адовая грамматика. Представляете, какие выверты приходится предпринимать авторам перла / JS, чтобы строка var regex = //g не считалась наполовину комментарием?

Klei
03.07.2017
14:12:20
https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator If the expression to the left of ?: is not null, the elvis operator returns it, otherwise it returns the expression to the right.
Я сужу по той же википедии. In certain computer programming languages, the Elvis operator ?: is a binary operator that returns its first operand if that operand is true, and otherwise evaluates and returns its second operand.

Igor
03.07.2017
14:13:44
Ну ок, это не чат для спора про Kotlin (хотя я то уже год на нем пишу в продакшен)

Klei
03.07.2017
14:14:21
https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator If the expression to the left of ?: is not null, the elvis operator returns it, otherwise it returns the expression to the right.
Вики говорит аяяй. Kotlin uses the '?:' operator.[16] This is an unusual choice of symbol, given that ?: is typically used for the Elvis operator, not null coalescing, but it was inspired by Groovy (programming language) where null is considered false.

Evgeniy
03.07.2017
14:40:06
@Dartware Привет!

Dartware
03.07.2017
14:40:18
привет)

какие книги посоветуете по F#? можно на анг.)

Igor
03.07.2017
14:44:23
какие книги посоветуете по F#? можно на анг.)
В "shared media” полно разных, а тебе для чего конкретно?

Friedrich
03.07.2017
14:44:28
какие книги посоветуете по F#? можно на анг.)
Если что, в списке файлов чата можно найти кучку книжек.

Я забыл, по какой книжке изучал F# :(

Dartware
03.07.2017
14:47:50
да мне стало быть все равно) я только сегодня решил F# попробовать) строчки кода не написал еще на нем)

Friedrich
03.07.2017
14:48:14
Ты, главное, побольше тренируйся, и тогда умение придёт.

Igor
03.07.2017
14:53:41
да мне стало быть все равно) я только сегодня решил F# попробовать) строчки кода не написал еще на нем)
Я вообще ни одной не прочитал ? (хоть и пишу уже полгода), но планирую: - “Крис_Смит_Программирование_на_f#” (на рус, есть в pdf) - “F# 4.0 Design Patterns” (есть в pdf) Главное (имхо) читать практические книги (как сделать web сервер и тд), а не академические про DataSience/ML если ты не планируешь идти в науку.

Google
Evgeniy
03.07.2017
17:48:40
@Emplitz Привет!

Илья
03.07.2017
17:49:04
привет

Roman
03.07.2017
18:19:16
Добро пожаловать.

Pawel
03.07.2017
19:18:05
fsharplang.ru! Песочница!
>F# работает на Linux, OS X, iOS, Windows, Android, а также в браузерах. ?

они хотели сказать - на F# можно написать хелуваорд под всё это при наличии первого разряда по тяжёлой атлетике

кроме виндовз конечно

Evgeniy
03.07.2017
19:27:12
F# and Visual F# Tools announcement for June: https://github.com/Microsoft/visualfsharp/issues/3298

Pawel
03.07.2017
19:39:18
Блин! Надо закоммитить.
я имел ввиду под виндовз норм

Igor
03.07.2017
19:39:46
Пишу на маке под линукс, мне норм (хотя это конечно не тырпрайз)

Летучая
03.07.2017
19:39:59
я имел ввиду под виндовз норм
А. На минуту показалось, что на сайте обозначены все технологии, кроме Windows :)

Pawel
03.07.2017
19:41:45
>F# работает на Linux, OS X, iOS, *Windows*, Android, а также в браузерах. :)

Я бы кстати при рекламе F# не стал сильно упирать на кросплатформенность, учитывая что C# и dot net - не лучший выбор для кросплатформенной разработки, будем честны. У каждого языка своя ниша, это нормально. Для F# на сегодняшний день - windows desktop

Igor
03.07.2017
19:47:41
Pawel
03.07.2017
19:56:29
net core - это классно, но я про то, что она пока ещё лет на 10 отстаёт от jvm и т.п. по прокачке, и кроме kestrel ничего особо привлекательного для бизнеса в ней нет. UI не сделали, и вряд ли сделают. Для системных задач - тоже не нужно никому. Или я чего-то не понимаю? webassembly - если ты про fable, то хахаха)

Igor
03.07.2017
19:58:32
Спорить с и̶н̶ж̶е̶н̶е̶р̶о̶м̶ Павлом - это как бороться со свиньей в грязи... ?

Artem
03.07.2017
19:59:21
net core - это классно, но я про то, что она пока ещё лет на 10 отстаёт от jvm и т.п. по прокачке, и кроме kestrel ничего особо привлекательного для бизнеса в ней нет. UI не сделали, и вряд ли сделают. Для системных задач - тоже не нужно никому. Или я чего-то не понимаю? webassembly - если ты про fable, то хахаха)
при слове fable я вспоминаю только рпг 12 летней давности. я на ф# так-то не пишу, позже буду разбираться чутка с ним. а про кор - kestrel в чистом виде сырой и всё равно надо за nginx прятать. но уже то, что можно писать на .net хостить это в докере за nginx - уже круто. хотя раньше то была моно и мб кто-то под ней и хостил. но я тогда не писал на .net, да и это не было рекомендуемым способом разработки на .net :) UI - для десктопа? авалония есть жи. для системных задач есть С.

Google
Artem
03.07.2017
20:31:02
Fable — это транслятор из F# в JS. :)
а зачем в жс? есть же webassemlby, там многие браузеры уже даже поддерживают. вроде бы..

ща пойду погуглю

Vlad
03.07.2017
20:31:31
там сейчас вроде только на c++ писать можно.

Artem
03.07.2017
20:31:55
https://github.com/kg/ilwasm транслятор il в вебассембли

там сейчас вроде только на c++ писать можно.
не только (но это уже за рамками чата)

Vlad
03.07.2017
20:32:41
>2 years ago эх

Artem
03.07.2017
20:47:17
https://github.com/fable-compiler/Fable/issues/737
ясно понятно я думал вебассембли будет крутым байткодом, сорт оф il

Evgeniy
03.07.2017
20:48:45
@angmarr А ты посмотрел обновленный пример Fable + React Native?

Igor
03.07.2017
20:50:03
Глянул, но там в build.fsx все также ссылки на “Program Files”, у меня на маке не запустится

Evgeniy
03.07.2017
20:50:32
А, блин, непорядок. :(

Igor
03.07.2017
20:54:02
В принципе, я руками компилил (вызвал компилятор fable) - оно собралось в JS. Но тут еще одну проблему нашел, не понятно как юзать react-native-navigation (в примере ее не используют). Я и в TS ее юзаю без типизации, а как в F# пока не понятно.

Artem
03.07.2017
20:54:56
@angmarr А ты посмотрел обновленный пример Fable + React Native?
это вы тут хотите из ф# в жс и потом это всё на мобилках запускать?

Igor
03.07.2017
20:55:58
Да именно оно. Сейчас пишу на TS в RN, но он меня просто убивает своей js-скриптностью (хотя я врубил strict и noused).

Evgeniy
03.07.2017
20:57:34
@NikolayKrupiy Привет!

Nikolay
03.07.2017
21:30:26
Имхо, неткор ещё сырой, особенно поддержка фшарп, года так через 2-3 думаю сможет развернуться нормально.

Roman
03.07.2017
22:08:06
Привет! Добро пожаловать!

Igor
03.07.2017
22:12:58
Имхо, неткор ещё сырой, особенно поддержка фшарп, года так через 2-3 думаю сможет развернуться нормально.
Это из за отсутствия тайпповайдеров и всяких datasienc/ml либ? (Лично меня расстраивает что акторов нет)

Pavel
03.07.2017
22:22:08
Есть подозрения, что акторы появятся гораздо раньше TP :)

Google
Friedrich
04.07.2017
03:57:57
а зачем в жс? есть же webassemlby, там многие браузеры уже даже поддерживают. вроде бы..
JS и WebAssembly пока что очень различаются по возможностям. Работа с DOM, встроенный GC — всего этого в WebAssembly сейчас нет. Поэтому она остаётся платформой для низкоуровневых языков, а скомпилировать туда что-то высокоуровневое — сложно (хоть и возможно, и энтузиасты это делают).

https://github.com/Microsoft/visualfsharp/issues/3298 > VS 2017 Update 3 will feature the first bits enabling F# support for .NET Core in Visual Studio. Ура?

Kirill
04.07.2017
05:24:50
наконец-то

Nikolay
04.07.2017
07:52:11
Type Providers on .NET Core

Уииии

Evgeniy
04.07.2017
08:18:00
http://www.progletariat.com/blog/2017/06-22-fable-threejs-hello/index.html

Всем хелувордов. :)

Igor
04.07.2017
11:06:36
А нельзя как-то обойти такую ошибку? This expression was expected to have type 'Func<Command,Task<Responses>>' but here has type 'Command -> Task<Responses>’ Вызывающий код такой: let handle (x: Command) = … // тело функции опустил, тк результат видно из ошибки bus.RespondAsync<Command, Responses>(handle) |> ignore

Летучая
04.07.2017
11:07:10
обернуть

в new Func

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