@Fsharp_chat

Страница 466 из 772
Evgeniy
02.02.2018
16:47:52
Привет

Dima
02.02.2018
16:49:03
Привет! Зашел к вам посмотерть из чата по Clojure

Evgeniy
02.02.2018
16:53:04
Fill
02.02.2018
17:17:35
чат по Clojure в студию

Google
Evgeniy
02.02.2018
17:17:45
@clojure_ru

Fill
02.02.2018
17:17:57
спс

Pavel
02.02.2018
18:19:26
Еще из свежего: https://youtu.be/wVZhlsYQkf8?t=31m16s
т.е. для избавления от одного боксинга сделали отдельный хак в компиляторе? о,О

Klei
02.02.2018
18:41:47
т.е. для избавления от одного боксинга сделали отдельный хак в компиляторе? о,О
Да. It's because the C# compiler does not generate code to box stuff to IEnumerable or IEnumerator in a foreach loop if it can avoid it! https://stackoverflow.com/questions/3168311/why-do-bcl-collections-use-struct-enumerators-not-classes?lq=1

Evgeniy
02.02.2018
19:33:02
https://twitter.com/vyedin/status/959084062043443200

Кажется, Сайму идет на пользу работа в Xamarin: начал ковыряться в библиотеках/фреймворках, на конференцию подался докладчиком.

В слаке, опять же, начал тусить немного.

Sergey
02.02.2018
20:06:04
мне кажется просто освободилось время которое ранье раньше уходило на что-то другое

tiga
02.02.2018
20:24:56
Хорошее время учить f#?

Evgeniy
02.02.2018
22:47:49
Привет!

Андрей
02.02.2018
23:04:41
Привет!
Привет! )

Я верстальщик, представитель вымирающей профессии, заинтересовал меня F# и вот думаю попробовать его для создания своих хоумпейджей

а потом может и для чего посерьёзнее

Google
Андрей
03.02.2018
00:42:05
https://github.com/giraffe-fsharp/Giraffe
да уже видел все эти фреймворки. Но для начала не помешало бы синтаксис выучить и написать пару десяткоов приложений )4

Valeriy
03.02.2018
00:46:08
Дык вот по ходу и выучишь :)

Андрей
03.02.2018
00:48:40
Дык вот по ходу и выучишь :)
я так понимаю заработать на нём вообще нереально? )

Только собственные проекты делать

Григорий
03.02.2018
00:49:16
если очень повезет, а так пока сидит в тени C# =)

Андрей
03.02.2018
00:50:07
ну да ладно, пока что как нить на фронтенде перьебьюсь - а F# пока что чисто justforfun

Friedrich
03.02.2018
05:59:48
т.е. для избавления от одного боксинга сделали отдельный хак в компиляторе? о,О
Нет там никакого хака. Просто компилятор так работает. «Хак для IEnumerable<T>» появился раньше, чем сами IEnumerable<T>, что, гм, сомнительно.

Я, кстати, никогда не задумывался о том, как это работает в F#. Мы унаследовали эти кусочки структурной типизации из C# или нет?

Да. https://sharplab.io/#v2:DYLgZgzgNALiCWwoBMQGoA+BtAPAZRgCcBXAYxgD4BdAWACgYBPABwFMACASRlcIEMYAe0LsAvPXaT2AW1bSARr3YB9ZQDoAsoIBurAHKsAHjAAUASjHsixVhKmyFS1WoDCxQoVYA7GOwDu8DAAFuwA5qymFqLsXsTAwHaS9ExsXDz88sCs5mKJMnKKIs4A4hEAorGy/EKEOdHcvALC5vT0Wb7SfPBedXnt7KSWDRlZLXRS7GDC7Ibs3QPsyILsY0A==

(поинт в том, что для итерации по объекту необязательно вообще реализовывать какие-либо интерфейсы: простого наличия некоторых методов и свойств с подходящими сигнатурами достаточно)

Friedrich
03.02.2018
08:17:31
Не понял, как утинная типизация связана с отсутствием боксинга?
Утиная типизация позволяет компилятору выбирать метод GetEnumerator() с той сигнатурой, которая ему «понравится», а не тот, который реализует метод интерфейса IEnumerable.GetEnumerator. * на самом деле, конечно, там чёткое правило выбора метода для цикла foreach, и никаких рассуждений в стиле «нравится-не нравится» компиляторы не делают.

Friedrich
03.02.2018
08:30:19
Т.е. компилятор решает проблему foreach сразу через утиную типизацию, а не через "найди IEnumerable[<T>] иначе найди по сигнатуре"? Соответственно проблема боксинга просто не возникает.
Не уверен, что ты меня правильно понял. Это (поиск метода GetEnumerator() для цикла for / foreach) — просто один из нескольких частных случаев применения структурной типизации в языках C# и F#.

И оно работает не совсем так, как ты написал, а наоборот: просто «найди по сигнатуре». IEnumerable<T> — это уже удобство, формальный контракт, который к циклам особенного отношения с точки зрения системы типов не имеет.

Компилятор просто ищет подходящую перегрузку для GetEnumerator() среди доступных методов и не смотрит при этом, реализуешь ты или не реализуешь интерфейсы.

В C# с GetAwaiter точно такая же ситуация.

Ivan
03.02.2018
08:51:54
Коллеги, а как заставить dotnet build захватывать файлы сигнатур?

Google
Vasily
03.02.2018
13:30:21
А файлы сигнатур в проект добавлены?

Ivan
03.02.2018
13:34:34
Да. Он их не ест.

Я намеренно в них ошибку вношу - все компилируется

Пробовал режимы включения None и Compile - в None - полный игнор, в Compile - duplicate type names

Vasily
03.02.2018
15:14:31
Похоже на баг

А в большом дотнете в каком режиме они включены?

https://github.com/Microsoft/visualfsharp/issues/2407

Баг, короче

Хотя это, возможно, и не совсем то

Evgeniy
03.02.2018
15:29:56
https://twitter.com/sergey_tihon/status/959797656712335360

Roman
03.02.2018
16:31:44
Sergey
03.02.2018
16:58:42
Хорошее время учить f#?
Нет, учи лучше скалу.

Evgeniy
03.02.2018
16:59:31
@tigati Всё учи, что нравится, никого не слушай.

Roman
03.02.2018
17:02:51
In Depth# Runtime WebAssembly This release includes our preliminary port of Mono to WebAssembly. It should be possible to build both the runtime and class libraries targeting it. Mono + WebAssembly

Mono 5.8.0 Release Notes | Mono http://www.mono-project.com/docs/about-mono/releases/5.8.0/

Pavel
04.02.2018
05:49:44
Нет, учи лучше скалу.
правильно. им свежая кровь нужна. а то главные контрибьютеры уже веру теряют https://www.techworld.com.au/article/554448/typeface-cofounder-forking-scala-compiler/

Kirill
04.02.2018
05:57:49
https://wende.github.io/elchemy-ivy/

Evgeniy
04.02.2018
07:39:31
https://wende.github.io/elchemy-ivy/
С инженерной точки зрения выглядит странно.

Я про трансляцию в Elixir.

Google
Pavel
04.02.2018
08:27:41
Какая древность.
и? потерало актуальность?

Evgeniy
04.02.2018
08:31:11
и? потерало актуальность?
Как минимум по этой статье нельзя судить об текущем положении дел. ;)

Pavel
04.02.2018
08:36:53
текущее положение дел такого, что официальным языком для андроида выбран новорожденный котлин, а не скала с ее гораздо более длинной историей.

Evgeniy
04.02.2018
08:37:51
Scala живая, развивается, используется в проектах. Что тут обсуждать-то?

Pavel
04.02.2018
08:39:21
жава не отвечает высоким требования гугла. ее надо сменить на чтото более продвинутое. варианты котлин и скала.

Диёр
04.02.2018
08:39:36
у гугла нет высоких требований

android sdk и все его интерфейсы это шлак и помойка

Pavel
04.02.2018
08:40:56
сдк к языку каким боком?

шлак на всем можно нарожать

Friedrich
04.02.2018
08:53:59
https://github.com/Microsoft/visualfsharp/issues/2407
Не, это про FSharp Interactive, а не про файлы определений.

Evgeniy
04.02.2018
09:21:25
https://twitter.com/mscntk/status/960059340815085568

> mathias [6:07 AM] > Quick update: version 2.4 of CNTK is out. I updated CNTK.FSharp accordingly, and started to 1. move code from scripts to a library 2. incorporate a type Tensor that wraps Variable and Function under one discriminated union, to help build lower-level expressions / computations without having to suffer too much from the lack of implicit conversion going from C# to F#

Матиас весь в работе. :)

Bonart
04.02.2018
10:32:37
Friedrich
04.02.2018
11:37:47
Google
Ivan
04.02.2018
13:13:33
Roman
04.02.2018
16:32:20
Господа, в паттерн матчинге можно использовать поля модуля, например, для строк, или только константы и алиасы?

Может, кривовато объяснил. Я хочу, хардкод "smth" match str with | "smth" -> .... вынести в поле отдельное

Roman
04.02.2018
16:36:35
все время забываю про них, еще не пробовал)

Григорий
04.02.2018
16:38:30
Может, кривовато объяснил. Я хочу, хардкод "smth" match str with | "smth" -> .... вынести в поле отдельное
насколько знаю, можно вынести вынести строку в литерал и ее матчить [<Literal>] let smth = "smth"

Most
04.02.2018
16:41:09
Кто-нибудь возможно сталкивался, PSeq в кору 2.* завезли уже?

Friedrich
05.02.2018
04:22:22
Кто-нибудь возможно сталкивался, PSeq в кору 2.* завезли уже?
Судя по тому, что пакет вышел в 2014 году, нет :)

Кто-нибудь возможно сталкивался, PSeq в кору 2.* завезли уже?
А тебе правда нужно? А то давай устроим движуху и портанём.

Кстати, судя по репозиторию, там должна быть поддержка PCL. Возможно, и париться не нужно, а оно просто возьмёт и заработает.

Vlad
05.02.2018
07:17:33
Roman
05.02.2018
09:25:13
Интересная вакансия "Разработчик F#" — https://hh.ru/vacancy/23740538?from=share_android Отправлено с помощью мобильного приложения HeadHunter https://hh.ru/mobile?from=share_android

Most
05.02.2018
09:44:57
А тебе правда нужно? А то давай устроим движуху и портанём.
не к спеху, просто внезапно столкнулся, думал перенесли) Или кто-то еще чем-то пользуется чтобы распараллелить обработку?)

Friedrich
05.02.2018
09:46:08
Но он, конечно, может не во все фишки F# уметь, так что тут смотреть нужно. Про модуль PSeq я впервые слышу, например :)

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