Я пытаюсь создать фреймворк для обработки файлов и данных. Единственная область, с которой я борюсь, - это то, как предоставить фреймворку функцию ведения журнала, позволяющую фреймворку сообщать о сообщениях, не зная об используемых журналах.
let testLogger (source:seq<'a>) logger =
logger "Testing..."
let length = source |> Seq.length
logger "Got a length of %d" length
let logger format = Printf.kprintf (printfn "%A: %s" System.DateTime.Now) format
testLogger [1; 2; 3] logger
В идеале я хочу, чтобы этот код работал, но я могу » • решить, как передать функцию регистратора.