Я пытаюсь иметь go с Microsoft.ML.Probabilisti c, а примеры находятся в C#.
например
static void Main(string[] args)
{
var firstHeads = Variable.Bernoulli(0.5);
var secondHeads = Variable.Bernoulli(0.5);
var bothHeads = firstHeads & secondHeads;
}
теперь есть там происходит немного магии c, оператор & разрешается компилятором C# как
Variable<bool>.operator &(Variable<bool> a, Variable<bool> b)
(на самом деле я, хотя я использую C# более 15 лет , Я на самом деле не знаю, как явно ссылаться на этот оператор, я просто позволяю компилятору выполнять тяжелую работу ... но это в стороне)
Я хочу сделать это в F #, поэтому я пишу
let main argv =
let firstCoinHeads = Variable.Bernoulli 0.5
let secondCoinHeads = Variable.Bernoulli 0.5
let bothHeads = firstCoinHeads & secondCoinHeads
0
но это не компилируется, потому что компилятор F # «ожидалось, что это выражение будет логическим» для подвыражений «firstCoinHeads» и «secondCoinHeads».
это вроде как раздражает ... . Итак, как мне явно заставить F # использовать правильный оператор?