When thinking about "exotic" type providers, there is one that I’d really *love* to see, but I have no idea how to start about this or if that’s even possible. Anyway, the idea is to have a type provider that attaches to debugger and provides a type with access to the current state in the debugger.
Let’s say you’re debugging a program and hit a breakpoint:
Now, I’d like to be able to open a new F# Script file and type:
#r "FSharpX.TypeProviders.dll"
let dbg = Debugger.Current
dbg.res // prints 10
dbg.times 3 // prints 6
I suppose this would have to rely on some Visual Studio API (if it’s possible), but it would be just a fantastic use and really helpful tool for debugging – compared to how difficult it is to explore F# values (i.e. lists and discriminated unions) in the watches window etc.
Tomas
@Huw: Something link WinRT? ;-)