This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let getCidTotal = (cid) => | |
| cid.map(x => x[1]).reduce((x,y) => x + y); | |
| function payout(owed,dv,v){ | |
| // if we have less than a d, or we owe less than a d skip | |
| if(dv === 0.01) | |
| console.log(JSON.stringify({owed,dv,v})); | |
| if(v < dv || owed < dv) return; | |
| var i = 0; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // let devroot = Environment.ExpandEnvironmentVariables("%devroot%") | |
| let debug = true | |
| module Option = | |
| let ofNullOrEmpty = | |
| function | |
| | null -> None | |
| | "" -> None | |
| | x -> Some x |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let fib x = | |
| (0,0) | |
| |> Seq.unfold(fun (a,b) -> | |
| match a,b with | |
| | 0, 0 -> Some(1, (0, 1)) | |
| | _ -> | |
| let c = a + b | |
| Some(c, (b,c)) | |
| ) | |
| |> Seq.indexed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // https://www.reddit.com/r/ProgrammerHumor/comments/umbmlt/this_is_hurting_my_ego/ | |
| [ | |
| "8809", 6 | |
| "7111", 0 | |
| "2172", 0 | |
| "6666", 4 | |
| "1111", 0 | |
| "3213", 0 | |
| "7662", 2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| type Foo () = | |
| do | |
| printfn "I'm constructed" | |
| member x.Value | |
| with get() = 0 | |
| and set (v:int) = invalidOp "Hello world!" | |
| interface IDisposable with | |
| member x.Dispose() = | |
| printfn "IDisposed!" | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let inline tryParse f x = | |
| match f x with | |
| | true, v -> Some v | |
| | _ -> None | |
| // this version does not compile: | |
| //let (|Parse|_|) (str: string) : int option = tryParse Int32.TryParse str | |
| let inline tryParseInt (x:string) = x |> tryParse Int32.TryParse | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // from https://gist.github.com/ImaginaryDevelopment/952b3a9afc4f2fa3c4631d43f760748a | |
| module GistTemplate.BReusable | |
| open System | |
| open System.Collections.Generic | |
| open System.Diagnostics | |
| let inline guardAgainstNull msg (o:obj) = | |
| if isNull o then | |
| nullArg msg | |
| let (|GuardNull|) msg (x:'T) = |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| module ResizeArray = | |
| let init i f = | |
| Seq.init i f | |
| |> ResizeArray | |
| let (|IsSeq|_|) (t:Type) = | |
| t.GetInterfaces() |> Seq.choose(fun t -> | |
| if t.IsGenericType && t.GetGenericTypeDefinition() = typedefof<seq<_>> then Some("iseq",t.GenericTypeArguments) else None | |
| ) | |
| |> Seq.tryHead |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let logStep action = | |
| let res = action <| printf "%s... " | |
| printfn "Complete." | |
| res | |
| type LoggingBuilder() = | |
| member this.Bind(x, f) = | |
| logStep x |> f | |
| member this.Zero() = ignore | |
| member this.Return(x) = x |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| onNotifyAcknowledgedPositions() { | |
| const companyState = this.memberState; | |
| if (companyState && | |
| companyState['BUY'] && companyState['SELL'] && | |
| (isFalsy(companyState['BUY'].addedRequests) || companyState['BUY'].addedRequests.length === 0) && | |
| (isFalsy(companyState['BUY'].updatedRequests) || companyState['BUY'].updatedRequests.length === 0) && | |
| (isFalsy(companyState['BUY'].deletedRequests) || companyState['BUY'].deletedRequests.length === 0) && | |
| (isFalsy(companyState['BUY'].addedComments) || companyState['BUY'].addedComments.length === 0) && | |
| (isFalsy(companyState['BUY'].deletedComments) || companyState['BUY'].deletedComments.length === 0) && |