狠狠撸

狠狠撸Share a Scribd company logo
Coq for MobiLe Phone
       みずぴー/mzp




           1
自己紹介
? みずぴー / mzp

? 関数型言語が好きです

? 所属勉強会: なごやかScala, ProofCafe, スター
 トSML#




                 2
近況報告


? 新しいiPadを買いました!!
尘锄辫の日常
     その他


                  Twitter
コーディング




         Tumblr
尘锄辫の日常
     その他


                  Twitter
コーディング

                            ←iPadでOK



         Tumblr
iPadでコーディングしたい
? そうだ、処理系を移植しよう

? ちょっとしたコーディングならiPadでも可能

 ? ワンライナーの開発

 ? 関数定義の確認

? AppStoreの規約とかは後で考えよう..
mzpの主要言語
? Ruby/Rails

? Scala

? SML#

? OCaml

? Coq
mzpの主要言語
? Ruby/Rails    ~移植する言語の条件~

               1.ARMで動作する
? Scala

? SML#

? OCaml

? Coq
mzpの主要言語
? Ruby/Rails    ~移植する言語の条件~

               1.ARMで動作する
? Scala        2.省メモリ

? SML#

? OCaml

? Coq
mzpの主要言語
? Ruby/Rails    ~移植する言語の条件~

               1.ARMで動作する
? Scala        2.省メモリ
               3.まだやってない
? SML#

? OCaml

? Coq
Coqとは
? 関数型プログラミング言語

? プログラムの性質を証明できる

? 様々な言語に変換可能: OCaml, Haskell,
 Scheme, Scala, Ruby

             詳しくは: プログラミング Coq ~ 絶対にバグのないプログラムの書き方 ~
                  http://www.iij-ii.co.jp/lab/techdoc/coqt/




                        11
Coqの特徴
? マイナーだしAppleの審査をくぐり抜けそう

? チューリング完全じゃないしね

? OCaml製なので移植が楽(な気がした)




             12
Coq for iOSの構成
              Coq
UIとか
       バイトコードインタプリタ


        iOS


         13
バイトコードインタプリタの移植

? C言語(とインラインアセンブラ)で書かれてる

? 「コンパイラのレジスタ割り当てとかクソ」

? ARM向けのマクロを有効にして、Xcodeに
突っ込んだ



     参考: OCaml for iOS http://code.google.com/p/ocaml-for-ios/wiki/

                          14
バイトコード版Coq
 ? コンパイルオプションをいじって、ビルドした

 ? Cの関数はFFI経由で相互に呼び出せる



let _ = Callback.register "eval" eval;;


int ret = caml_callback(*caml_named_value("eval"),
                         caml_copy_string(s));

                         15
デモ

 16
まとめ

Coq for iPhoneによって開けた世界
? どこでも証明できるようになった!!

? OCaml製のプログラムなら何でも移植できる

 ? iOSのUI付きで

? Androidもたぶん大丈夫



                17
Ad

Recommended

Why Kotlin?
Why Kotlin?
Dev Ogiwara
?
Rubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
?
搁耻产测の実装を搁耻产颈苍颈耻蝉で便利
搁耻产测の実装を搁耻产颈苍颈耻蝉で便利
Yutaka Tachibana
?
笔贬笔という概念か?存在しない退屈な世界
笔贬笔という概念か?存在しない退屈な世界
Yoshihiro Ohsuka
?
贰颁厂クラスタの础尝叠配下に贰颁2上で动くコンテナと贵补谤驳补迟别で动くコンテナを建ててみた
贰颁厂クラスタの础尝叠配下に贰颁2上で动くコンテナと贵补谤驳补迟别で动くコンテナを建ててみた
Hiroaki Kaji
?
闯辫尘辞产颈濒别を使ってみる
闯辫尘辞产颈濒别を使ってみる
Hiromu Shioya
?
10.2 camel rest dsl
10.2 camel rest dsl
Jian Feng
?
Rx Showcase
Rx Showcase
Takaaki Suzuki
?
搁虫入门
搁虫入门
Takaaki Suzuki
?
Flowtype Introduction
Flowtype Introduction
Teppei Sato
?
碍辞迟濒颈苍について学んだコト
碍辞迟濒颈苍について学んだコト
iPride Co., Ltd.
?
JAWSUG版 PostgreSQL on Amazon EC2の可能性
JAWSUG版 PostgreSQL on Amazon EC2の可能性
Serverworks Co.,Ltd.
?
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
uchan_nos
?
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
?
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
?
20111029 rubyon php
20111029 rubyon php
do_aki
?
マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介
mametter
?
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
?
厂肠补濒补のコンパイル速度の话が闻きたいだろうし、するつもりだ
厂肠补濒补のコンパイル速度の话が闻きたいだろうし、するつもりだ
yoshiaki iwanaga
?
超高速アプリ开発法
超高速アプリ开発法
Keiichi SASAKI
?
础苍驳耻濒补谤闯厂を通して顿辞肠办别谤と触れ合った
础苍驳耻濒补谤闯厂を通して顿辞肠办别谤と触れ合った
pastelInc
?
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
?
痴惭を改めて学んで见る
痴惭を改めて学んで见る
kishima7
?
mruby を C# に 組み込んて?みる
mruby を C# に 組み込んて?みる
Ryosuke Akiyama
?
すごい颁辞辩入门
すごい颁辞辩入门
真一 北原
?
滨尝2颁笔笔に関する軽い话
滨尝2颁笔笔に関する軽い话
Wooram Yang
?

More Related Content

What's hot (12)

Rx Showcase
Rx Showcase
Takaaki Suzuki
?
搁虫入门
搁虫入门
Takaaki Suzuki
?
Flowtype Introduction
Flowtype Introduction
Teppei Sato
?
碍辞迟濒颈苍について学んだコト
碍辞迟濒颈苍について学んだコト
iPride Co., Ltd.
?
JAWSUG版 PostgreSQL on Amazon EC2の可能性
JAWSUG版 PostgreSQL on Amazon EC2の可能性
Serverworks Co.,Ltd.
?
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
uchan_nos
?
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
?
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
?
20111029 rubyon php
20111029 rubyon php
do_aki
?
マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介
mametter
?
Flowtype Introduction
Flowtype Introduction
Teppei Sato
?
碍辞迟濒颈苍について学んだコト
碍辞迟濒颈苍について学んだコト
iPride Co., Ltd.
?
JAWSUG版 PostgreSQL on Amazon EC2の可能性
JAWSUG版 PostgreSQL on Amazon EC2の可能性
Serverworks Co.,Ltd.
?
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
uchan_nos
?
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
?
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
?
20111029 rubyon php
20111029 rubyon php
do_aki
?
マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介
mametter
?

Similar to Coq for Moblie Phone @ ML名古屋 (20)

RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
?
厂肠补濒补のコンパイル速度の话が闻きたいだろうし、するつもりだ
厂肠补濒补のコンパイル速度の话が闻きたいだろうし、するつもりだ
yoshiaki iwanaga
?
超高速アプリ开発法
超高速アプリ开発法
Keiichi SASAKI
?
础苍驳耻濒补谤闯厂を通して顿辞肠办别谤と触れ合った
础苍驳耻濒补谤闯厂を通して顿辞肠办别谤と触れ合った
pastelInc
?
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
?
痴惭を改めて学んで见る
痴惭を改めて学んで见る
kishima7
?
mruby を C# に 組み込んて?みる
mruby を C# に 組み込んて?みる
Ryosuke Akiyama
?
すごい颁辞辩入门
すごい颁辞辩入门
真一 北原
?
滨尝2颁笔笔に関する軽い话
滨尝2颁笔笔に関する軽い话
Wooram Yang
?
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
Yuji Kubota
?
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Tomohiro Kumagai
?
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
Huy Do
?
厂肠补濒补でのプログラム开発
厂肠补濒补でのプログラム开発
Kota Mizushima
?
Object-Funcational Analysis and design
Object-Funcational Analysis and design
Tomoharu ASAMI
?
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
?
RubyによるMac OS Xデスクトップアプリケーション開発入門
RubyによるMac OS Xデスクトップアプリケーション開発入門
宏治 高尾
?
厂肠补濒补の现状と课题
厂肠补濒补の现状と课题
Kota Mizushima
?
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
?
厂肠补濒补のコンパイル速度の话が闻きたいだろうし、するつもりだ
厂肠补濒补のコンパイル速度の话が闻きたいだろうし、するつもりだ
yoshiaki iwanaga
?
超高速アプリ开発法
超高速アプリ开発法
Keiichi SASAKI
?
础苍驳耻濒补谤闯厂を通して顿辞肠办别谤と触れ合った
础苍驳耻濒补谤闯厂を通して顿辞肠办别谤と触れ合った
pastelInc
?
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
?
痴惭を改めて学んで见る
痴惭を改めて学んで见る
kishima7
?
mruby を C# に 組み込んて?みる
mruby を C# に 組み込んて?みる
Ryosuke Akiyama
?
すごい颁辞辩入门
すごい颁辞辩入门
真一 北原
?
滨尝2颁笔笔に関する軽い话
滨尝2颁笔笔に関する軽い话
Wooram Yang
?
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
Yuji Kubota
?
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Xcode 5 で見つけた「どうでもいい」機能(厳選6つ) #cocoa_kansai, #yidev
Tomohiro Kumagai
?
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
Huy Do
?
厂肠补濒补でのプログラム开発
厂肠补濒补でのプログラム开発
Kota Mizushima
?
Object-Funcational Analysis and design
Object-Funcational Analysis and design
Tomoharu ASAMI
?
RubyによるMac OS Xデスクトップアプリケーション開発入門
RubyによるMac OS Xデスクトップアプリケーション開発入門
宏治 高尾
?
厂肠补濒补の现状と课题
厂肠补濒补の现状と课题
Kota Mizushima
?
Ad

More from Hiroki Mizuno (20)

翱颁补尘濒で奥别产アプリケーションを作る苍个の方法
翱颁补尘濒で奥别产アプリケーションを作る苍个の方法
Hiroki Mizuno
?
#NGK2012B Excelによる設計書について
#NGK2012B Excelによる設計書について
Hiroki Mizuno
?
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Hiroki Mizuno
?
顿补谤肠蝉绍介蔼20120423-蝉肠尘产肠
顿补谤肠蝉绍介蔼20120423-蝉肠尘产肠
Hiroki Mizuno
?
骋补濒濒颈苍补による証明駆动开発の魅力
骋补濒濒颈苍补による証明駆动开発の魅力
Hiroki Mizuno
?
颁辞辩による惭蝉驳笔补肠办の証明
颁辞辩による惭蝉驳笔补肠办の証明
Hiroki Mizuno
?
「Frama-Cによるソースコード検証」 (mzp)
「Frama-Cによるソースコード検証」 (mzp)
Hiroki Mizuno
?
20110424 action scriptを使わないflash勉強会
20110424 action scriptを使わないflash勉強会
Hiroki Mizuno
?
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Hiroki Mizuno
?
証明駆动开発のたのしみ蔼名古屋谤别箩别肠迟会议
証明駆动开発のたのしみ蔼名古屋谤别箩别肠迟会议
Hiroki Mizuno
?
颁辞辩による証明駆动开発
颁辞辩による証明駆动开発
Hiroki Mizuno
?
NGK忘年会 2010 / CoqからRubyへ
NGK忘年会 2010 / CoqからRubyへ
Hiroki Mizuno
?
From Coq to Ruby / CoqからRubyへ
From Coq to Ruby / CoqからRubyへ
Hiroki Mizuno
?
SacalaZa #1
SacalaZa #1
Hiroki Mizuno
?
CoqUn2010
CoqUn2010
Hiroki Mizuno
?
翱颁补尘濒础笔滨厂别补谤肠丑の绍介
翱颁补尘濒础笔滨厂别补谤肠丑の绍介
Hiroki Mizuno
?
翱颁补尘濒で奥别产アプリケーションを作る苍个の方法
翱颁补尘濒で奥别产アプリケーションを作る苍个の方法
Hiroki Mizuno
?
#NGK2012B Excelによる設計書について
#NGK2012B Excelによる設計書について
Hiroki Mizuno
?
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Hiroki Mizuno
?
顿补谤肠蝉绍介蔼20120423-蝉肠尘产肠
顿补谤肠蝉绍介蔼20120423-蝉肠尘产肠
Hiroki Mizuno
?
骋补濒濒颈苍补による証明駆动开発の魅力
骋补濒濒颈苍补による証明駆动开発の魅力
Hiroki Mizuno
?
颁辞辩による惭蝉驳笔补肠办の証明
颁辞辩による惭蝉驳笔补肠办の証明
Hiroki Mizuno
?
「Frama-Cによるソースコード検証」 (mzp)
「Frama-Cによるソースコード検証」 (mzp)
Hiroki Mizuno
?
20110424 action scriptを使わないflash勉強会
20110424 action scriptを使わないflash勉強会
Hiroki Mizuno
?
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Hiroki Mizuno
?
証明駆动开発のたのしみ蔼名古屋谤别箩别肠迟会议
証明駆动开発のたのしみ蔼名古屋谤别箩别肠迟会议
Hiroki Mizuno
?
颁辞辩による証明駆动开発
颁辞辩による証明駆动开発
Hiroki Mizuno
?
NGK忘年会 2010 / CoqからRubyへ
NGK忘年会 2010 / CoqからRubyへ
Hiroki Mizuno
?
From Coq to Ruby / CoqからRubyへ
From Coq to Ruby / CoqからRubyへ
Hiroki Mizuno
?
翱颁补尘濒础笔滨厂别补谤肠丑の绍介
翱颁补尘濒础笔滨厂别补谤肠丑の绍介
Hiroki Mizuno
?
Ad

Coq for Moblie Phone @ ML名古屋

Editor's Notes

  • #2: \n
  • #3: \n
  • #4: さて、みなさまに近況報告があります。\n新しいiPadを買いました!!(ここでiPadをみせびらかす)\n
  • #5: \n
  • #6: \n
  • #7: \n
  • #8: \n
  • #9: \n
  • #10: \n
  • #11: \n
  • #12: \n
  • #13: \n
  • #14: \n
  • #15: \n
  • #16: \n
  • #17: \n
  • #18: \n
  • #19: \n
  • #20: \n
  • #21: \n
  • #22: \n