
Mikhail
31.08.2018
17:40:47
И так правильно

Alexey
31.08.2018
17:40:49

Mikhail
31.08.2018
17:40:53
Спасибо!

Daniel
31.08.2018
17:41:25
а книг или норм пособий не знаешь?
[нашел]

Google

Alexey
31.08.2018
17:43:36
а что нашёл?
http://shop.oreilly.com/product/9781785880537.do
вот вроде толковая

Ayrat
31.08.2018
17:49:29
https://samples1-ayrathudaygulov.notebooks.azure.com/j/notebooks/Untitled.ipynb
я не понял что вы с матрицей мучались

Alexey
31.08.2018
17:54:44
эммм... и что мы здесь должны увидеть?

Ayrat
31.08.2018
17:55:23
по ссылке это открывается? хм, я из под другого браузера открыл
ещё раз жмякни)
https://notebooks.azure.com/ayrat-hudaygulov/libraries/samples-1/html/Untitled.ipynb
да, не та ссылка
вот эта та

Alexey
31.08.2018
17:57:58
а это будет int[,] или int[][] ?

Ayrat
31.08.2018
17:58:04
первое

Google

Alexey
31.08.2018
17:59:14
но идея ясна (по крайней мере мне)

Ayrat
31.08.2018
17:59:40
вообще там можно этот ноутбук заклонить и поиграться
https://notebooks.azure.com/Microsoft/libraries/samples/html/FSharp%20for%20Azure%20Notebooks.ipynb

Alexey
31.08.2018
18:01:10
чтобы получить второе, надо сделать вот т ак:
let a = Array.init N (fun _ -> Array.init M (fun _ -> rnd.Next(1, 11)))

Ayrat
31.08.2018
18:01:26
так точно

Alexey
31.08.2018
18:01:34
и скобочки начинают догонять лисп
правда?)))

Ayrat
31.08.2018
18:01:45
можно без скобочек!

Alexey
31.08.2018
18:02:44
Unexpected keyword 'fun' in binding. Expected incomplete structured construct at or before this point or other token.
без одной пары только можно

Ayrat
31.08.2018
18:03:12
хехе
Hold my beer

Alexey
31.08.2018
18:03:53
а не

Ayrat
31.08.2018
18:04:02
https://notebooks.azure.com/ayrat-hudaygulov/libraries/samples-1/html/Untitled.ipynb

Alexey
31.08.2018
18:04:02
/me ещё маленький

FailsBot
31.08.2018
18:04:03
Alexey ещё маленький

Ayrat
31.08.2018
18:04:14
внизу
в ноутбуке

Alexey
31.08.2018
18:04:28
я понял

Google

Alexey
31.08.2018
18:04:40
крышечка... час от часу не легче ?

Ayrat
31.08.2018
18:04:42
можно не разносить по строчкам, оно просто так чутка читабельнее
да, она меняет ассоциативность в бинарных операторах на правую
как тебе такое Ил... Си шарп!

Alexey
31.08.2018
18:06:54
brainfuck круче

Ayrat
31.08.2018
18:07:13
бесспорно. Хотя там лучше с порно

Alexey
31.08.2018
18:08:15
поэтому он и круче :)
есть ещё piet - тоже знатная травка
попробуй, может понравится
хотя бы почитай
ща чувствую опять меня пнут за то, что раздул из провокации схоластику

Andrew
31.08.2018
18:12:08
как тебе такое Ил... Си шарп!
честно говоря, имхо тут выиграл сишарп, потому что в нем нет такого костыля в виде крышечки и даже потребности в нем

Grigoriy
31.08.2018
18:12:08

Alexey
31.08.2018
18:14:14
(from i in Enumerable.Range(0, N)
select (from j in Enumerable.Range(0, M)
select rnd.Next()).ToArray()
).ToArray()

Ayrat
31.08.2018
18:15:51

Grigoriy
31.08.2018
18:16:50

Alexey
31.08.2018
18:17:13
питон какой-то...

Grigoriy
31.08.2018
18:17:44
генератор последовательности

Andrew
31.08.2018
18:18:26

Grigoriy
31.08.2018
18:19:01
в Fable/Elmish, к примеру, без yield чо-то я не сообразил, как вью генерить :(

Google

Grigoriy
31.08.2018
18:23:04

Ayrat
31.08.2018
18:24:42

Alexey
31.08.2018
18:25:33
вот за это ФП и не любят... слишком высокая концентрация смысла в непроизносимых деталях

Ayrat
31.08.2018
18:26:02
т.к. массивы-то мутабельные изначально

Alexey
31.08.2018
18:26:16
бедные индусы не могут столько кода генерировать, как на сисярпе
в перле в своё время тоже были значимые непроизносимые символы

Grigoriy
31.08.2018
18:27:46

Alexey
31.08.2018
18:27:55
@_

Ayrat
31.08.2018
18:28:06
в перле в своё время тоже были значимые непроизносимые символы
хехехе
http://hopac.github.io/Hopac/Hopac.html#def:module%20Hopac.Infixes
Creates an alternative that, using the given job constructor, constructs a query with a reply variable, commits on giving the query and reads the reply variable. See also: *<-=>-.
Reference implementation:
let ( *<-=>= ) qCh rI2qJ = Alt.prepareJob <| fun () ->
let rI = IVar<_> ()
rI2qJ rI >>- fun q ->
qCh *<- q ^=>.
rI

Grigoriy
31.08.2018
18:28:59

Ayrat
31.08.2018
18:29:15
я люблю гопак /me пускается впляс

Alexey
31.08.2018
18:29:30
#!/usr/bin/perl
$_='
$q ="\ 47"; wh
ile ($ ;=
$z += .5 ){
%c= $r=0;$/ ="";whi le(2
0+ $z>($;+=.05)){$c{int$ _+ 2
6+ 2*($ r+= 0 2) *
s in$ ;}{1 -$_
+1 0+ int $r*c o s
$ ;} =1for(0. .1) }$
t =r ever se;$ /. =`
c le ar `. " #!
/ usr /bi n/ pe
rl \n\ $_ =$q \n" ;
fo r$y (1..20){$c{$_} {
$ y }? $ /.=chop$t :
($/ . =" \4
0") for(0. 53) ;
$/. ="\n"}pri nt"$/$ q;
s; ". chr(9 2)."s;;g;eval\n "}
';s;\s;;g;eval

Ayrat
31.08.2018
18:29:45
ну всё понятно же!

Grigoriy
31.08.2018
18:31:15
ну всё понятно же!
perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Ayrat
31.08.2018
18:31:32
там ещё и *<- с ^=>.
как раз в примере оба два используются
qCh *<- q ^=>. rI
положи в канал qCh значение q, подожди пока канал затянет и потом верни альтернативу чтения из rI

Alexey
31.08.2018
18:32:37
Наркоманы

Grigoriy
31.08.2018
18:32:54

Alexey
31.08.2018
18:36:48
$$

Google

Grigoriy
31.08.2018
18:37:04

Alexey
31.08.2018
18:37:22
$<

Grigoriy
31.08.2018
18:38:34
горшочек, не вари!

Friedrich
01.09.2018
02:33:50
В этом коде ошибка.

Mikhail
01.09.2018
06:26:03

Friedrich
01.09.2018
06:26:27
Ага, я уже увидел, что вы ниже по треду всё починили :)

Roman
01.09.2018
09:41:54
Dmitry Sokolov привет
Привет

Nikolay
01.09.2018
09:53:44
sendDocument возвращает SendDocumentReq
sendPhoto возвращает SendPhotoReq
Оба реализуют интерфейс IRequestBase<Message>
Как ошибку можно пофиксить?
Есть такие варианты:
1. Слишком длинно
sendDocument message.chat.Id file "" :? : IRequestBase<Message>
2. Нормальный вариант, но проблема в том, что у других функций может быть разное количество параметров, поэтому не очень тоже
let lift f a b c = upcast f a b c: IRequestBase<'a>
sendDocument |> lift

Alexey
01.09.2018
09:56:19
либо сделать IRequestBase<out Messaage>