/opam_docs

Primary LanguageHTML

OPAM docs

これは何?

OCamlには沢山のライブラリが存在しています。 OSX、brewの環境で、ぱっと使ってみたいと思ってもすぐに使えるように、OCamlのOPAMパッケージを使った簡単な例を揃えたものです。

http://ocaml.org/docs/

こちらと名前がかぶってよくない事が分かったので、リポジトリ名を変更しようかと検討中です。

$ git clone https://github.com/hsk/opam_docs.git
$ cd digest
$ make

等とする事で実行してみる事が出来ます。opamのインストールも自動で行います。make uninstallで削除できます。

標準ライブラリ

  1. digest MD5文字列の生成、変換
  2. graphics 標準の画像処理ライブラリ
  3. str 標準の正規表現ライブラリ

補強ライブラリ

  1. core
  2. extlib

ppx

  1. ppx_blob Include a file as a string at compile time
  2. ppx_deriving データの自動文字列化等 for OCaml >=4.02
  3. ppx_monad モナド構文の追加
  4. ppx_monadic モナド構文の追加
  5. ppx_deriving_yojson データのJSON化
  6. ppx_deriving_protobuf -- A Protocol Buffers codec generator for OCaml >=4.02
  7. ppx_import -- A syntax extension for importing declarations from interfaces
  8. ppx_include -- Include OCaml source files in each other
  9. ppx_meta_conv -- ppx_meta_conv, ppx based type_conv for various tree data formats.
  10. ppx_overload -- ppx_overload: SML style simple but user definable overloading
  11. ppx_pattern_guard -- ppx_pattern_guard: ppx extension for pattern guard
  12. ppx_poly_record -- ppx for polymorphic records
  13. ppx_test -- A ppx replacement of pa_ounit.
  14. ppx_tools 0.99.2 Tools for authors of ppx rewriters and other syntactic tools

Comminucate

  1. biniou -- Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve

データ処理

  1. base64 64文字で表す
  2. csv カンマ区切りのデータの読み書き
  3. xml-light XMLのパース、文字列化、DTDによる検証
  4. ocamlgraph グラフの計算、表示等
  5. camlzip zipファイルの圧縮、解凍等
  6. yojson jsonの読み書き、ソート、文字列化等
  7. ocaml-syck yamlの読み書き

テキスト処理

  1. pcre Perl互換正規表現ライブラリ

画像処理

  1. graphics 標準の画像処理ライブラリ
  2. camlimages 画像の読込、保存、文字列描画、表示
  3. cairo アンチエイリアス付き画像生成、文字列描画、保存
  4. cairo2 Cairo最新版アンチエイリアス付き画像生成、文字列描画、保存
  5. imagemagick 様々な画像の読み込み、保存、描画 [](1. lablgl OpenGL)
  6. mparser シンプルなモナディックパーサコンビネータライブラリ

ネットワーク

  1. ocurl libcurlのOCamlバインディング
  2. ocamlnet http等
  3. cow HTMLのDSL

数学

  1. zarith -- Implements arithmetic and logical operations over arbitrary-precision integers
  2. mesh -- Triangular mesh generation and manipulation.
  3. odepack
  4. l-bfgs
  5. 1d root finding
  6. boolean expression simplifier
  7. tptp -- Library for reading and writing FOF and CNF formulas in TPTP format
  8. 1d optimazation
  9. pareto -- GSL powered OCaml statistics library, which provides

データベース

  1. mysql -- Bindings to libmysqlclient for interacting with mysql databases
  2. mysql_protocol -- Implementation of MySQL Protocol with the Bitstring library
  3. odbc -- Interface to various ODBC drivers
  4. pgocaml -- Interface to PostgreSQL databases
  5. postgresql -- postgresql-ocaml - bindings to the PostgreSQL library
  6. mongo -- OCaml driver for MongoDB
  7. obigstore -- Client/server + embeddable semi-structured database.
  8. ocamldbi -- Database independent layer patterned upon Perl DBI

リアクティブプログラミング

  1. react
  2. rml ReactiveML Language

コマンドラインツール

  1. ocamlc ocamlopt 標準のコンパイラ
  2. ocamllex ocamlyacc 標準のコンパイラコンパイラ サードパーティ製ではmenhir ulexがある。
  3. camlp4 プリプロセッサ
  4. omake OCaml製で、OCamlやC言語等のmakeに変わる便利なビルドツール
  5. ocamlfind パッケージ自動検索
  6. ocamlspot ソースコードの情報取得
  7. utop トップレベルコマンド
  8. depext opam-depext opamのライブラリが依存する外部ライブラリをインストール

より詳しい説明

Makefileを用意して、インストール、アンインストールと、ocamlcとocamloptでのリンクをする例を乗せました。 makeをするだけで、テストプログラムが動作します。make installでパッケージのインストールをmake uninstallでパッケージの削除が書いてあります。make cleanをすれば不要なファイルを消す事が出来ます。 OMakefileはomakeでのビルドとcleanのみ対応していますが、全てを消すことはできないのでmake cleanで消すようにしました。