Factorでツイートする
連鎖性プログラム言語FactorでTwitterにポストできたのでメモ.
Factor?
どうやらFactorはすごくマイナーなようなのでまずは紹介です.
Factorという連鎖性言語があります.
http://factorcode.org
連鎖性言語というのは要するにForthやPostScriptのようなスタック型言語のようなプログラム言語のことを指します*1.
FactorはREPLや高階関数,同図像性*2といったLispめいた性質に加え,HTTPサーバやWebフレームワーク,OpenGL,GUIなどの組込みライブラリが非常に充実しているという特徴があります.
ちなみに,REPLで
(scratchpad) "demos" run
とするとFactorのデモ一覧が出ます.
本題
Factorの組込みライブラリはTwitterもサポートしているので,これを使います.
REPLで
(scratchpad) "twitter" about
とすると,twitterボキャブラリの詳細が表示されます.
twitterボキャブラリはTwitter APIへのアクセスにconsumer-keyとconsumer-secretを要求するので,http://dev.twitter.comであらかじめ入手しておきます.また,ツイートするためにwrite権限も設定しておきます.
以下はTwitterにOAuth認証してhelloとツイートするコードです.URLをブラウザで開くのにMac OS Xのopenコマンドを使っているので,OS Xでしか動きません.
REPL上でこのソースをロードして,authorizeを評価します.
(scratchpad) authorize
すると認証ページが表示されるので,認証してPINコードを取得します.その後,
(scratchpad) "取得したPINコード" set-access-token-with-verifier (scratchpad) hello
とすると,helloとツイートされます.