Skip to content

Instantly share code, notes, and snippets.

@dsyme
Created October 4, 2021 16:04
Show Gist options
  • Save dsyme/176cf4ed6d653b83c1f23b2fe3ca8970 to your computer and use it in GitHub Desktop.
Save dsyme/176cf4ed6d653b83c1f23b2fe3ca8970 to your computer and use it in GitHub Desktop.
type IParams =
abstract F1: int -> unit
abstract F2: int -> unit
//abstract F3: int -> unit
//abstract F4: int -> unit
//abstract F5: int -> unit
//abstract F6: int -> unit
type C(p: IParams, count: int, size: int) =
let DoSomeStuff (input: int list) =
for x in input do
p.F1 x
p.F1 x
p.F1 x
p.F1 x
p.F1 x
p.F1 x
p.F1 x
p.F1 x
p.F1 x
p.F2 x
let DoSomeOtherStuff (input: int list) =
DoSomeStuff input
member _.ReallyDoItAll (inputs: int list list) =
for input in inputs do
DoSomeOtherStuff input
let fparams time =
{ new IParams with
member _.F1 x = ()
member _.F2 x = ()
}
let gparams =
{ new IParams with
member _.F1 x = ()
member _.F2 x = ()
}
let c = C(fparams System.DateTime.Now, 10, 30)
c.ReallyDoItAll []
c.ReallyDoItAll []
c.ReallyDoItAll []
c.ReallyDoItAll []
c.ReallyDoItAll []
c.ReallyDoItAll []
c.ReallyDoItAll []
let c2 = C(fparams System.DateTime.Today, 10, 30)
c2.ReallyDoItAll []
C(gparams, 10, 10).ReallyDoItAll []
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment