トップ «前の日記(2008-07-24) 最新 次の日記(2008-07-29)» 編集

Route 477



2008-07-25

[mac] 英語を勉強したいならMac買うといいよ

いままで英単語の意味を調べるときは

  • ブラウザで新しいタブを開く
  • alc.co.jpを開く
  • (表示されるまでしばし待つ)
  • 単語を打ち込む
  • (表示されるまでしばし待つ)

という手順を踏んでいたのですが、MacBookにしてからは

  • マウスカーソルを画面左上に持っていく。Dashboardが表示される
  • 開きっぱなしの英和/和英辞書に単語を打ち込む

だけで単語の意味を調べられるように。前と比べて、明らかに知らない単語を調べる回数が増えました。 MacBookを買った直後から使えるとか、GreasemonkeyやBookmarkletと違ってブラウザ外(PDF読んでる時とか)でも引きやすいのが良いですね。

が、欲をいえば、

  • 単語を選択する
  • Dashboardを開く

だけで単語が引けると手間が最小でいいなぁと思うのです。そうでなくても、

  • 単語をクリップボードにコピーする
  • Dashboardを開く

くらいなら実現できそうなんだけど、「選択するだけ」っていうのはできるのかな。

[haskell][javascript] Arrow.jsが凄すぎる件

OSC Kansaiで発表があったArrow.jsが凄い。

何が凄いって、HaskellのArrowをJavaScriptに移植するというその発想が凄い。いやあ参った。 あと角カッコを使ってなるべくHaskellの記法に近づけてるところも可愛い(笑)。

用途としてはJSDeferredと同じく非同期処理の同期化、つまり「Ajaxでデータ取ってきたあとにこれをする」みたいに 処理の手順を組み立てておいて一気に実行する、そういうことができます。 ただし処理の流れが一本しかないJSDeferredと違って、Arrow.jsでは「これとこれを同時に実行して、両方終わったらこれをする」とか、 「これとこれのどっちかが終わったらこれを実行する」みたいに複数の処理を同時に扱うことができる。ArrowかわいいよArrow。

これでArrowというシステムがHaskellとJavaScriptに実装されたわけですが、やってることは同じなのに両者で嬉しいところが違うってのが面白い。 Haskellは遅延評価だからどっから実行されるかわかんないのを決まった順序で実行するためにArrowが使われて、 JavaScriptでは非同期を含んだ処理をうまく実行するためにArrowが使われると。

あーそうか、つまり、「順序が決まってないものをうまく順序づけて実行する」ってところが同じなわけだ。なるほど!

それはともかく

発表資料公開されないかなぁ。

[haskell] Arrowがよくわからん、とujihisaが言ってて

僕もよくわかっとらんのだけど、

  • モナド: 処理の流れは一本
  • アロー: 複数の処理を並列にしたりできる

と思えばいいんじゃないかな。と上の記事を書いてみて思った。

モナドが「関数合成のすごいやつ」なら、アローはどうなるんだろ。「関数合成の超すごいやつ」とか(一緒やん)。

本日のツッコミ(全4件) [ツッコミを入れる]
lurker (2008-07-25 20:38)

Safariでしたら、Command + Control + c 押しっぱなしにしておくと、カーソルの下の単語の訳がリアルタイムに表示できますよ。

lurker (2008-07-25 20:39)

Command + Control + D でした

yhara (2008-07-29 18:25)

おおおこんな機能が。情報ありがとうございます。

BigFatCat (2008-08-09 01:49)

英単語調べるのに、自分は ctrl-space で spotlight を使うことが割と多いです。