Вот, к примеру, у меня есть формула в коде и я хочу залогировать её вычисление, скажем, в LaTeX. В моём любимом CL я могу сделать одну сущность, которая будет и логировать и вычислять, благо макросы. В F#, где появилась такая необходимость на самом деле, я разделяю логгер и вычисление, потому что писать свой интерпретатор формул слишком не оправданно, но может есть что-то готовое(в том числе и в других ЯП)? Для тех кто ничего не понял, вот пример:
let a = boost
let s = region.length
let t = (vmax.mhs - v0.mhs) / a
let s0 = v0.mhs*t + a*pw(t)/2.0
/// LaTeX
let latex = Latex.Latex()
["v_{max}",vmax.mhs; "v_{0}",v0.mhs; "a",a; "s",s; "t",t; "s_{0}",s0]
|> List.iter (fun (s,v) -> latex.env.add(s,v))
latex.comp.add @"t=frac{$v_{max}-$v_{0}}{$a}"
let res = latex.ToString()
// res: "t=frac{25-25}{0,8}"