やってみようOCaml OCaml Meeting 2010 名古屋 今井宜洋
やってみようOCaml
OCaml Meeting 2010 名古屋今井宜洋
自己紹介id:yoshihiro503 にわとり小屋でのプログラミング日記
@yoshihiro503
ocaml-nagoya
ProofCafe(栄)
Fomal Method勉強会
名古屋Scala, CSNagoya, RWH読書会
OCamlとは
INRIAで研究、開発
主要開発者: Xavier Leroy, Jacques Garrigue,...
ラムダ計算という理論を基礎にしている
関数型言語
OCaml HaskellSchemeStandard ML
Scala F# haXe
静的型付き言語動的型
javascript SML#
コマンドと拡張子
対話環境: ocaml
バイトコードコンパイラ: ocamlc
ネイティブコンパイラ: ocamlopt
ラムダ計算λterm ::= | x | λterm λterm | fun x -> λterm
ラムダ計算λterm ::= | x | λterm λterm | fun x -> λterm | 数値や文字列等の定数、リスト | バリアント、ペア | let式、match式、if式
ラムダ計算λterm ::= | x | λterm λterm | fun x -> λterm | 数値や文字列等の定数、リスト | バリアント、ペア | let式、match式、if式 | 代入可能な変数、ループ、モジュール
ラムダ計算λterm ::= | x | λterm λterm | fun x -> λterm | 数値や文字列等の定数、リスト | バリアント、ペア | let式、match式、if式 | 代入可能な変数、ループ、モジュール | 多相バリアント、オブジェクト
ラムダ計算λterm ::= | x | λterm λterm | fun x -> λterm | 数値や文字列等の定数、リスト | バリアント、ペア | let式、match式、if式 | 代入可能な変数、ループ、モジュール | 多相バリアント、オブジェクト | 第一級のモジュール ← イマココ!
OCamlここがよい
強力な型システムで安全
nullがない
実行効率が良い
検証器Coqと連携が容易
OCamlでTwitterしよう
ocamltter (http://github.com/yoshihiro503/ocamltter)
ocamlの対話環境でTwitter
対話的にbotなどを開発できる
デモ
ITプランニングの例金融系のシステム
サーバーサイドをOCaml
クライアントは携帯電話やブラウザ
24時間 毎秒データ配信、データベース更新
まとめ
OCamlは型安全で高信頼
仕事で使うと健康になる
より高信頼にしたい場所は証明する(Coq)
明日はCoq庵
13:15 - 17:30
名古屋市 栄
ナディアパーク9F