приветствую. хочу сделать себе D Playground вопрос: можете подсказать с чего мне следует начать и в какую сторону двигаться? P.S.: я не являюсь программистом... но в небольш...
использование DU как гаранта последовательных шагов: module Steps = module Counter = type T(start) = let mutable _counter = start member ...
а вот так делать стоит/не стоит? [просто удобна такая штука] [<AutoOpen>] module Test = type DU = | I32 of int | STR of string static member ($)(...
а можно добиться того же самого, но чтоб не через жопу? [<AutoOpen>] module Append2 = type Append2 = Append2 with static member inline (...
// дано: let exampleSeq = seq{ 555; 11 } // задача: // получить из exampleSeq число 555.011 // решение: let high'f = exampleSeq |> Seq.take 1 |> Seq.exactlyO...
бля, чё за нахер? вот так работает (#1 мой вариант): open System.Threading.Tasks let fTask (job: unit -> Task<'T>) = task { if false then failwith "error" ...
а в райдере есть способ сделать так, чтобы хинт с типом над ф-цией вместо "условного" вот такого: T -> T -> unit показывал "условное" вот такое: Foo.T -> Bar.T -> unit ??
тааак... завещание я написал, так что приступим)) я вот понять не могу... [дано] 1. время компиляции = парсинг + вывод типов + оптимизация + собственно компиляция 2. большую...
а в чём причина того, что Seq.take не обрабатывает отрицательное значение count как "возврати с конца последовательности" ??
у райдера есть одна раздражающая закономерность - если по мере набора кода будет ошибка, то все свёрнутые части кода тут же будут развёрнуты я так понимаю, что это баг... или...
type A = string type B = int type C = A * B // "метод" C type D = | D of A * B // "метод" D насколько уместно вместо определения типа аля "метод" C применять опреде...
#Fsharp #Q: какой способ лучше/правильнее? // #1 ─────────────────────────────────────────────── let foo x = if 0 = x then true ...
task { let! _ = foo.BarAsync( args ) // ... // если у меня много такой хрени, // я могу как-то запихнуть в task // свои CustomFields (расширив // т...
захотелось мне с UMX сделать короткий алиас для string (type s = string), но с s<foo> я обломался это UMX с алиасами типов не работает или я его готовить не умею ?? код полно...
foo.bar(SomeOption(Prop = "Value")) ^ я так понимаю это что-то из C#? а что делать если свойств больше одного? не, я могу вот так сделать: let option = SomeOption() option ...
и как "нешарение" опровергает такую малость как "неуказание области применимости"? Drawbacks: * You won’t have local debugging * It will be more expensive than containers...
@vl_za тебе ошибку, что fsi простынёй ошибок валит, надо? [код прогнал через фантомас - все претензии к нему] запускать в fsi: https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJi...
#Fsharp #srtp #constrain #static_constrain #Q: констрейн vs. статический констрейн я так и не смог понять в чём между ними разница - если у нас есть констрейн, значит у нас ...
а из билдеров можно цепочку сделать типа такой: type MyBuilder(arg : Task<ISome>) = //... let f'start a b = MyBuilder.Create() { //... } let f'use a...
let f x xs = ignore (x : string) ignore (xs : string) System.String.Join(x, xs) а вот так сильно плохо писать? [просто один хрен тип подсвет...