Common (Polyglot)
#!import ../../lib/fsharp/Notebooks.livemd
#!import ../../lib/fsharp/Testing.livemd
#if !INTERACTIVE
open Lib
#endif
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
memoize
let inline memoize fn =
let result = lazy fn ()
fun () -> result.Value
TraceLevel
type TraceLevel =
| Verbose
| Debug
| Info
| Warning
| Critical
let inline _locals () = ""
to_trace_level
let to_trace_level = function
| Verbose -> SpiralTrace.TraceLevel.Verbose
| Debug -> SpiralTrace.TraceLevel.Debug
| Info -> SpiralTrace.TraceLevel.Info
| Warning -> SpiralTrace.TraceLevel.Warning
| Critical -> SpiralTrace.TraceLevel.Critical
from_trace_level
let from_trace_level = function
| SpiralTrace.TraceLevel.Verbose -> Verbose
| SpiralTrace.TraceLevel.Debug -> Debug
| SpiralTrace.TraceLevel.Info -> Info
| SpiralTrace.TraceLevel.Warning -> Warning
| SpiralTrace.TraceLevel.Critical -> Critical
trace
let trace level fn locals =
let level = level |> to_trace_level
SpiralTrace.trace level fn locals
///- --test
trace Debug (fun () -> "test") _locals
02:18:48 [94md[0m #1 test