Soumettre la recherche
Mettre en ligne
OCamlのトップレベルあれそれ
•
1 j'aime
•
638 vues
nomaddo
Suivre
ML_Day#2 で発表したスライドです
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 8
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Cython ことはじめ
Cython ことはじめ
gion_XY
数値計算のための Python + FPGA
数値計算のための Python + FPGA
ryos36
研究生のためのC++ no.2
研究生のためのC++ no.2
Tomohiro Namba
Phpmatsuri2011 LT j_nakada
Phpmatsuri2011 LT j_nakada
Junpei Nakada
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
Ilerpg Study 004
Ilerpg Study 004
Yoshiki Ushida
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Relations Team
Recommandé
Cython ことはじめ
Cython ことはじめ
gion_XY
数値計算のための Python + FPGA
数値計算のための Python + FPGA
ryos36
研究生のためのC++ no.2
研究生のためのC++ no.2
Tomohiro Namba
Phpmatsuri2011 LT j_nakada
Phpmatsuri2011 LT j_nakada
Junpei Nakada
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
Ilerpg Study 004
Ilerpg Study 004
Yoshiki Ushida
Wrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Relations Team
Ilerpg Study 003
Ilerpg Study 003
Yoshiki Ushida
8F Emacs seminar 1st
8F Emacs seminar 1st
toshi_pp
Polyphony IO まとめ
Polyphony IO まとめ
ryos36
研究生のためのC++ no.7
研究生のためのC++ no.7
Tomohiro Namba
Introduction to cython
Introduction to cython
Atsuo Ishimoto
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
Ruo Ando
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
基礎からC言語 part1
基礎からC言語 part1
Hiroyuki Ito
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料
Atsuo Ishimoto
mlr-grep - レコード指向grep
mlr-grep - レコード指向grep
Ryoichi KATO
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du
core dumpでcode golf
core dumpでcode golf
Nomura Yusuke
Cython intro prelerease
Cython intro prelerease
Shiqiao Du
PlantUML
PlantUML
yukiohnaka
Ilerpg Study 002
Ilerpg Study 002
Yoshiki Ushida
Goをカンストさせる話
Goをカンストさせる話
Moriyoshi Koizumi
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Makoto Kawano
Scalamacrosについて
Scalamacrosについて
dekosuke
String representation in py3k
String representation in py3k
Atsuo Ishimoto
カーネルモジュールプログラミング超入門 #1(仮)
カーネルモジュールプログラミング超入門 #1(仮)
University of Tsukuba Linux User Group
Php in ruby
Php in ruby
do_aki
Contenu connexe
Tendances
Ilerpg Study 003
Ilerpg Study 003
Yoshiki Ushida
8F Emacs seminar 1st
8F Emacs seminar 1st
toshi_pp
Polyphony IO まとめ
Polyphony IO まとめ
ryos36
研究生のためのC++ no.7
研究生のためのC++ no.7
Tomohiro Namba
Introduction to cython
Introduction to cython
Atsuo Ishimoto
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
Ruo Ando
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
基礎からC言語 part1
基礎からC言語 part1
Hiroyuki Ito
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料
Atsuo Ishimoto
mlr-grep - レコード指向grep
mlr-grep - レコード指向grep
Ryoichi KATO
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du
core dumpでcode golf
core dumpでcode golf
Nomura Yusuke
Cython intro prelerease
Cython intro prelerease
Shiqiao Du
PlantUML
PlantUML
yukiohnaka
Ilerpg Study 002
Ilerpg Study 002
Yoshiki Ushida
Goをカンストさせる話
Goをカンストさせる話
Moriyoshi Koizumi
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Makoto Kawano
Scalamacrosについて
Scalamacrosについて
dekosuke
String representation in py3k
String representation in py3k
Atsuo Ishimoto
Tendances
(20)
Ilerpg Study 003
Ilerpg Study 003
8F Emacs seminar 1st
8F Emacs seminar 1st
Polyphony IO まとめ
Polyphony IO まとめ
研究生のためのC++ no.7
研究生のためのC++ no.7
Introduction to cython
Introduction to cython
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
基礎からC言語 part1
基礎からC言語 part1
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料
mlr-grep - レコード指向grep
mlr-grep - レコード指向grep
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
core dumpでcode golf
core dumpでcode golf
Cython intro prelerease
Cython intro prelerease
PlantUML
PlantUML
Ilerpg Study 002
Ilerpg Study 002
Goをカンストさせる話
Goをカンストさせる話
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Scalamacrosについて
Scalamacrosについて
String representation in py3k
String representation in py3k
Similaire à OCamlのトップレベルあれそれ
カーネルモジュールプログラミング超入門 #1(仮)
カーネルモジュールプログラミング超入門 #1(仮)
University of Tsukuba Linux User Group
Php in ruby
Php in ruby
do_aki
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
digitalghost
Python physicalcomputing
Python physicalcomputing
Noboru Irieda
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
Takatoshi Kondo
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
ふつうのLinuxプログラミング
ふつうのLinuxプログラミング
Shuhei KONDO
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
Makiko Konoshima
1MB
1MB
arase_utagoe
BBBBB
BBBBB
arase_utagoe
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
NSaitoNmiri
Rの高速化
Rの高速化
弘毅 露崎
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
openrtm
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
Kei IWASAKI
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
C#勉強会
C#勉強会
hakugakucafe
Similaire à OCamlのトップレベルあれそれ
(20)
カーネルモジュールプログラミング超入門 #1(仮)
カーネルモジュールプログラミング超入門 #1(仮)
Php in ruby
Php in ruby
C++コンパイラ GCCとClangからのメッセージをお読みください
C++コンパイラ GCCとClangからのメッセージをお読みください
Python physicalcomputing
Python physicalcomputing
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
ふつうのLinuxプログラミング
ふつうのLinuxプログラミング
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
1MB
1MB
BBBBB
BBBBB
実用裏方 Perl 入門
実用裏方 Perl 入門
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
Rの高速化
Rの高速化
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Programming camp Codereading
Programming camp Codereading
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
C#勉強会
C#勉強会
OCamlのトップレベルあれそれ
1.
OCamlのトップレベルあれそれ ML Day#2 光のインターネットの闇 @no_maddo
2.
OCamlにはトップレベルを いじる機能があるよ • compiler-libsのtopdirs.mli・toploop.mliに書い てある – add_directive –
preprocess_phase, execute_phase • 事実上のeval – install_printer • ダイナミックな言語でやっているようなことが まぁまぁできる
3.
install_printer (* formatter ->
(int, int) Hashtbl.t -> unit *) let p fmt h = Hashtbl.to_seq h |> Seq.iter (fun (k, v) -> Format.fprintf fmt "key: %d, value: %d@." k v) ;; (* formatter -> (int, int) Hashtbl.t -> unit *) let p fmt h = Hashtbl.to_seq h |> Seq.iter (fun (k, v) -> Format.fprintf fmt "key: %d, value: %d@." k v) ;; $ #install_printer p $ h ;; - : (int, int) Hashtbl.t = key: 1, value: 100 $ #install_printer p $ h ;; - : (int, int) Hashtbl.t = key: 1, value: 100
4.
eval let eval cmd
= cmd |> Lexing.from_string |> !Toploop.parse_toplevel_phrase |> Toploop.execute_phrase true err_formatter |> ignore let eval cmd = cmd |> Lexing.from_string |> !Toploop.parse_toplevel_phrase |> Toploop.execute_phrase true err_formatter |> ignore $ eval “let x = 1 + 2;;” ;; $ x - : int = 6 $ eval “let x = 1 + 2;;” ;; $ x - : int = 6
5.
ユースケース • ctypes – 生のメモリを表示するのに使っている •
owl – 行列計算や計算グラフを使うライブラリ – 行列を綺麗にプリントするのに使っている • sexplib – プリンタ
6.
よもや話1 • ocamldebugで複雑なことをするとき、 install_printerは必要 – OCamlのTyping •
だが無力 – C FFIつかてるとき – Thread使うプログラム – ocamlcだけしかデバッグできない • GDBではpythonスクリプトで実現 – printで関数コールができるからいらない!
7.
よもや話2 • ocamldebug.elが壊滅的に使いづらい – duneのビルドはシンボリックリンクをつくる –
ocamldebugがどっちを開くかって毎回聞いてくる
8.
なんでこんな話したか • Owlはeval +
install_rinter + add_directiveで対 話環境をヘビーに使い倒すスタイル – OCamlで対話環境を真面目に使っているというの を初めて目撃した – ライブラリから、対話環境を弄り倒すという スタイルもありなんじゃないかと思いました
Télécharger maintenant