@Fsharp_chat

Страница 323 из 772
Astmatik
23.09.2017
17:33:08
"ошибка типизации" в js тоже ловится try ... catch

Pawel
23.09.2017
17:37:50
если ты не в курсе, линтинг и автодополнение в js выглядит примерно так: https://hsto.org/files/6bf/247/c82/6bf247c82ec54970b2c5625c784da4ba.png Сколь-нибудь сложный статический анализ невозможен. Вот и анализируют, что могут — расположение пробелов, фигурных скобочек и прочие декоративные штуки. Теоретически можно про всё помнить, всё покрывать тестами, проверять тип в каждом выражении - закатать солнце руками тоже можно. А вот try catch не прокатывает, иначе перформанс мгновенно упадёт до 0 fps ?

Evgeniy
23.09.2017
17:43:56
Как-то мы незаметно в обсуждение JS скатились. ?

Roman
23.09.2017
17:45:44
В чатике про F#

Google
tiga
23.09.2017
17:49:57
Привет. А был у кого-нибудь опыт писать на f# под unity3d? Хотел узнать про подводные камни.

tiga
23.09.2017
17:57:51
https://habrahabr.ru/post/151009/
Спасибо. Эту статью видел. 2012 год ?. Может живые люди есть.

Astmatik
23.09.2017
19:06:08
Как-то мы незаметно в обсуждение JS скатились. ?
Имел дело с node.js в продакшене, и воспринял критику языка близко к сердцу..

Pawel
23.09.2017
20:13:25
node-js дестабилизирует эмоциональный фон)) http://tonsky.livejournal.com/266519.html

Xak
23.09.2017
20:25:12
боже мой

какой текст

какой типаж

утащил, спасибо

Artemy
23.09.2017
20:26:59
Какое-то странное ощущение после прочтения...

Pawel
23.09.2017
20:27:16
мне тоже нра.

Кстати, есть мощная идея на счёт node js

Astmatik
23.09.2017
20:29:20
Мне кажется это скорее про руби, а не про ноду )

Google
Pawel
23.09.2017
20:30:09
сделать форк SAFE , в котором вместо suave будет нода-жс express на fable - NAFE, или EAFE. Вот это мне кажется порвёт все шаблоны!

kana
23.09.2017
20:31:12
"Иногда бывает быстрее перезапустить сервер чем дождаться окончания сборки мусора" как же я ору, такое реально люди на джаве практикуют

Xak
23.09.2017
20:31:24
я прямо ощутил примерно то же самое, когда читал в нетленном тексте про корованы идею LOD и замен спрайтами очень далёких моделей

Pawel
24.09.2017
07:58:08
Алекс
24.09.2017
07:58:54
?‍♂️
Сам же предложил !)

Pavel
24.09.2017
08:17:02
https://twitter.com/FSharpData/status/911636435962355712

Vlad
24.09.2017
08:26:38
Андрій
24.09.2017
10:06:27
Спасибо. Эту статью видел. 2012 год ?. Может живые люди есть.
Думаю чуть актуальнее станет, когда Unity таки .NET Standard 2.0 реализует к концу года.

Интересная идея http://fable.io/fableconf/#speakers/maxime

https://github.com/MangelMaxime/Hink

Pawel
24.09.2017
14:01:04
оффтоп, мне вот эта история про гц нравится https://groups.google.com/forum/message/raw?msg=comp.lang.ada/E9bNCvDQ12k/1tezW24ZxdAJ
риторический ворос - а не вытекут ли мозги до нуля до взрыва ракеты?)) У руби-хипстеров в продакшене аптайм демонов составляет 23 секунды https://habrahabr.ru/company/Voximplant/blog/270227/ , а дальше - kill 9, ибо память фсё

Evgeniy
24.09.2017
15:12:03
Посмотрите, о чем твитнул(а) @realvictorprm: https://twitter.com/realvictorprm/status/911966251752329217?s=09

Artemy
24.09.2017
15:13:18
Просто автоматическое добавление коммента? Или это какая-то чисто визуальная штука?

Artemy
24.09.2017
15:19:51
Тогда классно :)

Igor
24.09.2017
15:25:16
Это эксперимент или готовят фичу в ionide?

Google
Artemy
24.09.2017
15:25:33
Это ж в VS

В Ionide уже такое есть (через Code-Lens)

Igor
24.09.2017
15:27:08
Жалко. В ionide этого кстати нет для лок. переменных.

Artemy
24.09.2017
15:28:06
А, ну м.б.

Igor
24.09.2017
15:28:29
Иногда смотришь на длинную чепочку |> и не понятно, а какой же там тип в середине

Artemy
24.09.2017
15:28:48
Вот только хотел написать про это

Самый полезный сценарий такой штуки — показывать тип значения для каждого шага |>

Вообще, в VS 2017 уже с этим получше

Artemy
24.09.2017
15:30:19
Во всплывающих подсказках для обобщённых типов покаызвается, какой конкретный тип подставляется вместо 'T, 'K и т.п. Я уже кидал сюда скрин как-то.

Friedrich
24.09.2017
16:05:45
Жалко. В ionide этого кстати нет для лок. переменных.
Если все переменные будут аннотироваться, будет очень грустно смотреть на код. Представь — между всеми строчками вылезут аннотации типов.

Может, надо какой-то дополнительный признак вводить.

Friedrich
24.09.2017
16:06:06
Ну, чтоб не всё подряд, а только нужное.

Evgeniy
24.09.2017
16:06:09
Включил, посмотрел на пайп, выключил.

Friedrich
24.09.2017
16:06:14
Скажем, только функции, или только сигнатуры определённой длины.

Friedrich
24.09.2017
16:06:42
Хм, я думал справа, как на видео.
Думаешь, справа будет сильно удобней?

Всё равно же весь код будет в аннотациях. Много шума.

Google
Igor
24.09.2017
16:07:40
Можно ограничить только для pipe, где не очевидны типы. Короче кому-то надо это обдумать.

Artemy
24.09.2017
16:08:22
Как вариант, только для многострочных |>

Если в одной строке несколько |>, то показывается тип последнего.

Evgeniy
24.09.2017
17:11:24
Вот тут обсуждение. https://github.com/ionide/ionide-vscode-fsharp/issues/426 @artemy_b @angmarr

DSL для докера. https://github.com/ninjarobot/FSharp.Text.Docker

F# Weekly #38 - be on the SAFE Stack today! https://sergeytihon.com/2017/09/24/f-weekly-38-be-on-the-safe-stack-today/

Artemy
24.09.2017
17:20:50
Интересно, можно ли сделать автоматический репост F# Weekly сюда в Телеграм?)

Вот тут обсуждение. https://github.com/ionide/ionide-vscode-fsharp/issues/426 @artemy_b @angmarr
Тут, вроде, уже предложили примерно то, что я имел в виду.

Artemy
24.09.2017
17:22:49
@gsomix хмм...?

Admin


Artemy
24.09.2017
17:23:08
Ну так-то да

Но автоматом была бы прямо мгновенная доставка, свежее некуда.

Igor
24.09.2017
17:29:47
Да ладно, там и так недельная задержек на викли. Gsomix и так самое свежее на прямую из твиттера репостит

Andrew
24.09.2017
21:07:05


Вопрос про Discriminated Union. Что вот это за методы/свойства - IsTheA, IsTheB, как к ним обратиться? На скриншоте просто результат вывода значения DU в LinqPad. Есть ли реально такие свойства или же это просто визуализация LinqPad?

Evgeniy
24.09.2017
21:15:36
Andrew
24.09.2017
21:19:27
Интересно. Похоже даже из F# можно обращаться. Код, использующий эти свойства подчеркивается как ошибка, но компилируется. Думаю все дело в аттрибутах DebuggerBrowsable(DebuggerBrowsableState.Never), DebuggerNonUserCode. Зачем они?..

Andrew
24.09.2017
21:23:30
А так понимаю причина того, что интерпретатор не знает об этих свойствах кроется в этих аттрибутах. И странно, что их скрыли. По сути в своем коде я пишу аналогичные функции.

Google
Andrew
24.09.2017
21:32:56
Это радует. Ибо удобно

а то приходится писать так:

let (|IsElement|IsEmptyElement|IsText|IsEndElement|) = function | Element _ -> IsElement | EmptyElement _ -> IsEmptyElement | Text _ -> IsText | EndElement _ -> IsEndElement или такое: let isElement = function Element _ -> true | _ -> false let isEmptyElement = function EmptyElement _ -> true | _ -> false let isText = function Text _ -> true | _ -> false let isEndElement = function EndElement _ -> true | _ -> false

Pawel
25.09.2017
04:50:23
объясните мне дураку за каким хрпеном в SortedList - Add(Key, Value), но при этом RemoveAt(Index). https://msdn.microsoft.com/en-us/library/system.collections.sortedlist(v=vs.110).aspx

Evgeniy
25.09.2017
05:00:26
объясните мне дураку за каким хрпеном в SortedList - Add(Key, Value), но при этом RemoveAt(Index). https://msdn.microsoft.com/en-us/library/system.collections.sortedlist(v=vs.110).aspx
После добавления элемент получает индекс в отсортированном списке. Там и обычный Remove(Object) есть.

Pawel
25.09.2017
05:33:30
я имел ввиду - на хрен нужно by key и by index в одном флаконе. И ещё там смешная документация к Add(Key, Value): This method is an O(n) operation for unsorted data, where n is Count. Я затрудняюсь понять что такое здесь "unsorted data".

Aleksander
25.09.2017
06:08:39
я имел ввиду - на хрен нужно by key и by index в одном флаконе. И ещё там смешная документация к Add(Key, Value): This method is an O(n) operation for unsorted data, where n is Count. Я затрудняюсь понять что такое здесь "unsorted data".
Как в обычном листе - если вставленный элемент пойдет не в конец, то сложность O(n). http://referencesource.microsoft.com/#mscorlib/system/collections/sortedlist.cs,988f6de235963587,references

Pawel
25.09.2017
06:49:19
документацию я читал, да. Теперь пытаюсь найти в ней смысл. Чтобы задавать вопросы по SortedList соискателям и не выглядеть идиотом.

Friedrich
25.09.2017
06:54:15
Aleksander
25.09.2017
07:02:36
документацию я читал, да. Теперь пытаюсь найти в ней смысл. Чтобы задавать вопросы по SortedList соискателям и не выглядеть идиотом.
А зачем спрашивать на собеседовании то, чего ни сам не знаешь, и другие тоже вряд ли ответят (по моему опыту далеко не все и обычные словари знают)?

Pawel
25.09.2017
07:19:46
"А зачем спрашивать" - у нас в колективе дискуссия по этому поводу. Я сторонник того, что sortedlist придумали дураки для дураков. Пытаюсь найти разумные аргументы против этого тезиса, пока не нашёл.

Astmatik
25.09.2017
07:34:31
Наверное есть кейсы, когда просто удалить элемент по индексу проще.

Fill
25.09.2017
09:09:43
Я инвестигировал этот вопрос. Фишка сортедЛист в том, что это по сути список, массив и хэштейбл(почти) в одном флаконе. Операции поиска по чему угодно - не больше O(log n) (в этом вся соль).

Но за это платим долгой инициализацией/добавлением/удалением

т.е. эту структуру данных следует использовать тогда, когда нам надо один раз инициализировать гору данных, а потом постоянно искать по ней

в принципе это всё, что должен знать соискатель

А насчет вопроса, зачем byKey и byIndex - они имеют разный смысл. Кей - ключ, с которым ассоциируется значение. Индекс - порядковый номер в лиссте

Диджитал
25.09.2017
09:28:03
спашивать хорошо бы то, что на практике использовал

Fill
25.09.2017
09:30:03
Вообще, в моей практике такой кейс был несколько раз. В результате, сортед лист оптимизировал мне некоторые вещи. Без него бы я либо искал бы предыдущиий/следующий за Оn либо бай кей за Оn. а это говно

Диджитал
25.09.2017
09:33:05
ну вот ты и спрашивай ) а не топикстартер

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