Skip to content

F# API search engine 名前はテキトーなので何か思いついたら変えたい。

License

Notifications You must be signed in to change notification settings

gitter-badger/FSharpApiSearch

 
 

Repository files navigation

FSharpApiSearch

F# API search engine 名前はテキトーなので何か思いついたら変えたい。

使い方

コマンドラインの引数にクエリを渡して検索します。

> FSharpApiSearch.Console.exe "int -> int"

引数を省略した場合はプログラムを終了するまで何度でも検索できます。#qを入力すると終了します。

Query Specification

基本的にはF# のシグネチャと同じ形式で検索できます。

Type Name

一致する型名を検索します。

string -> int
int -> int

Type Variable

型変数により任意の型を検索します。 型変数は強力で、'aと検索した場合はジェネリック型(例: list<string>)、関数(例: (int -> int))等のすべての型にもマッチします。

クエリ中で違う型変数を使用した場合、検索対象には別の型を期待します。 'a -> 'bという検索をした場合は、int -> stringにはマッチしますが、int -> intにはマッチしません。

'a -> int
'a -> 'b -> 'b

Generic

.Net形式、ML形式のクエリでジェネリック型を検索します。ジェネリック型には型名、型変数のみ使用できます。型パラメータの記述には制限はありません。

高階型での検索もできます。

list<'a> -> 'a
'a list -> 'a list
'a<string, 'b> -> string -> 'b

Function

引数の数が同じで、引数、戻り値の型がマッチする関数を検索します。ネストした関数は括弧で表現します。

int -> int -> int
('a -> 'b) -> 'a 'c -> 'b 'c

Tuple

タプル型を検索します。ネストしたタプルは括弧で表現します。

'a * 'b -> 'a
('a * 'b) * 'c

About

F# API search engine 名前はテキトーなので何か思いついたら変えたい。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • F# 97.5%
  • Shell 1.7%
  • Batchfile 0.8%