OCaml        Hoogle
OCaml API Search
       ocaml-nagoya / mzp




                     2010-08-28 OCaml Meeting 2010 Nagoya
               1
•                  / mzp

• http://twitter.com/mzp
• SE(not OCaml)
•                    1     OCaml
  API Search


                     2
Haskell                    ?




 OCaml           Haskell
          ※Google




             3
Haskell                        ?

  2,130,000




 OCaml               Haskell
              ※Google




                 3
Haskell                             ?
                        3,380,000




  2,130,000




 OCaml               Haskell
              ※Google




                 3
Haskell                             ?
                        3,380,000




  2,130,000




 OCaml               Haskell
              ※Google

                           !
                 3
Hoogle




         4
• (a -> b) -> [a] -> [b]   ...




                       5
• (a -> b) -> [a] -> [b]    ...




                  map




                        5
=




    6
OCaml
•   caml-list   : [caml-list]OCaml for Hoogle




                   7
OCaml
    •   caml-list       : [caml-list]OCaml for Hoogle
                    OCaml   Hoogle
                                 ?
※




                            7
OCaml
    •   caml-list           : [caml-list]OCaml for Hoogle
                        OCaml   Hoogle
                                     ?
※
                GODI
                    (                    )




                                7
OCaml
    •   caml-list               : [caml-list]OCaml for Hoogle
                         OCaml     Hoogle
                                        ?
※
                GODI
                     (                          )

                    OCamlBrowser
                         (Web               )


                                   7
OCaml
        •   caml-list               : [caml-list]OCaml for Hoogle
                             OCaml     Hoogle
                                            ?
※
                    GODI
                         (                          )

                        OCamlBrowser
                             (Web               )


    •        : OCaml Hoogle
                                       7
                                                !
8
• http://search.ocaml.jp
• http://github.com/mzp/ocaml-hoogle




                    9
(‘a -> ‘b) -> ‘a list -> ‘b list
                        ...




                 10
(‘a -> ‘b) -> ‘a list -> ‘b list
                            ...


                      map




                 10
•


    11
•
    •    : Unix, Thread,Num

• extlib
 • http://code.google.com/p/ocaml-extlib/

                    12
•    OCamlBrowser



              •
otherlibs/labltk/browser/searchid.ml
(*                                     *)
val module_list : string list ref


(*                                               *)
val search_string_type :
    string -> mode:[`Exact|`Included] -> (Longident.t * pkind) list


                                            13
•   HTML

•

•

           14
• Hoogle
• OCaml
 • http://search.ocaml.jp
• OCamlBrowser

                     15

OCamlAPISearchの紹介

  • 1.
    OCaml Hoogle OCaml API Search ocaml-nagoya / mzp 2010-08-28 OCaml Meeting 2010 Nagoya 1
  • 2.
    / mzp • http://twitter.com/mzp • SE(not OCaml) • 1 OCaml API Search 2
  • 3.
    Haskell ? OCaml Haskell ※Google 3
  • 4.
    Haskell ? 2,130,000 OCaml Haskell ※Google 3
  • 5.
    Haskell ? 3,380,000 2,130,000 OCaml Haskell ※Google 3
  • 6.
    Haskell ? 3,380,000 2,130,000 OCaml Haskell ※Google ! 3
  • 7.
  • 8.
    • (a ->b) -> [a] -> [b] ... 5
  • 9.
    • (a ->b) -> [a] -> [b] ... map 5
  • 10.
    = 6
  • 11.
    OCaml • caml-list : [caml-list]OCaml for Hoogle 7
  • 12.
    OCaml • caml-list : [caml-list]OCaml for Hoogle OCaml Hoogle ? ※ 7
  • 13.
    OCaml • caml-list : [caml-list]OCaml for Hoogle OCaml Hoogle ? ※ GODI ( ) 7
  • 14.
    OCaml • caml-list : [caml-list]OCaml for Hoogle OCaml Hoogle ? ※ GODI ( ) OCamlBrowser (Web ) 7
  • 15.
    OCaml • caml-list : [caml-list]OCaml for Hoogle OCaml Hoogle ? ※ GODI ( ) OCamlBrowser (Web ) • : OCaml Hoogle 7 !
  • 16.
  • 17.
  • 18.
    (‘a -> ‘b)-> ‘a list -> ‘b list ... 10
  • 19.
    (‘a -> ‘b)-> ‘a list -> ‘b list ... map 10
  • 20.
    11
  • 21.
    • : Unix, Thread,Num • extlib • http://code.google.com/p/ocaml-extlib/ 12
  • 22.
    OCamlBrowser • otherlibs/labltk/browser/searchid.ml (* *) val module_list : string list ref (* *) val search_string_type : string -> mode:[`Exact|`Included] -> (Longident.t * pkind) list 13
  • 23.
    HTML • • 14
  • 24.
    • Hoogle • OCaml • http://search.ocaml.jp • OCamlBrowser 15