SlideShare a Scribd company logo
1 of 29
Download to read offline
Ajhcコンパイラの押売りに来ましたAjhcコンパイラの押売りに来ましたAjhcコンパイラの押売りに来ましたAjhcコンパイラの押売りに来ましたAjhcコンパイラの押売りに来ました
Kiwamu OkabeKiwamu OkabeKiwamu OkabeKiwamu OkabeKiwamu Okabe
[1] 自己紹介[1] 自己紹介[1] 自己紹介[1] 自己紹介[1] 自己紹介
☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/☆ http://www.masterq.net/
☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務
☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた
☆ Debian Maintainer☆ Debian Maintainer☆ Debian Maintainer☆ Debian Maintainer☆ Debian Maintainer
☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます
☆ OSSに興味のあるエンジニア募集中です!☆ OSSに興味のあるエンジニア募集中です!☆ OSSに興味のあるエンジニア募集中です!☆ OSSに興味のあるエンジニア募集中です!☆ OSSに興味のあるエンジニア募集中です!
経歴経歴経歴経歴経歴
☆ 2001年: 東京都立大学 修士卒業☆ 2001年: 東京都立大学 修士卒業☆ 2001年: 東京都立大学 修士卒業☆ 2001年: 東京都立大学 修士卒業☆ 2001年: 東京都立大学 修士卒業
☆ 専攻: 電気・電子工学☆ 専攻: 電気・電子工学☆ 専攻: 電気・電子工学☆ 専攻: 電気・電子工学☆ 専攻: 電気・電子工学
☆ 2001—2012年: コピー機メーカー勤務☆ 2001—2012年: コピー機メーカー勤務☆ 2001—2012年: コピー機メーカー勤務☆ 2001—2012年: コピー機メーカー勤務☆ 2001—2012年: コピー機メーカー勤務
☆ 2012年—: 現職☆ 2012年—: 現職☆ 2012年—: 現職☆ 2012年—: 現職☆ 2012年—: 現職
宣伝:λカ娘に記事を書きませんか?宣伝:λカ娘に記事を書きませんか?宣伝:λカ娘に記事を書きませんか?宣伝:λカ娘に記事を書きませんか?宣伝:λカ娘に記事を書きませんか?
http://www.paraiso-lang.org/ikmsm/http://www.paraiso-lang.org/ikmsm/http://www.paraiso-lang.org/ikmsm/http://www.paraiso-lang.org/ikmsm/http://www.paraiso-lang.org/ikmsm/
☆ 関数型プログラミングに関する同人誌☆ 関数型プログラミングに関する同人誌☆ 関数型プログラミングに関する同人誌☆ 関数型プログラミングに関する同人誌☆ 関数型プログラミングに関する同人誌
☆ これまで4巻出しました☆ これまで4巻出しました☆ これまで4巻出しました☆ これまで4巻出しました☆ これまで4巻出しました
☆ 結構好評みたいです☆ 結構好評みたいです☆ 結構好評みたいです☆ 結構好評みたいです☆ 結構好評みたいです
☆ ネタある人は @xhl_kogitsune さんまで!☆ ネタある人は @xhl_kogitsune さんまで!☆ ネタある人は @xhl_kogitsune さんまで!☆ ネタある人は @xhl_kogitsune さんまで!☆ ネタある人は @xhl_kogitsune さんまで!
☆ Call For Articlesはイカ☆ Call For Articlesはイカ☆ Call For Articlesはイカ☆ Call For Articlesはイカ☆ Call For Articlesはイカ
http://www.paraiso-lang.org/ikmsm/books/c84.htmlhttp://www.paraiso-lang.org/ikmsm/books/c84.htmlhttp://www.paraiso-lang.org/ikmsm/books/c84.htmlhttp://www.paraiso-lang.org/ikmsm/books/c84.htmlhttp://www.paraiso-lang.org/ikmsm/books/c84.html
おしながきおしながきおしながきおしながきおしながき
☆ [1] 自己紹介☆ [1] 自己紹介☆ [1] 自己紹介☆ [1] 自己紹介☆ [1] 自己紹介
☆ [2] Ajhcコンパイラとは☆ [2] Ajhcコンパイラとは☆ [2] Ajhcコンパイラとは☆ [2] Ajhcコンパイラとは☆ [2] Ajhcコンパイラとは
☆ [3] kernelに強い型が必要なのか☆ [3] kernelに強い型が必要なのか☆ [3] kernelに強い型が必要なのか☆ [3] kernelに強い型が必要なのか☆ [3] kernelに強い型が必要なのか
☆ [4] Ajhcコンパイラとマイコン☆ [4] Ajhcコンパイラとマイコン☆ [4] Ajhcコンパイラとマイコン☆ [4] Ajhcコンパイラとマイコン☆ [4] Ajhcコンパイラとマイコン
☆ [5] Ajhcのすゝめ☆ [5] Ajhcのすゝめ☆ [5] Ajhcのすゝめ☆ [5] Ajhcのすゝめ☆ [5] Ajhcのすゝめ
[2] Ajhcコンパイラとは[2] Ajhcコンパイラとは[2] Ajhcコンパイラとは[2] Ajhcコンパイラとは[2] Ajhcコンパイラとは
http://ajhc.metasepi.org/http://ajhc.metasepi.org/http://ajhc.metasepi.org/http://ajhc.metasepi.org/http://ajhc.metasepi.org/
☆ Ajhc := A fork of jhc☆ Ajhc := A fork of jhc☆ Ajhc := A fork of jhc☆ Ajhc := A fork of jhc☆ Ajhc := A fork of jhc
☆ http://repetae.net/computer/jhc/☆ http://repetae.net/computer/jhc/☆ http://repetae.net/computer/jhc/☆ http://repetae.net/computer/jhc/☆ http://repetae.net/computer/jhc/
☆ jhcはフットプリントが小さく、☆ jhcはフットプリントが小さく、☆ jhcはフットプリントが小さく、☆ jhcはフットプリントが小さく、☆ jhcはフットプリントが小さく、
☆ 高速な実行バイナリを吐くらしい☆ 高速な実行バイナリを吐くらしい☆ 高速な実行バイナリを吐くらしい☆ 高速な実行バイナリを吐くらしい☆ 高速な実行バイナリを吐くらしい
☆ 組み込みに向いてるかも☆ 組み込みに向いてるかも☆ 組み込みに向いてるかも☆ 組み込みに向いてるかも☆ 組み込みに向いてるかも
どうしてAjhcコンパイラを作るの?どうしてAjhcコンパイラを作るの?どうしてAjhcコンパイラを作るの?どうしてAjhcコンパイラを作るの?どうしてAjhcコンパイラを作るの?
☆ Metasepiというkernelを作るため☆ Metasepiというkernelを作るため☆ Metasepiというkernelを作るため☆ Metasepiというkernelを作るため☆ Metasepiというkernelを作るため
http://metasepi.org/http://metasepi.org/http://metasepi.org/http://metasepi.org/http://metasepi.org/
☆ UNIXモドキkernelを強い型によって設計☆ UNIXモドキkernelを強い型によって設計☆ UNIXモドキkernelを強い型によって設計☆ UNIXモドキkernelを強い型によって設計☆ UNIXモドキkernelを強い型によって設計
☆ 言語: HaskellとかOCamlとかMLtonとか☆ 言語: HaskellとかOCamlとかMLtonとか☆ 言語: HaskellとかOCamlとかMLtonとか☆ 言語: HaskellとかOCamlとかMLtonとか☆ 言語: HaskellとかOCamlとかMLtonとか
[3] kernelに強い型が必要なのか[3] kernelに強い型が必要なのか[3] kernelに強い型が必要なのか[3] kernelに強い型が必要なのか[3] kernelに強い型が必要なのか
☆ LinuxやWindowsが既にあるのでは?☆ LinuxやWindowsが既にあるのでは?☆ LinuxやWindowsが既にあるのでは?☆ LinuxやWindowsが既にあるのでは?☆ LinuxやWindowsが既にあるのでは?
☆ しかし大規模組込開発は苦しんでいる☆ しかし大規模組込開発は苦しんでいる☆ しかし大規模組込開発は苦しんでいる☆ しかし大規模組込開発は苦しんでいる☆ しかし大規模組込開発は苦しんでいる
☆ kernelをカスタマイズして使用☆ kernelをカスタマイズして使用☆ kernelをカスタマイズして使用☆ kernelをカスタマイズして使用☆ kernelをカスタマイズして使用
☆ kernelのランタイムエラー☆ kernelのランタイムエラー☆ kernelのランタイムエラー☆ kernelのランタイムエラー☆ kernelのランタイムエラー
☆ 再現することでさえ困難☆ 再現することでさえ困難☆ 再現することでさえ困難☆ 再現することでさえ困難☆ 再現することでさえ困難
kernelにこそ型安全が必要kernelにこそ型安全が必要kernelにこそ型安全が必要kernelにこそ型安全が必要kernelにこそ型安全が必要
☆ ほとんどのkernelはC言語で設計される☆ ほとんどのkernelはC言語で設計される☆ ほとんどのkernelはC言語で設計される☆ ほとんどのkernelはC言語で設計される☆ ほとんどのkernelはC言語で設計される
☆ ユーザー空間でエラー → SEGV☆ ユーザー空間でエラー → SEGV☆ ユーザー空間でエラー → SEGV☆ ユーザー空間でエラー → SEGV☆ ユーザー空間でエラー → SEGV
☆ kernel空間でエラー → システム停止☆ kernel空間でエラー → システム停止☆ kernel空間でエラー → システム停止☆ kernel空間でエラー → システム停止☆ kernel空間でエラー → システム停止
☆ kernelの設計には細心の注意が必要☆ kernelの設計には細心の注意が必要☆ kernelの設計には細心の注意が必要☆ kernelの設計には細心の注意が必要☆ kernelの設計には細心の注意が必要
☆ C言語は安全なのか?☆ C言語は安全なのか?☆ C言語は安全なのか?☆ C言語は安全なのか?☆ C言語は安全なのか?
☆ 参考:数理科学的バグ撲滅方法論のすすめ☆ 参考:数理科学的バグ撲滅方法論のすすめ☆ 参考:数理科学的バグ撲滅方法論のすすめ☆ 参考:数理科学的バグ撲滅方法論のすすめ☆ 参考:数理科学的バグ撲滅方法論のすすめ
http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248230/
改造工数を小さくしたい改造工数を小さくしたい改造工数を小さくしたい改造工数を小さくしたい改造工数を小さくしたい
OSSを使った製品開発あるあるOSSを使った製品開発あるあるOSSを使った製品開発あるあるOSSを使った製品開発あるあるOSSを使った製品開発あるある
C言語の表現力は非力C言語の表現力は非力C言語の表現力は非力C言語の表現力は非力C言語の表現力は非力
モダンな言語機能を使いたいモダンな言語機能を使いたいモダンな言語機能を使いたいモダンな言語機能を使いたいモダンな言語機能を使いたい
☆ パターンマッチ☆ パターンマッチ☆ パターンマッチ☆ パターンマッチ☆ パターンマッチ
☆ 純粋関数☆ 純粋関数☆ 純粋関数☆ 純粋関数☆ 純粋関数
☆ 高階関数☆ 高階関数☆ 高階関数☆ 高階関数☆ 高階関数
☆ 型推論☆ 型推論☆ 型推論☆ 型推論☆ 型推論
☆ 対話環境☆ 対話環境☆ 対話環境☆ 対話環境☆ 対話環境
☆ STM☆ STM☆ STM☆ STM☆ STM
型付けされていれば未来は広がる型付けされていれば未来は広がる型付けされていれば未来は広がる型付けされていれば未来は広がる型付けされていれば未来は広がる
☆ 単体テストしやすい☆ 単体テストしやすい☆ 単体テストしやすい☆ 単体テストしやすい☆ 単体テストしやすい
☆ 型による契約プログラミング☆ 型による契約プログラミング☆ 型による契約プログラミング☆ 型による契約プログラミング☆ 型による契約プログラミング
☆ 検証しやすい☆ 検証しやすい☆ 検証しやすい☆ 検証しやすい☆ 検証しやすい
☆ 証明器による設計☆ 証明器による設計☆ 証明器による設計☆ 証明器による設計☆ 証明器による設計
なぜGHCを使わないのかなぜGHCを使わないのかなぜGHCを使わないのかなぜGHCを使わないのかなぜGHCを使わないのか
GHCの吐くバイナリはサイズが大きいGHCの吐くバイナリはサイズが大きいGHCの吐くバイナリはサイズが大きいGHCの吐くバイナリはサイズが大きいGHCの吐くバイナリはサイズが大きい
$ ajhc --version
ajhc 0.8.0.5 (210da9343b6b7e38a89eb28f85602471a325647a)
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.1
$ echo 'main = print "Hello"' > Hello.hs
$ ajhc Hello.hs -o Hello_ajhc
$ ghc Hello.hs -o Hello_ghc
$ size Hello_ajhc Hello_ghc
text data bss dec hex filename
19440 1324 744 21508 5404 Hello_ajhc
709612 40840 46776 797228 c2a2c Hello_ghc
$ ldd Hello_ajhc | wc -l
3
$ ldd Hello_ghc | wc -l
9
$ ajhc --version
ajhc 0.8.0.5 (210da9343b6b7e38a89eb28f85602471a325647a)
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.1
$ echo 'main = print "Hello"' > Hello.hs
$ ajhc Hello.hs -o Hello_ajhc
$ ghc Hello.hs -o Hello_ghc
$ size Hello_ajhc Hello_ghc
text data bss dec hex filename
19440 1324 744 21508 5404 Hello_ajhc
709612 40840 46776 797228 c2a2c Hello_ghc
$ ldd Hello_ajhc | wc -l
3
$ ldd Hello_ghc | wc -l
9
$ ajhc --version
ajhc 0.8.0.5 (210da9343b6b7e38a89eb28f85602471a325647a)
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.1
$ echo 'main = print "Hello"' > Hello.hs
$ ajhc Hello.hs -o Hello_ajhc
$ ghc Hello.hs -o Hello_ghc
$ size Hello_ajhc Hello_ghc
text data bss dec hex filename
19440 1324 744 21508 5404 Hello_ajhc
709612 40840 46776 797228 c2a2c Hello_ghc
$ ldd Hello_ajhc | wc -l
3
$ ldd Hello_ghc | wc -l
9
$ ajhc --version
ajhc 0.8.0.5 (210da9343b6b7e38a89eb28f85602471a325647a)
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.1
$ echo 'main = print "Hello"' > Hello.hs
$ ajhc Hello.hs -o Hello_ajhc
$ ghc Hello.hs -o Hello_ghc
$ size Hello_ajhc Hello_ghc
text data bss dec hex filename
19440 1324 744 21508 5404 Hello_ajhc
709612 40840 46776 797228 c2a2c Hello_ghc
$ ldd Hello_ajhc | wc -l
3
$ ldd Hello_ghc | wc -l
9
$ ajhc --version
ajhc 0.8.0.5 (210da9343b6b7e38a89eb28f85602471a325647a)
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.4.1
$ echo 'main = print "Hello"' > Hello.hs
$ ajhc Hello.hs -o Hello_ajhc
$ ghc Hello.hs -o Hello_ghc
$ size Hello_ajhc Hello_ghc
text data bss dec hex filename
19440 1324 744 21508 5404 Hello_ajhc
709612 40840 46776 797228 c2a2c Hello_ghc
$ ldd Hello_ajhc | wc -l
3
$ ldd Hello_ghc | wc -l
9
ML系はあまり調べきれていません...ML系はあまり調べきれていません...ML系はあまり調べきれていません...ML系はあまり調べきれていません...ML系はあまり調べきれていません...
型で設計されたOSは他にないのか型で設計されたOSは他にないのか型で設計されたOSは他にないのか型で設計されたOSは他にないのか型で設計されたOSは他にないのか
デスクトップとして使用可能なレベルではないデスクトップとして使用可能なレベルではないデスクトップとして使用可能なレベルではないデスクトップとして使用可能なレベルではないデスクトップとして使用可能なレベルではない
☆ Funk (OCaml製)☆ Funk (OCaml製)☆ Funk (OCaml製)☆ Funk (OCaml製)☆ Funk (OCaml製)
http://home.gna.org/funk/http://home.gna.org/funk/http://home.gna.org/funk/http://home.gna.org/funk/http://home.gna.org/funk/
☆ snowflake-os (OCaml製)☆ snowflake-os (OCaml製)☆ snowflake-os (OCaml製)☆ snowflake-os (OCaml製)☆ snowflake-os (OCaml製)
http://code.google.com/p/snowflake-os/http://code.google.com/p/snowflake-os/http://code.google.com/p/snowflake-os/http://code.google.com/p/snowflake-os/http://code.google.com/p/snowflake-os/
☆ House (Haskell製)☆ House (Haskell製)☆ House (Haskell製)☆ House (Haskell製)☆ House (Haskell製)
http://programatica.cs.pdx.edu/House/http://programatica.cs.pdx.edu/House/http://programatica.cs.pdx.edu/House/http://programatica.cs.pdx.edu/House/http://programatica.cs.pdx.edu/House/
☆ HaLVM (Haskell製)☆ HaLVM (Haskell製)☆ HaLVM (Haskell製)☆ HaLVM (Haskell製)☆ HaLVM (Haskell製)
http://corp.galois.com/halvm/http://corp.galois.com/halvm/http://corp.galois.com/halvm/http://corp.galois.com/halvm/http://corp.galois.com/halvm/
実用化に辿りつくために実用化に辿りつくために実用化に辿りつくために実用化に辿りつくために実用化に辿りつくために
☆ ドッグフードを維持しながら開発☆ ドッグフードを維持しながら開発☆ ドッグフードを維持しながら開発☆ ドッグフードを維持しながら開発☆ ドッグフードを維持しながら開発
[4] Ajhcコンパイラとマイコン[4] Ajhcコンパイラとマイコン[4] Ajhcコンパイラとマイコン[4] Ajhcコンパイラとマイコン[4] Ajhcコンパイラとマイコン
Ajhcの使い方は以下のような感じAjhcの使い方は以下のような感じAjhcの使い方は以下のような感じAjhcの使い方は以下のような感じAjhcの使い方は以下のような感じ
$ cabal install ajhc
$ ajhc --version
ajhc 0.8.0.1 (80aa12fb9b57622bba2f0e911d7ebc0c04ddb662)
compiled by ghc-7.4 on a x86_64 running linux
$ echo 'main = print "hoge"' > Hoge.hs
$ ajhc Hoge.hs
$ ./hs.out
"hoge"
$ cabal install ajhc
$ ajhc --version
ajhc 0.8.0.1 (80aa12fb9b57622bba2f0e911d7ebc0c04ddb662)
compiled by ghc-7.4 on a x86_64 running linux
$ echo 'main = print "hoge"' > Hoge.hs
$ ajhc Hoge.hs
$ ./hs.out
"hoge"
$ cabal install ajhc
$ ajhc --version
ajhc 0.8.0.1 (80aa12fb9b57622bba2f0e911d7ebc0c04ddb662)
compiled by ghc-7.4 on a x86_64 running linux
$ echo 'main = print "hoge"' > Hoge.hs
$ ajhc Hoge.hs
$ ./hs.out
"hoge"
$ cabal install ajhc
$ ajhc --version
ajhc 0.8.0.1 (80aa12fb9b57622bba2f0e911d7ebc0c04ddb662)
compiled by ghc-7.4 on a x86_64 running linux
$ echo 'main = print "hoge"' > Hoge.hs
$ ajhc Hoge.hs
$ ./hs.out
"hoge"
$ cabal install ajhc
$ ajhc --version
ajhc 0.8.0.1 (80aa12fb9b57622bba2f0e911d7ebc0c04ddb662)
compiled by ghc-7.4 on a x86_64 running linux
$ echo 'main = print "hoge"' > Hoge.hs
$ ajhc Hoge.hs
$ ./hs.out
"hoge"
☆ このままだと面白くない☆ このままだと面白くない☆ このままだと面白くない☆ このままだと面白くない☆ このままだと面白くない
☆ クロスコンパイルして、☆ クロスコンパイルして、☆ クロスコンパイルして、☆ クロスコンパイルして、☆ クロスコンパイルして、
☆ マイコンでHaskellコード実行してみる?☆ マイコンでHaskellコード実行してみる?☆ マイコンでHaskellコード実行してみる?☆ マイコンでHaskellコード実行してみる?☆ マイコンでHaskellコード実行してみる?
まずはデモでもどうぞまずはデモでもどうぞまずはデモでもどうぞまずはデモでもどうぞまずはデモでもどうぞ
デモ動画: http://www.nicovideo.jp/watch/sm20336813
デモソースコード: https://github.com/ajhc/demo-cortex-m3
デモ動画: http://www.nicovideo.jp/watch/sm20336813
デモソースコード: https://github.com/ajhc/demo-cortex-m3
デモ動画: http://www.nicovideo.jp/watch/sm20336813
デモソースコード: https://github.com/ajhc/demo-cortex-m3
デモ動画: http://www.nicovideo.jp/watch/sm20336813
デモソースコード: https://github.com/ajhc/demo-cortex-m3
デモ動画: http://www.nicovideo.jp/watch/sm20336813
デモソースコード: https://github.com/ajhc/demo-cortex-m3
☆ LEDをぐりんぐりん☆ LEDをぐりんぐりん☆ LEDをぐりんぐりん☆ LEDをぐりんぐりん☆ LEDをぐりんぐりん
☆ LEDにモールス信号☆ LEDにモールス信号☆ LEDにモールス信号☆ LEDにモールス信号☆ LEDにモールス信号
デモソースコードデモソースコードデモソースコードデモソースコードデモソースコード
なんじゃこりゃ...なんじゃこりゃ...なんじゃこりゃ...なんじゃこりゃ...なんじゃこりゃ...
foreign import ccall "c_extern.h Delay" c_delay :: Word32 -> IO ()
foreign import ccall "c_extern.h &jhc_zeroAddress"
c_jhc_zeroAddress16 :: Ptr Word16
gpioPin8, gpioPin9, gpioPin10, gpioPin11, gpioPin12, gpioPin13,
gpioPin14, gpioPin15, led3, led4, led5, led6, led7, led8, led9,
led10 :: Word16
gpioPin8 = 0x0100
--snip--
led3 = gpioPin9
--snip--
brrPtr, bsrrPtr :: Ptr Word16
brrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001028
bsrrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001018
ledOff, ledOn :: Word16 -> IO ()
ledOff = poke brrPtr
ledOn = poke bsrrPtr
foreign import ccall "c_extern.h Delay" c_delay :: Word32 -> IO ()
foreign import ccall "c_extern.h &jhc_zeroAddress"
c_jhc_zeroAddress16 :: Ptr Word16
gpioPin8, gpioPin9, gpioPin10, gpioPin11, gpioPin12, gpioPin13,
gpioPin14, gpioPin15, led3, led4, led5, led6, led7, led8, led9,
led10 :: Word16
gpioPin8 = 0x0100
--snip--
led3 = gpioPin9
--snip--
brrPtr, bsrrPtr :: Ptr Word16
brrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001028
bsrrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001018
ledOff, ledOn :: Word16 -> IO ()
ledOff = poke brrPtr
ledOn = poke bsrrPtr
foreign import ccall "c_extern.h Delay" c_delay :: Word32 -> IO ()
foreign import ccall "c_extern.h &jhc_zeroAddress"
c_jhc_zeroAddress16 :: Ptr Word16
gpioPin8, gpioPin9, gpioPin10, gpioPin11, gpioPin12, gpioPin13,
gpioPin14, gpioPin15, led3, led4, led5, led6, led7, led8, led9,
led10 :: Word16
gpioPin8 = 0x0100
--snip--
led3 = gpioPin9
--snip--
brrPtr, bsrrPtr :: Ptr Word16
brrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001028
bsrrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001018
ledOff, ledOn :: Word16 -> IO ()
ledOff = poke brrPtr
ledOn = poke bsrrPtr
foreign import ccall "c_extern.h Delay" c_delay :: Word32 -> IO ()
foreign import ccall "c_extern.h &jhc_zeroAddress"
c_jhc_zeroAddress16 :: Ptr Word16
gpioPin8, gpioPin9, gpioPin10, gpioPin11, gpioPin12, gpioPin13,
gpioPin14, gpioPin15, led3, led4, led5, led6, led7, led8, led9,
led10 :: Word16
gpioPin8 = 0x0100
--snip--
led3 = gpioPin9
--snip--
brrPtr, bsrrPtr :: Ptr Word16
brrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001028
bsrrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001018
ledOff, ledOn :: Word16 -> IO ()
ledOff = poke brrPtr
ledOn = poke bsrrPtr
foreign import ccall "c_extern.h Delay" c_delay :: Word32 -> IO ()
foreign import ccall "c_extern.h &jhc_zeroAddress"
c_jhc_zeroAddress16 :: Ptr Word16
gpioPin8, gpioPin9, gpioPin10, gpioPin11, gpioPin12, gpioPin13,
gpioPin14, gpioPin15, led3, led4, led5, led6, led7, led8, led9,
led10 :: Word16
gpioPin8 = 0x0100
--snip--
led3 = gpioPin9
--snip--
brrPtr, bsrrPtr :: Ptr Word16
brrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001028
bsrrPtr = c_jhc_zeroAddress16 `plusPtr` 0x48001018
ledOff, ledOn :: Word16 -> IO ()
ledOff = poke brrPtr
ledOn = poke bsrrPtr
図にしましょう: 起動シーケンス図にしましょう: 起動シーケンス図にしましょう: 起動シーケンス図にしましょう: 起動シーケンス図にしましょう: 起動シーケンス
図にしましょう: Haskellコードの動き図にしましょう: Haskellコードの動き図にしましょう: Haskellコードの動き図にしましょう: Haskellコードの動き図にしましょう: Haskellコードの動き
図にしましょう: もっと簡単に図にしましょう: もっと簡単に図にしましょう: もっと簡単に図にしましょう: もっと簡単に図にしましょう: もっと簡単に
AjhcはC言語への変換器AjhcはC言語への変換器AjhcはC言語への変換器AjhcはC言語への変換器AjhcはC言語への変換器
クロスコンパイルクロスコンパイルクロスコンパイルクロスコンパイルクロスコンパイル
ランタイムランタイムランタイムランタイムランタイム
☆ C言語コメント込み3000行 小さい!☆ C言語コメント込み3000行 小さい!☆ C言語コメント込み3000行 小さい!☆ C言語コメント込み3000行 小さい!☆ C言語コメント込み3000行 小さい!
☆ 組み込み用途に向いている☆ 組み込み用途に向いている☆ 組み込み用途に向いている☆ 組み込み用途に向いている☆ 組み込み用途に向いている
マイコンデモでのメモリマップマイコンデモでのメモリマップマイコンデモでのメモリマップマイコンデモでのメモリマップマイコンデモでのメモリマップ
モールス信号デモの場合モールス信号デモの場合モールス信号デモの場合モールス信号デモの場合モールス信号デモの場合
GCGCGCGCGC
http://www.slideshare.net/dec9ue/gc-16298437http://www.slideshare.net/dec9ue/gc-16298437http://www.slideshare.net/dec9ue/gc-16298437http://www.slideshare.net/dec9ue/gc-16298437http://www.slideshare.net/dec9ue/gc-16298437
☆ @dec9ue という人がすごい詳しい☆ @dec9ue という人がすごい詳しい☆ @dec9ue という人がすごい詳しい☆ @dec9ue という人がすごい詳しい☆ @dec9ue という人がすごい詳しい
☆ マークオンリーGCらしい☆ マークオンリーGCらしい☆ マークオンリーGCらしい☆ マークオンリーGCらしい☆ マークオンリーGCらしい
☆ GCのくせにmalloc使う☆ GCのくせにmalloc使う☆ GCのくせにmalloc使う☆ GCのくせにmalloc使う☆ GCのくせにmalloc使う
☆ AjhcではGCを修正して省メモリ化☆ AjhcではGCを修正して省メモリ化☆ AjhcではGCを修正して省メモリ化☆ AjhcではGCを修正して省メモリ化☆ AjhcではGCを修正して省メモリ化
デモ: GC頻度をgdbで調べるデモ: GC頻度をgdbで調べるデモ: GC頻度をgdbで調べるデモ: GC頻度をgdbで調べるデモ: GC頻度をgdbで調べる
☆ GCを実行する関数にbreak pointはる☆ GCを実行する関数にbreak pointはる☆ GCを実行する関数にbreak pointはる☆ GCを実行する関数にbreak pointはる☆ GCを実行する関数にbreak pointはる
(gdb) break gc_perform_gc(gdb) break gc_perform_gc(gdb) break gc_perform_gc(gdb) break gc_perform_gc(gdb) break gc_perform_gc
(gdb) continue(gdb) continue(gdb) continue(gdb) continue(gdb) continue
☆ どれぐらいGCが起きてるかな?☆ どれぐらいGCが起きてるかな?☆ どれぐらいGCが起きてるかな?☆ どれぐらいGCが起きてるかな?☆ どれぐらいGCが起きてるかな?
不足している機能/不具合不足している機能/不具合不足している機能/不具合不足している機能/不具合不足している機能/不具合
☆ Haskell Platform移植☆ Haskell Platform移植☆ Haskell Platform移植☆ Haskell Platform移植☆ Haskell Platform移植
☆ GHCコンパチ☆ GHCコンパチ☆ GHCコンパチ☆ GHCコンパチ☆ GHCコンパチ
☆ 再入☆ 再入☆ 再入☆ 再入☆ 再入
☆ 並列実行☆ 並列実行☆ 並列実行☆ 並列実行☆ 並列実行
☆ GC中の割り込み☆ GC中の割り込み☆ GC中の割り込み☆ GC中の割り込み☆ GC中の割り込み
☆ リージョン推論☆ リージョン推論☆ リージョン推論☆ リージョン推論☆ リージョン推論
研究開発テーマの山ですね!研究開発テーマの山ですね!研究開発テーマの山ですね!研究開発テーマの山ですね!研究開発テーマの山ですね!
[5] Ajhcのすゝめ[5] Ajhcのすゝめ[5] Ajhcのすゝめ[5] Ajhcのすゝめ[5] Ajhcのすゝめ
☆ Ajhc使ってみませんか?☆ Ajhc使ってみませんか?☆ Ajhc使ってみませんか?☆ Ajhc使ってみませんか?☆ Ajhc使ってみませんか?
☆ マニュアルはイカ☆ マニュアルはイカ☆ マニュアルはイカ☆ マニュアルはイカ☆ マニュアルはイカ
ajhc.metasepi.org/manual_ja.htmlajhc.metasepi.org/manual_ja.htmlajhc.metasepi.org/manual_ja.htmlajhc.metasepi.org/manual_ja.htmlajhc.metasepi.org/manual_ja.html
☆ バグ/機能要望ありましたらイカまで☆ バグ/機能要望ありましたらイカまで☆ バグ/機能要望ありましたらイカまで☆ バグ/機能要望ありましたらイカまで☆ バグ/機能要望ありましたらイカまで
https://github.com/ajhc/ajhc/issueshttps://github.com/ajhc/ajhc/issueshttps://github.com/ajhc/ajhc/issueshttps://github.com/ajhc/ajhc/issueshttps://github.com/ajhc/ajhc/issues
☆ もちろんpull requestも大歓迎です!☆ もちろんpull requestも大歓迎です!☆ もちろんpull requestも大歓迎です!☆ もちろんpull requestも大歓迎です!☆ もちろんpull requestも大歓迎です!
https://github.com/ajhc/ajhchttps://github.com/ajhc/ajhchttps://github.com/ajhc/ajhchttps://github.com/ajhc/ajhchttps://github.com/ajhc/ajhc

More Related Content

What's hot

『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題Masahiro Nagano
 
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜Naotoshi Seo
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
Itamae-Serverspec入門
Itamae-Serverspec入門Itamae-Serverspec入門
Itamae-Serverspec入門辰徳 斎藤
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)Iwana Chan
 
20131208 agile samuraibasecamp
20131208 agile samuraibasecamp20131208 agile samuraibasecamp
20131208 agile samuraibasecampHiroshi SHIBATA
 
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
consul &  consul-alerts を使った監視システム (hbstyle-2015-01-08)consul &  consul-alerts を使った監視システム (hbstyle-2015-01-08)
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)YOSHIKAWA Ryota
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...Naoya Ito
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChefMasahiro NAKAYAMA
 
明日から使えるコーディングツール
明日から使えるコーディングツール明日から使えるコーディングツール
明日から使えるコーディングツールTomokazu Kiyohara
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for SmalltalkSho Yoshida
 
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレDocker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレperyaudo
 
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからAnsible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからTakeshi Kuramochi
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + PerlNaoya Ito
 
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdbakirahiguchi
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Daisuke Ikeda
 
Integral - New O/R Mapper for Common Lisp
Integral - New O/R Mapper for Common LispIntegral - New O/R Mapper for Common Lisp
Integral - New O/R Mapper for Common Lispfukamachi
 

What's hot (20)

『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
 
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
Sequelのすすめ
SequelのすすめSequelのすすめ
Sequelのすすめ
 
Itamae-Serverspec入門
Itamae-Serverspec入門Itamae-Serverspec入門
Itamae-Serverspec入門
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)
 
20131208 agile samuraibasecamp
20131208 agile samuraibasecamp20131208 agile samuraibasecamp
20131208 agile samuraibasecamp
 
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
consul &  consul-alerts を使った監視システム (hbstyle-2015-01-08)consul &  consul-alerts を使った監視システム (hbstyle-2015-01-08)
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChef
 
明日から使えるコーディングツール
明日から使えるコーディングツール明日から使えるコーディングツール
明日から使えるコーディングツール
 
AWS SDK for Smalltalk
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
 
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレDocker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
 
Hadoop on LXC
Hadoop on LXCHadoop on LXC
Hadoop on LXC
 
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからAnsible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれから
 
Scripting Layer for Android + Perl
Scripting Layer for Android + PerlScripting Layer for Android + Perl
Scripting Layer for Android + Perl
 
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdb
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
Integral - New O/R Mapper for Common Lisp
Integral - New O/R Mapper for Common LispIntegral - New O/R Mapper for Common Lisp
Integral - New O/R Mapper for Common Lisp
 

Viewers also liked

drecomにおけるwinning the metrics battle
drecomにおけるwinning the metrics battledrecomにおけるwinning the metrics battle
drecomにおけるwinning the metrics battleMitsuki Kenichi
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back KidEthos3
 
Classroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsClassroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsShelly Sanchez Terrell
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaChris Lema
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Viewers also liked (6)

drecomにおけるwinning the metrics battle
drecomにおけるwinning the metrics battledrecomにおけるwinning the metrics battle
drecomにおけるwinning the metrics battle
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back Kid
 
Classroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsClassroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and Adolescents
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Similar to Ajhcコンパイラの押売りに来ました

組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編
組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編
組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編Kiwamu Okabe
 
mbedではじめる組み込みHaskellプログラミング
mbedではじめる組み込みHaskellプログラミングmbedではじめる組み込みHaskellプログラミング
mbedではじめる組み込みHaskellプログラミングKiwamu Okabe
 
ocamloptの全体像
ocamloptの全体像ocamloptの全体像
ocamloptの全体像Kiwamu Okabe
 
mbed+Haskellどうでしょう
mbed+Haskellどうでしょうmbed+Haskellどうでしょう
mbed+HaskellどうでしょうKiwamu Okabe
 
ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!Kiwamu Okabe
 
Assembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko KenjiAssembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko Kenjiasmtanka
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + VagrantKazuma Kimura
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツールtotty jp
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Kiwamu Okabe
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたatk1234
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境Masashi Shinbara
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇Manabu Ori
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合hiboma
 
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会ConoHa, GMO INTERNET
 

Similar to Ajhcコンパイラの押売りに来ました (20)

組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編
組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編
組込向けHaskellコンパイラAjhc / POSIX依存から脱出しよう編
 
mbedではじめる組み込みHaskellプログラミング
mbedではじめる組み込みHaskellプログラミングmbedではじめる組み込みHaskellプログラミング
mbedではじめる組み込みHaskellプログラミング
 
ocamloptの全体像
ocamloptの全体像ocamloptの全体像
ocamloptの全体像
 
らくちん Go言語
らくちん Go言語らくちん Go言語
らくちん Go言語
 
mbed+Haskellどうでしょう
mbed+Haskellどうでしょうmbed+Haskellどうでしょう
mbed+Haskellどうでしょう
 
ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!ReVIEWとLibreOfficeとOMakeで本を書きましょう!
ReVIEWとLibreOfficeとOMakeで本を書きましょう!
 
Real world rails
Real world railsReal world rails
Real world rails
 
Assembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko KenjiAssembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko Kenji
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツール
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
Haskellでプレゼン
HaskellでプレゼンHaskellでプレゼン
Haskellでプレゼン
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
 
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (14)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Ajhcコンパイラの押売りに来ました