@Fsharp_chat

Страница 568 из 772
Evgeniy
08.05.2018
09:13:20
Ох.

Vasily
08.05.2018
09:13:46
дона че-то вообще не видно в последие месяцы :(

Evgeniy
08.05.2018
09:15:30
дона че-то вообще не видно в последие месяцы :(
Ну, он активно Elmish.XamarinForms пилит.

Vasily
08.05.2018
09:15:42
отож

Google
Vasily
08.05.2018
09:16:07
хотя этим мог, скажем, Уилл занятся, а Дон - чем-то похардкорнее

Evgeniy
08.05.2018
09:20:52
а, то, что я предлагал? типа бета ченнэла? по-моему заглохло всё, как обычно
Не знаешь, насколько сложно своими силами собрать FCT?

Ну, при условии, что удалось без проблем обновить PR с фичами и смержить их.

?‍?
08.05.2018
09:22:11
Не знаешь, насколько сложно своими силами собрать FCT?
Похоже на то, как когла свой GC добавляют, т.е. вопрос ещё в доступности API

Evgeniy
08.05.2018
09:23:23
Похоже на то, как когла свой GC добавляют, т.е. вопрос ещё в доступности API
Я про сборку и запаковку F# компилятора. По идее все необходимое должно быть в visualfsharp.

Evgeniy
08.05.2018
09:27:56
Да.

?‍?
08.05.2018
09:30:33
Да.
На сколько я понял, это не Open Source, то есть внутри вполне могут быть API, к которым открытого доступа может не быть.

?‍?
08.05.2018
09:33:30
Что не опенсорц? :)
Пакет нугета. Там в папке Tools.Nuget только dll и xml

Evgeniy
08.05.2018
09:34:04
Пакет нугета. Там в папке Tools.Nuget только dll и xml
Я же говорю, все нужное должно быть тут, это опенсорц. https://github.com/Microsoft/visualfsharp/

?‍?
08.05.2018
09:35:10
Evgeniy
08.05.2018
09:36:09
?

Google
Evgeniy
08.05.2018
09:36:14
Наверное, на википедии.

?‍?
08.05.2018
09:37:01
Наверное, на википедии.
Ну, например, под Android можно только на 4.0.0.1 писать.

Evgeniy
08.05.2018
09:37:12
Свежие изменения проходят через репозиторий: https://github.com/fsharp/fslang-design

Ну, и в репозитории visualfsharp есть чейнджлоги.

?‍?
08.05.2018
09:38:48
Я так и не понял, что означают цифры целевой среды выполнения F# ниже версии языка

Evgeniy
08.05.2018
09:40:13
Ну, и в репозитории visualfsharp есть чейнджлоги.
Ошибся, в fsharp/fsharp. https://github.com/fsharp/fsharp/blob/master/CHANGELOG-fsharp.md

Vasily Я правильно понимаю, что свежий FCS так доставлять не получится?

Vasily
08.05.2018
10:22:01
как доставлять?

fcs можно собрать из VFT

build fcs

@чувак-без-имени-и-аватаром-че-гивары ты бы запостил багу с проблемами компиляции после обновления до 15.7, кто знает, может это катастрофический баг

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

уже есть

Evgeniy
08.05.2018
10:29:19
как доставлять?
В редакторы. :)

Vasily Меня больше вопрос с FCT интересует. :) Про FCS, я имел в виду, что даже имея на руках компилятор с новыми фичами, редакторы не будут их понимать.

Не знаешь, насколько сложно своими силами собрать FCT?

Каждый редактор таскает свою версию FCS, так?

Vasily
08.05.2018
10:40:06
@gsomix да, но это не такая уж большая проблема. Мы вот юзали seesharp 7 в vs 2015 - ну, кое-что красное, да и фиг с ним

Pavel
08.05.2018
11:46:47
http://platform.uno замл в браузере ?

Google
?‍?
08.05.2018
15:05:06
Можно ли сделать на F# аналог out var? https://github.com/dotnet/csharplang/blob/master/proposals/csharp-7.3/expression-variables-in-initializers.md
Возвращаясь к теме, можно ли чем-то добавлять к типу let mutable поле из, например, цитаты в методе?

Evgeniy
08.05.2018
15:12:54
@yerumaku Но я сразу отмечу, что квазицитаты умеют только переводить выражения (не все) в AST.

?‍?
08.05.2018
15:25:36
Разверни, пока непонятно.
Я далеко от ПК. Есть тип А с методом, в нём вызывается билдер с выражением, где задаваемый параметр out (то есть [<out>] b:B refby), и нужно добавить к типу А ссылку — let b : B ref со значением из вызова out, возможно это выглядело бы в билдере как view { out <@ let otherviewref : B ref = null |> ref @>.reference }

Ну или приращение какое сделать к классу А

Evgeniy
08.05.2018
15:31:44
Нет, боюсь, что так нельзя.

?‍?
08.05.2018
15:38:50
В принципе чтобы не плодить ссылки на вьюшки их можно хранить массивом... Со всеми вытекающими, но это не тот велосипед, который интересен

Нет, боюсь, что так нельзя.
А вообще можно сгенерировать класс наследник через цитату или что-то другое? Чтобы во время выполнения программа работала с этим объектом как с наследником?

Vasily
08.05.2018
15:42:52
Нельзя

Ну и мне кажется, что ход твоих мыслей заводит тебя куда-то не в ту степь

?‍?
08.05.2018
15:43:58
Нельзя
Интерактив, некоторые языки могут себя собирать в рантайме, тот же СиШ

Vasily
08.05.2018
15:45:02
Интерактив, некоторые языки могут себя собирать в рантайме, тот же СиШ
Могут,но вопрос в том , как ты в дальнейшем работаешь со сгенерированными типами

Вполне возможно, что, написав более абстрактную структуру данных, наследники не понадобятся

Evgeniy
08.05.2018
15:46:18
Vasily
08.05.2018
15:47:08
Но это не про генерацию типов

Evgeniy
08.05.2018
15:47:38
Vasily
08.05.2018
15:48:15
Тут действительно возникает проблема, как потом к свойствам этих типов обращаться

И как потом вызывать методы

Google
?‍?
08.05.2018
15:48:36
А как бы ты сделал это в C#? Через рефлексию?
Что именно? Выражения записываются как строка и понимаются языком как код.

Vasily
08.05.2018
15:49:02
Так что я бы лучше посмотрел в сторону составных типов

Vasily
08.05.2018
15:49:40
В смысле типов, которые описывают общее поведение

Впрочем, пока непонятно,чего @yerumaku в итоге хочет получить

Я похожий подход (со стороны контролов) один раз проходил, потом все переписывать пришлось

Vasily
08.05.2018
15:53:37
В целом, как я понимаю, у @yerumaku все в итоге сводится к функции вида 'a->'b list->unit

Где 'a - вьюха, в которой делаем изменения, 'b-> список вьюх, к которым применимы изменения

Evgeniy
08.05.2018
15:56:06
@yerumaku Покажи пример использования out var в C#, я из того пропозала не очень понял.

?‍?
08.05.2018
16:35:39
@yerumaku Покажи пример использования out var в C#, я из того пропозала не очень понял.
Есть метод, имеет out параметр. Чтобы не объявлять переменную для передачи в метод с out, делают out. Var нужен, чтобы, например, работать со структурками и симпл типами. Вот прямо МС пример: string numberAsString = "1640"; if (Int32.TryParse(numberAsString, out var number)) Console.WriteLine($"Converted '{numberAsString}' to {number}"); else Console.WriteLine($"Unable to convert '{numberAsString}'"); // The example displays the following output: // Converted '1640' to 1640

?‍?
08.05.2018
16:41:15
Как когда они сделали объявление имени после is Type

Vasily
08.05.2018
16:42:54
Вообще, лично я обычно притормаживаю, когда у меня появляются повышенные требования к языку,и начинаю размышлять, нельзя ли изменить структуру данных так, чтобы задача упростилась

Friedrich
08.05.2018
16:44:28
В C#, насколько я понял, out var нужен для автоматического объявления переменных во внутренеем скоупе. По сути — сахар.
Ну ток не «во внутреннем скоупе», а просто объявление переменных, в текущем скоупе.

?‍?
08.05.2018
16:44:34
Google
Evgeniy
08.05.2018
16:45:34
Понял, спасибо.

Vasily
08.05.2018
16:46:58
Не на уровне конструкций языка

А на уровне предметной области скорее

Nikolay
08.05.2018
16:50:52
Круто, я делал как-то такое)

А это вообще откуда?

?‍?
08.05.2018
16:51:34
А это вообще откуда?
Оно сейчас уже без добавления контекстов, это под Android

Vasily
08.05.2018
16:52:02
А, я понял в чем проблема

?‍?
08.05.2018
16:52:17
Скрин из истории вытащил, ща студию обновляю, не показать

Vasily
08.05.2018
16:52:22
Но решается она по-другому

В впф, например, есть понятие имени контрола

А не ссылки на него

Nikolay
08.05.2018
16:53:19
https://github.com/Dolfik1/AvaloniaDSL/blob/master/Application.fs

Во

?‍?
08.05.2018
16:53:23
Vasily
08.05.2018
16:53:56
Допустим есть его Id
Билдер сворачивается в дерево, в котором делаешь поиск по ид

Nikolay
08.05.2018
16:54:08
context this выглядит как бойлерплейт

Vasily
08.05.2018
16:54:19
Ну смотри

Хранишь дерево контролов

?‍?
08.05.2018
16:54:45

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