F# Interactiveで指定した型の宣言を調べたい
F# Interactiveでは値と一緒に型も表示してくれます。
> 1;;
val it : int = 1
> Some 1;;
val it : int option = Some 1
> printf;;
val it : (Printf.TextWriterFormat<'a> -> 'a) = <fun:clo@1>
では、型を指定してその型の宣言を調べる方法はないでしょうか?
単純に型名だけを指定すると、コンストラクタの型が表示されてしまいます。
> Printf.TextWriterFormat<_>;;
val it : arg00:string -> PrintfFormat<'a,System.IO.TextWriter,unit,unit> =
<fun:clo@5-1>
> Option<_>;;
Option<_>;;
^^^^^^
stdin(7,1): error FS0039: 値またはコンストラクター 'Option' が定義されていません
そうではなく、.fsi ファイルに書くような、型自体の宣言が見たいのです。
F# Interactive上で型を定義したときには似たようなものが表示されるので、これを既存の型にも適用できないものでしょうか。
> type Foo = A of int | B with
- member self.Hoge(x) = 1;;
type Foo =
| A of int
| B
with
member Hoge : x:'a -> int
end
関数の型が気になったときにF# Interactiveに入力するだけでわかるように、型の宣言も同じように調べられたらブラウザ開かずに済むのになと・・・。