Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CIM - Common Lisp Implementation Managerを作りました

10,960 views

Published on

Shibuya.lispのLisp Meet Up #13での発表資料です

Published in: Technology
  • Dating for everyone is here: ❶❶❶ http://bit.ly/39sFWPG ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/39sFWPG ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

CIM - Common Lisp Implementation Managerを作りました

  1. 1. CIMの紹介 Shibuya.lisp/Lisp Meet Up #13 κeen(@blackendgold)
  2. 2. 自己紹介 ● Twitter: κeen(@blackenedgold) ● Github: KeenS ● ブログ: κeenのHappy Hacκing Blog ● 東大数学科の三年生 ● 最近までandroidアプリ作るバイトしてた ● 就活中! ● Common Lisp, Ruby, Emacs Lispが好き ● 最近Real World OCaml読んでる(今15章くらい)
  3. 3. 今回作ったもの CIM – Common Lisp Implementation Manager
  4. 4. CIMとは? ● Rubyのrvm真似して作った ● 大きく分けると – – 統一CLIのcl – ● 処理系のインストール/管理のcim QuicklispのCLIのql デファクトスタンダードを目指して…
  5. 5. きっかけ ● 「shly loadでファイルを実行できる」発言 ● 自作関数でオプション処理とか付けたりした ● Shellyの制約に当たる->独立プロジェクト化 ● Shell Script勉強したいしShell Scriptで書こう
  6. 6. できること ● https://github.com/KeenS/CIM ● README読んでね ● 主なコマンドは – – cim use cclで切り替え – cl file.lispで実行 – ● cim install sbclでインストール ql installで(ql:quickload)相当 Help充実させたのでHelp読んで下さい
  7. 7. できること ● 管理できるのは – SBCL – CLISP – ECL – GCL – CCL – ABCL – Allegro CL
  8. 8. できること ● ● ● ql deps –path ./quicklisp myappでquicklisp分 離 cim for sbcl ccl clisp do foo.lispで処理系毎に 繰り返し clのオプションはrubyっぽくしてある – 割とワンライナーも意識
  9. 9. 実装 ● cimコマンド群とclはBourne Shell Script ● 800行くらい ● qlはCommon Lisp ● 500行くらい ● 依存ライブラリなし(Quicklispは使う) ● 極力依存を無くす方針 – 「インストール直後のFreeBSDで動く」を目安
  10. 10. 実装 ● 出来る限り汚さない – – 関数とかもexportしない – ● 環境変数は2つしかexportしない 尚、rvmは… 副産物としてoption-parser – ● 需要があれば別ライブラリで公開 テストしてない… – テストってどうやれば良いの?
  11. 11. 苦労話 ● Shell Script難しい – – おもいっきり状態に依存してる – ● OSによってコマンドの挙動が違ったり そもそも知識と経験がない ビルドが難しい処理系とか – ● SBCLはビルドもバイナリインストールも難しい Quicklispが思いの外貧弱 – バージョンを指定してインストールとか出来ないっぽい
  12. 12. 今後 ● テスト ● コアダンプ ● syset (rvmのgemset) ● quicklispにpull-req? ● plugin? – clコマンドを生かしたい
  13. 13. 以上 みんな使ってね

×