
Roman
19.04.2017
19:10:51
/fs printfn "%s" s

techi
19.04.2017
19:11:21
/fs let s = "my string"
printfn "%s" s

FSharpBot
19.04.2017
19:11:25
my string

techi
19.04.2017
19:11:31
А так всё ок!

Google

Roman
19.04.2017
19:11:49
давайте чтоб чат не загрязнять, его выпилим?)

techi
19.04.2017
19:12:28

Pavel
19.04.2017
19:12:30
/fs let inline (^) f x = f x

Klei
19.04.2017
19:12:36

Nikolay
19.04.2017
19:12:36

Pavel
19.04.2017
19:12:52
+1

Nikolay
19.04.2017
19:12:52
ЧСВ потешил

techi
19.04.2017
19:13:07
Злые вы.

Pavel
19.04.2017
19:13:17
не уходи от нас
Сегодня заставил конпеляться .NET приложение в тимсити на билд агенте на Amazon Linux
(на C# написанное)

Roman
19.04.2017
19:14:18
ок. Но лучше ему приватно писать. И сюда результат репостить

Google

Pavel
19.04.2017
19:15:00
Следующий шаг заворачивать ето говно в докер и деплоить куда-нибудь

techi
19.04.2017
19:15:03
Привет — я морская улиточка!

Roman
19.04.2017
19:16:04
/tmp/393402540/main.fs(1,5): error FS0010: Unexpected character '?' in binding

Pavel
19.04.2017
19:17:04
хз, я извращенец.
Предпочитаю использовать paket как менеджер nuget, и fake для билд-скриптов

Roman
19.04.2017
19:17:43

techi
19.04.2017
19:18:05

Pavel
19.04.2017
19:18:08
Я с этим пока настолько не знаком

Roman
19.04.2017
19:19:10
ключ -v если я не ошибаюсь при docker run
можно еще пользоваться аналогами scp для копирования с \ на диск
но в цлеом звчем вытыскивать, просто там и запускай)

techi
19.04.2017
19:20:36
Сейчас делаю через rsync, но кажется костыльно.

Roman
19.04.2017
19:20:51

Igor
19.04.2017
19:21:04

Roman
19.04.2017
19:21:57
Домашний слабенький сервер.
смотри при docker build у тебя все сбилдится и твои исходники превратятся в бинарники. Потом ты полученный image пушишь в registry и на нужной машине скачиваешь

techi
19.04.2017
19:22:54

Google

Roman
19.04.2017
19:23:24
Но docker cp выглядит проще.
так это если тебе исходники нужны вне контейнера, а можно просто взять и запустить контейнер с исходниками/бинарниками.

techi
19.04.2017
19:23:56
Я серьёзно. Завтра попробую. Спасибо.

Pavel
19.04.2017
19:25:22
Не жди до завтра, подумой!
Попробуй сегодня!

techi
19.04.2017
19:25:45

Летучая
19.04.2017
19:33:13
Такс посоны
Очередное лого подъехало
@Dolfik @neftedollar

Roman
19.04.2017
19:34:53
WOW!!!

Nikolay
19.04.2017
19:45:31

Akhmed
19.04.2017
20:48:25
Кто нибудь знает - можно ли Fable использовать с существующей (внешней) готовой HTML версткой? По аналогии как это сделано в WebSharper ?

Roman
19.04.2017
21:13:41

Nikolay
19.04.2017
21:30:04
Если нужно что-нибудь перевести, могу попробовать :)

Akhmed
19.04.2017
21:49:51
во всех примерах HTML рендрится из F# кода

Roman
19.04.2017
21:51:30

Nikolay
19.04.2017
21:52:00
Я видел
Но если кто-то уже переводить, смысл переводить мне :)

Google

Roman
19.04.2017
21:54:57
Но если кто-то уже переводить, смысл переводить мне :)
Там переводят пока только третий issue. Да и частей довольно много. Я бы взял 3ий issue и договорился бы с взявшим перевод о разделении труда. Например, он если он не начал переводить введение, то можно взять его, а начал, то можно следующую главу. Да и помощь будет, он проверит твой перевод, а ты его. Круто же!)

Nikolay
19.04.2017
21:55:25
Ну окей, посмотрю завтра

Klei
20.04.2017
03:37:28
Ну окей, посмотрю завтра
В первую очередь я перевожу текст для сдачи в универе. Поэтому мне желательно сдать подряд идущий блок текста. Либо надо брать что-то с конца, либо подождать, когда я закончу с университетской частью. Можно помочь @techiedesu с первым текстом, он уже начал.

Nikolay
20.04.2017
07:02:59
Я правильно понял, что рекурсия считается хвостовой, при условии, что после рекурсивного вызова функции не выполняется какой-либо код?

Roman
20.04.2017
07:05:19

Nikolay
20.04.2017
07:05:39
Это понятно

Roman
20.04.2017
07:07:35
Т.е. Если ты посмотришь на Фибоначчи без хвостовой рекурсии, то увидишь, что первый вызов этой ф-ции ждёт все следующие. А если ждать не требуется, то рекурсию можно назвать хвостовой. Как-то своими словами так)

techi
20.04.2017
07:09:54
61 members

Roman
20.04.2017
07:11:17
Привет!

Schvepsss
20.04.2017
07:13:13

Vlad
20.04.2017
07:14:03
привет!

Evgeniy
20.04.2017
07:14:17
Привет?

techi
20.04.2017
07:15:12

Nikolay
20.04.2017
07:15:16

techi
20.04.2017
07:15:46
"Не могу идти дальше. За мной хвост."

Roman
20.04.2017
07:15:57
Что не противоречит твоим словам про код за рекурсивным вызовом

Pavel
20.04.2017
07:17:17
Чтобы рекурсия была хвостовой, нужно чтобы стэк был пустой после её вызова. Чтобы за вызовом функции ничего другого не было. Но вообще то магия, и следить надо всегда.
Иногда она может оптимизироваться, иногда нет, особенно много вопросов возникает, если ты пользуешься computation expressions - находил баг, когда к примеру внутри реализации choice { } не работала оптимизация

Akhmed
20.04.2017
07:18:36
Привет Лиза! Рад тебя видеть в этом чате. Нам как раз очень сильно не помешает твое участие здесь )

Google

Akhmed
20.04.2017
07:18:47
у нас тут наполеоновские планы )

Nikolay
20.04.2017
07:19:55
И никак нельзя узнать, будет ли рекурсия хвостовой, пока не посмотришь стэк вызовов?

Roman
20.04.2017
07:20:18

Nikolay
20.04.2017
07:20:47
Печально

Дед Пегас
20.04.2017
07:20:48
Рекурсия хвостовая, если у тебя есть хвост!

Schvepsss
20.04.2017
07:21:07

Roman
20.04.2017
07:21:19
Печально
Не парься. Обычно ты всегда видишь хвостовая она или не

Nikolay
20.04.2017
07:21:44
Хотелось бы получать предупреждение от компилятора

Akhmed
20.04.2017
07:21:55
Вот кстати если у вас будут интересные статьи но нет аккаунт на хабре то Лиза может помочь с публикацией, при чем в блоге МС

Roman
20.04.2017
07:21:56

Evgeniy
20.04.2017
07:22:20
https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1011-warn-on-recursive-without-tail-call.md

Nikolay
20.04.2017
07:22:34
Было бы круто, помечать рекурсивную функцию атрибутом, и получать предупреждение

Schvepsss
20.04.2017
07:22:37

Roman
20.04.2017
07:22:42

Nikolay
20.04.2017
07:23:47
Нет
Почему? Была бы отличная защита от таких тупеньких программистов как я