Testing CamlSearch: a type isomorphisms based search engine for CamlLight functions


searching CamlLight functions via type isomorphisms

You can search here a CamlLight function in various libraries, using its type. The search algorithm works up to type isomorphisms, whose theory has been established in several works (see for example this book and this online page).

Enter here the type of the function you are looking for, choosing libraires or modules where you want to search, and some parameters for the search algorithm.

For example, if you look for all binary operators over numbers, you can find them by entering int -> int -> int (or also int * int -> int, as these two types are isomorphic). Or you can try 'a*('b->'a->'a)->'b list ->'a if you look for an iterator over polymorphic lists.


In which library?

  1. the standard ML library.
  2. the Unix Library.
  3. the MLgraph library.
How do we search?:

  1. More general types.
  2. Identical types up to isomorphisms.
  3. Less general than the given type (then the type should contain pattern variables like _x).
Special handling for unit type:

  1. Do not collapse unit types.
  2. Collapse unit types.
Output formatting preferences:

  1. Drop module name prefix.
  2. Give full path to modules and details on matching depth.

This page maintained by Roberto Di Cosmo, E-Mail:roberto@dicosmo.org