mbed+Haskellどうでしょう

  • 699 views
Uploaded on

OSC北海道LT

OSC北海道LT

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
699
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. mbed+Haskellどうでしょうmbed+Haskellどうでしょうmbed+Haskellどうでしょうmbed+Haskellどうでしょうmbed+Haskellどうでしょう Kiwamu OkabeKiwamu OkabeKiwamu OkabeKiwamu OkabeKiwamu Okabe
  • 2. 私は誰?私は誰?私は誰?私は誰?私は誰? ☆ Twitter: @master_q☆ Twitter: @master_q☆ Twitter: @master_q☆ Twitter: @master_q☆ Twitter: @master_q ☆ Metasepiプロジェクト主催☆ Metasepiプロジェクト主催☆ Metasepiプロジェクト主催☆ Metasepiプロジェクト主催☆ Metasepiプロジェクト主催 ☆ Ajhc Haskellコンパイラ開発者☆ Ajhc Haskellコンパイラ開発者☆ Ajhc Haskellコンパイラ開発者☆ Ajhc Haskellコンパイラ開発者☆ Ajhc Haskellコンパイラ開発者 ☆ Debian Maintainer☆ Debian Maintainer☆ Debian Maintainer☆ Debian Maintainer☆ Debian Maintainer ☆ 前はデジタルサイネージの開発してました☆ 前はデジタルサイネージの開発してました☆ 前はデジタルサイネージの開発してました☆ 前はデジタルサイネージの開発してました☆ 前はデジタルサイネージの開発してました ☆ その昔はコピー機のOSをNetBSDで☆ その昔はコピー機のOSをNetBSDで☆ その昔はコピー機のOSをNetBSDで☆ その昔はコピー機のOSをNetBSDで☆ その昔はコピー機のOSをNetBSDで
  • 3. mbedって?mbedって?mbedって?mbedって?mbedって? http://mbed.org/http://mbed.org/http://mbed.org/http://mbed.org/http://mbed.org/ ☆ プロトタイピング用ワンボードマイコン☆ プロトタイピング用ワンボードマイコン☆ プロトタイピング用ワンボードマイコン☆ プロトタイピング用ワンボードマイコン☆ プロトタイピング用ワンボードマイコン ☆ Cortex-M3などのARMマイコンを使用☆ Cortex-M3などのARMマイコンを使用☆ Cortex-M3などのARMマイコンを使用☆ Cortex-M3などのARMマイコンを使用☆ Cortex-M3などのARMマイコンを使用 ☆ Arduinoみたいなのの32bit CPU版☆ Arduinoみたいなのの32bit CPU版☆ Arduinoみたいなのの32bit CPU版☆ Arduinoみたいなのの32bit CPU版☆ Arduinoみたいなのの32bit CPU版 ☆ Webブラウザだけで開発できる☆ Webブラウザだけで開発できる☆ Webブラウザだけで開発できる☆ Webブラウザだけで開発できる☆ Webブラウザだけで開発できる ☆ もちろんGCCを使った開発も可能☆ もちろんGCCを使った開発も可能☆ もちろんGCCを使った開発も可能☆ もちろんGCCを使った開発も可能☆ もちろんGCCを使った開発も可能
  • 4. Haskellって?Haskellって?Haskellって?Haskellって?Haskellって? http://www.haskell.org/http://www.haskell.org/http://www.haskell.org/http://www.haskell.org/http://www.haskell.org/ ☆ 純粋関数型プログラミング言語らしい☆ 純粋関数型プログラミング言語らしい☆ 純粋関数型プログラミング言語らしい☆ 純粋関数型プログラミング言語らしい☆ 純粋関数型プログラミング言語らしい ☆ Javaよりも強い型☆ Javaよりも強い型☆ Javaよりも強い型☆ Javaよりも強い型☆ Javaよりも強い型 ☆ 型推論で型を書く手間を軽減☆ 型推論で型を書く手間を軽減☆ 型推論で型を書く手間を軽減☆ 型推論で型を書く手間を軽減☆ 型推論で型を書く手間を軽減 ☆ コンパイラをそなえる☆ コンパイラをそなえる☆ コンパイラをそなえる☆ コンパイラをそなえる☆ コンパイラをそなえる えーと、ぼくは"強い型"が使えるところが気に 入っています えーと、ぼくは"強い型"が使えるところが気に 入っています えーと、ぼくは"強い型"が使えるところが気に 入っています えーと、ぼくは"強い型"が使えるところが気に 入っています えーと、ぼくは"強い型"が使えるところが気に 入っています
  • 5. 組込Haskell? オイシイの?組込Haskell? オイシイの?組込Haskell? オイシイの?組込Haskell? オイシイの?組込Haskell? オイシイの? ☆ 低レイヤーにも強い型をつけたい!☆ 低レイヤーにも強い型をつけたい!☆ 低レイヤーにも強い型をつけたい!☆ 低レイヤーにも強い型をつけたい!☆ 低レイヤーにも強い型をつけたい! ☆ Ajhc http://ajhc.metasepi.org/☆ Ajhc http://ajhc.metasepi.org/☆ Ajhc http://ajhc.metasepi.org/☆ Ajhc http://ajhc.metasepi.org/☆ Ajhc http://ajhc.metasepi.org/ ☆ ランタイムエラーを少なくできるのでは?☆ ランタイムエラーを少なくできるのでは?☆ ランタイムエラーを少なくできるのでは?☆ ランタイムエラーを少なくできるのでは?☆ ランタイムエラーを少なくできるのでは?
  • 6. デモります!デモります!デモります!デモります!デモります! ☆ いちおう動画リンク付けておきますね☆ いちおう動画リンク付けておきますね☆ いちおう動画リンク付けておきますね☆ いちおう動画リンク付けておきますね☆ いちおう動画リンク付けておきますね ☆ ネットワーク不調で動かなかった時用に☆ ネットワーク不調で動かなかった時用に☆ ネットワーク不調で動かなかった時用に☆ ネットワーク不調で動かなかった時用に☆ ネットワーク不調で動かなかった時用に http://bit.ly/mbedmovhttp://bit.ly/mbedmovhttp://bit.ly/mbedmovhttp://bit.ly/mbedmovhttp://bit.ly/mbedmov
  • 7. Ajhcコンパイラ使ってみてみて!Ajhcコンパイラ使ってみてみて!Ajhcコンパイラ使ってみてみて!Ajhcコンパイラ使ってみてみて!Ajhcコンパイラ使ってみてみて! 日本語マニュアル: http://ajhc.metasepi.org/manual_ja.html日本語マニュアル: http://ajhc.metasepi.org/manual_ja.html日本語マニュアル: http://ajhc.metasepi.org/manual_ja.html日本語マニュアル: http://ajhc.metasepi.org/manual_ja.html日本語マニュアル: http://ajhc.metasepi.org/manual_ja.html ☆ インストールは簡単☆ インストールは簡単☆ インストールは簡単☆ インストールは簡単☆ インストールは簡単 $ sudo apt-get install haskell-platform gcc make m4 $ export PATH=$HOME/.cabal/bin:$PATH $ cabal install ajhc $ sudo apt-get install haskell-platform gcc make m4 $ export PATH=$HOME/.cabal/bin:$PATH $ cabal install ajhc $ sudo apt-get install haskell-platform gcc make m4 $ export PATH=$HOME/.cabal/bin:$PATH $ cabal install ajhc $ sudo apt-get install haskell-platform gcc make m4 $ export PATH=$HOME/.cabal/bin:$PATH $ cabal install ajhc $ sudo apt-get install haskell-platform gcc make m4 $ export PATH=$HOME/.cabal/bin:$PATH $ cabal install ajhc ☆ 使い方も簡単☆ 使い方も簡単☆ 使い方も簡単☆ 使い方も簡単☆ 使い方も簡単 $ echo 'main = print "hoge"' > Hoge.hs $ ajhc Hoge.hs $ ./hs.out "hoge" $ echo 'main = print "hoge"' > Hoge.hs $ ajhc Hoge.hs $ ./hs.out "hoge" $ echo 'main = print "hoge"' > Hoge.hs $ ajhc Hoge.hs $ ./hs.out "hoge" $ echo 'main = print "hoge"' > Hoge.hs $ ajhc Hoge.hs $ ./hs.out "hoge" $ echo 'main = print "hoge"' > Hoge.hs $ ajhc Hoge.hs $ ./hs.out "hoge" ☆ C言語吐き出させてみよう☆ C言語吐き出させてみよう☆ C言語吐き出させてみよう☆ C言語吐き出させてみよう☆ C言語吐き出させてみよう $ ajhc -C -o Hoge.c Hoge.hs $ file Hoge.c Hoge.c: C source, ASCII text, with very long lines $ ajhc -C -o Hoge.c Hoge.hs $ file Hoge.c Hoge.c: C source, ASCII text, with very long lines $ ajhc -C -o Hoge.c Hoge.hs $ file Hoge.c Hoge.c: C source, ASCII text, with very long lines $ ajhc -C -o Hoge.c Hoge.hs $ file Hoge.c Hoge.c: C source, ASCII text, with very long lines $ ajhc -C -o Hoge.c Hoge.hs $ file Hoge.c Hoge.c: C source, ASCII text, with very long lines
  • 8. 「簡約!?λカ娘 Go!」に記事書いたよ「簡約!?λカ娘 Go!」に記事書いたよ「簡約!?λカ娘 Go!」に記事書いたよ「簡約!?λカ娘 Go!」に記事書いたよ「簡約!?λカ娘 Go!」に記事書いたよ 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/ ☆ Lensライブラリの解説☆ Lensライブラリの解説☆ Lensライブラリの解説☆ Lensライブラリの解説☆ Lensライブラリの解説 ☆ パーサの解説☆ パーサの解説☆ パーサの解説☆ パーサの解説☆ パーサの解説 ☆ 圏論とモナド☆ 圏論とモナド☆ 圏論とモナド☆ 圏論とモナド☆ 圏論とモナド ☆ 囲碁AI☆ 囲碁AI☆ 囲碁AI☆ 囲碁AI☆ 囲碁AI ☆ Ajhcコンパイラの開発秘話 <= コレ書いた☆ Ajhcコンパイラの開発秘話 <= コレ書いた☆ Ajhcコンパイラの開発秘話 <= コレ書いた☆ Ajhcコンパイラの開発秘話 <= コレ書いた☆ Ajhcコンパイラの開発秘話 <= コレ書いた 立ち読み/購入したい方はぼくに声かけて!立ち読み/購入したい方はぼくに声かけて!立ち読み/購入したい方はぼくに声かけて!立ち読み/購入したい方はぼくに声かけて!立ち読み/購入したい方はぼくに声かけて!