SlideShare a Scribd company logo
1 of 32
Shibuya.lisp #6




○○ からはじめる Scheme
    Shibuya.lisp #6 LT
     HAYASHI Kentaro
   <kenhys@gmail.com>




                                   1
自己紹介
■   東京の西の方でソフトウェアの保守とかやってます
       お仕事は PHP/C/C++/C#
       趣味で Ruby/Gauche あたりをちょこちょこ
■   Scheme プログラマのレベル
       まだレベル 2
       参考 : 「私家版 scheme プログラマのレベル 10 」
■   TrackPoint 愛好家 ( ソフト・ドーム・キャップ派 )
       ThinkPlus トラベルキーボード ( 旧モデル )
       ThinkPad トラックポイントキーボード ( 新モデル )




                   資料 1

                                                     資料 2

    * 資料 1 wikipedia ポインティング・スティックの項目より
    * 資料 2 lenovo ThinkPlus トラックポイント・キャップ・コレクションより          2
Q.




Q. あなたが処理系を選んだ決め手は何でしたか ?




                        3
いろんな処理系
■   Scheme 処理系といってもいろいろ
       Bigloo
       Chez
       Gambit
       Gauche
       Guile
       Larceny
       MIT Scheme
       Racket( 旧 PLT Scheme)
       Scheme48
       SCM
       SISC




                                      4
■   なかには Hatena で質問した人もいることでしょう




                                  5
はじめての Scheme
■   Scheme との出会い
       Scheme サブセットを積んだ製品用のスクリプト
         ➔
           R4RS のサブセット



                   (略)




            Gauche を使ってみよう



                                    6
Gauche のここ最近の動向を振り返ってみると……




                             7
2007 年
■   GaucheNight




                       8
2008 年
■   gauche.night




                        9
プログラミング Gauche
■   プログラミング Gauche 発売 (2008 年 )




                                  10
2009 年と Gauche
■   Gauche 0.9 リリース (2009/11/22)
       C API の非互換な変更
       新規モジュールの追加 (rfc.zlib など )
       新規手続きの追加
       不具合修正や改善
       Windows サポート強化




                                          11
Gauche と Windows
■   Gauche MinGW 版
       コンパイル済みバイナリ
       インストーラ形式 ( 以前は zip アーカイブ )


            既に Emacs(Meadow) 環境がある人


■   Gauchebox
       Gauche MinGW 版
       Meadow をバンドル


          新規に Emacs(Meadow) 環境を構築する人



                                          12
Gauche と拡張パッケージ
■   Gauche で使えるパッケージ
       Gauche-gl
       Gauche-gtk
       readline
       Gauche Garbage Collection
       他にもいろいろ Wiliki:Gauche:Packages
         ➔   http://practical-scheme.net/gauche/packages-j.html




                                                                  13
プリコンパイル済みバイナリが
 提供されているとは限らない




                 14
■   マイナーな OS を使うと悲しいことに




                          15
MinGW 版と Cygwin 版
■   MinGW 版
       インストールが楽
       Cygwin なくてもいい
       MinGW 版のみ使えない / 動作が異なる機能あり
■   Cygwin 版
       まずは Cygwin のインストールから
       configure;make;make install
       MinGW 版に比べて制限は少ない
       みんな大好き c-wrapper も対応



               Cygwin に依存したくない人はどうする ?



                                           16
言語とインストーラ
■   Perl
       Active Perl
■   Python
       Active Python
■   Ruby
       rumix(1.8/1.9 系 )
       Ruby Installer(1.9 系 )




                                         17
Gauche でもお手軽に導入できるようにならないだろうか ?




                                  18
始めたきっかけ
■   Shibuya.lisp #5(2010/03/20) に参加した
       刺激受けた
       なぜか OpenGL をビルド
       インストーラまで作った




                                        19
Gauche Nightly Tester Builds
■   Gauche Nightly Tester Builds
       基本は Gauche MinGW 版
       コンパイル済み svn HEAD
       インストーラで環境構築
       拡張添付
       Windows 向けの一時しのぎのパッチ適用




                                               20
■   Gauche Nightly Tester Builds の位置付け
       Meadow はすでにインストール済み
       標準添付されていない拡張を使いたい
       trunk の機能を使いたくなるかも知れない




                                      Gauche
                                      Nightly
         Gauchebox   Gauche MinGW 版
                                      Tester
                                      Builds




                                                21
グラフィックは ?




            22
添付済み拡張 - グラフィック編
■   グラフィック
       OpenGL
         ➔   Gauche-gl 0.4.4
       SDL
         ➔ Gauche-sdl 0.5.1
         ➔
           SDL_mixer,SDL_gfx 等非対応
       GTK+
         ➔   Gauche-gtk(github)
       FLTK
         ➔ Gauche fltk 0.0.1
         ➔ FLTK 2.0.x-r7755




                                       23
データベースは使える ?




               24
添付済み拡張 - データベース編
■   データベース
       PostgreSQL
         ➔   Gauche-dbd-pg 0.2.1
       SQLite
         ➔   Gauche-dbd-sqlite3 0.1.3




                                        25
他には ?




        26
添付済み拡張 - その他
■   その他
       slib 3b3
       dyncomp 0.2.0
       info の日本語表示パッチ
       ggc Gauche Garbage Collection rel-0-17( 一部 )
       拡張子関連付け




                                                       27
■   ダウンロード総数     104 件 (2010/03-2010/11 現在 )
       hatena でちょろっと日記書いた
                                         クローラ
                         利用者の比率         (yandex.ru
                                  crawl.yahoo.net など )


                大学
           企業            俺
                                               その他
                                               企業
                                               大学
                                               俺
                                               クローラ




                                                         28
デモ



     29
拡張のエコシステム



         Gauche 使う人


パッケージングする人                       拡張書く人
        gauche-package compile




         コンパイルする人



                                         30
まとめ




拡張の


コンパイルからはじめる Scheme




                     31
さいごに




ご静聴いただきありがとうございました。
 ※Gauche 0.9.1 だと OpenGL(Gauche-gl) が添付されるようですね




                                                  32

More Related Content

What's hot

バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
add20
 
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
Ryo ONODERA
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
YUKI Kaoru
 

What's hot (20)

Qt5 の Input Method
Qt5 の Input MethodQt5 の Input Method
Qt5 の Input Method
 
Polyphony 新機能ツアー
Polyphony 新機能ツアーPolyphony 新機能ツアー
Polyphony 新機能ツアー
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動について
 
PYNQ祭り
PYNQ祭りPYNQ祭り
PYNQ祭り
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
 
LibPGEN 1st Step Guide
LibPGEN 1st Step GuideLibPGEN 1st Step Guide
LibPGEN 1st Step Guide
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
Excite beer bash06
Excite beer bash06Excite beer bash06
Excite beer bash06
 
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
 
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
 
何が変わった? VisualWorks 8.0
何が変わった? VisualWorks 8.0何が変わった? VisualWorks 8.0
何が変わった? VisualWorks 8.0
 
DSPでディープラーニング
DSPでディープラーニングDSPでディープラーニング
DSPでディープラーニング
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
Config mapについて
Config mapについてConfig mapについて
Config mapについて
 
git-svnつかってみる?
git-svnつかってみる?git-svnつかってみる?
git-svnつかってみる?
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 

Similar to Shibuyalisp6lt

今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
 
Qtiles plugin for QGIS
Qtiles plugin for QGISQtiles plugin for QGIS
Qtiles plugin for QGIS
Hideo Harada
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
Shota Umeda
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
Osamu Habuka
 
個人で作っているgoのプロダクト by zchee編
個人で作っているgoのプロダクト by zchee編個人で作っているgoのプロダクト by zchee編
個人で作っているgoのプロダクト by zchee編
Koichi Shiraishi
 

Similar to Shibuyalisp6lt (20)

20210515 cae linux_install_vb
20210515 cae linux_install_vb20210515 cae linux_install_vb
20210515 cae linux_install_vb
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Jenkins tips 20161014
Jenkins tips 20161014Jenkins tips 20161014
Jenkins tips 20161014
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
Qtiles plugin for QGIS
Qtiles plugin for QGISQtiles plugin for QGIS
Qtiles plugin for QGIS
 
Osc2008 Opensuse Moonlinx
Osc2008 Opensuse MoonlinxOsc2008 Opensuse Moonlinx
Osc2008 Opensuse Moonlinx
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
 
Golang tokyo #7 qtpm
Golang tokyo #7 qtpmGolang tokyo #7 qtpm
Golang tokyo #7 qtpm
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
実践! Argo cd &amp; rollouts による canary release(cndt2021)
実践! Argo cd &amp; rollouts による canary release(cndt2021) 実践! Argo cd &amp; rollouts による canary release(cndt2021)
実践! Argo cd &amp; rollouts による canary release(cndt2021)
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方
 
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
 
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 
Dodai projectの紹介
Dodai projectの紹介Dodai projectの紹介
Dodai projectの紹介
 
個人で作っているgoのプロダクト by zchee編
個人で作っているgoのプロダクト by zchee編個人で作っているgoのプロダクト by zchee編
個人で作っているgoのプロダクト by zchee編
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 

More from kenhys

More from kenhys (9)

How to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebianHow to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebian
 
DebianでFirefoxをカスタマイズするには
DebianでFirefoxをカスタマイズするにはDebianでFirefoxをカスタマイズするには
DebianでFirefoxをカスタマイズするには
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
 
Debianのインフラを借りるには
Debianのインフラを借りるにはDebianのインフラを借りるには
Debianのインフラを借りるには
 
DebianとFedoraでパッケージをリリースするまでの話
DebianとFedoraでパッケージをリリースするまでの話DebianとFedoraでパッケージをリリースするまでの話
DebianとFedoraでパッケージをリリースするまでの話
 
Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29
 
Groonga Meetup 2014/04/29
Groonga Meetup 2014/04/29Groonga Meetup 2014/04/29
Groonga Meetup 2014/04/29
 
Groongaを支える取り組み
Groongaを支える取り組みGroongaを支える取り組み
Groongaを支える取り組み
 
# groonga開発チームの紹介
# groonga開発チームの紹介# groonga開発チームの紹介
# groonga開発チームの紹介
 

Recently uploaded

Recently uploaded (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Shibuyalisp6lt