【突撃リポート】歌舞伎町のロボットレストラン行ってきた! 行ってもやっぱ意味不明だったけど最高!(追記あり)2012.09.02 20:0010,691 「最近おもしろいことあった?」って聞かれたら迷わず「ロボットレストラン!!」って即答するね。 近頃噂の「ロボットレストラン」って知ってる? ロボットレストランは前にもちょっとだけ紹介したんだけど、水着のオネーチャンたちが巨乳ロボットやら戦車やらに乗ってパフォーマンスするのを観ながら弁当が食える店。歌舞伎町にある。 店のオープンまでにかかった費用はナント100億円。ハリウッド大作が撮れるレベルの金額。でも、ロボットレストランで遊ぶのは結構手頃な値段。ショーとお弁当とお茶を含めて3000円ポッキリ(追記:記事入稿後4000円になりました)。基本的にそれ以上のお金はかからない。う〜ん、すっげぇ謎めいてる。それから新宿や渋谷に走ってる宣伝トレーラ
Haskell の優雅さを示すためによく使われるコードは、優雅さと分かりやすさだけに特化しており、現実的には遅いことが多い。書き手は他に効率のよい実装があることを知っているのだけれど、読み手はそうではないから、後で効率が悪いと気づいて愕然とするみたいだ。 この記事では、神話になっている例を3つ取り上げ、効率のよい実装と合わせて紹介する。その 3 つの例とは、以下の通り。 フィボナッチ数 素数生成 ソート フィボナッチ数 遅延評価を活かした優雅なフィボナッチ数の実装は、以下の通り。 fib n = fibs !! n fibs = 0 : 1 : zipWith (+) fibs (tail fibs) Haskellの「fib = 1:1:zipWith (+) fib (tail fib)」はとても遅いにも書かれているように、この実装は遅い。 その理由は、(+) の計算が遅延し、その待機
モナド変換子も分かりにくい概念のひとつだ。do 記法の中に記述できるモナド型関数は単一のモナドに限られる。たとえば、State モナドを例にとると、State モナドでスタックを記述している時は、スタックを使うプログラムの中に IO モナド型の関数を含めることはできない。 そこで、State モナドの中でIOモナドを扱いたいときは、State モナドの中のIOモナド型関数をモナド変換子で State モナド型関数に変換して、State モナド型関数として使用できるようにしたい。 しかし、単にIOモナド型関数を State モナド型関数に変換するだけだと、入出力関係の関数を隔離する目的が達成できなくなる。たとえば、List モナドの中で IO モナド型関数が使えると、副作用が純粋関数の世界に侵入してしまって、何のためにIOモナドで隔離したのかわからなくなってしまう。 この相反する要求を満足さ
最初に言っておくと、モナドって何なの?っていう答えは一切ないです。 自分にとってモナドは「とりあえず型さえ合わせておけば何かいろいろしてくれる奴」程度としか認識できていないので、そんな説明できないです。 で、そんな自分が脳内でどういう風にイメージしてモナドやモナド変換子の混ざったコードを書いているかというのを図に表してみました。 ここら辺の話を図にした感じです。 モナドを触ってみた - melpon日記 - HaskellもC++もまともに扱えないへたれのページ モナド モナドには return 関数と >>= 関数があります。 こんなイメージです。下側の線が普通の関数型の世界、上側の線がモナドの世界です。 どちらもモナド側の出力しか無いので、どちらかの関数を使ったら、モナドから脱出することはできません。 ただ、>>= 関数の右側が点線の箱になっていることが分かるでしょうか。 ここには、太
function(){}()久しぶりのブログです。このところ craigslist というサイトに人生の時間を吸い取られていました。それはさておき。 JavaScript を使う機会が非常に多いように感じられるのですが、そのスコープ怪しいよ問題とファイルがっちゃんこされるかもしれないよ問題に関して、無名関数呼び出し function(){}() の嵐になるのは有名な話ですね。 そんな function(){}() にはいくつかの派閥があるのでご紹介したいと思います。 (function(){})(); 派function(){} は Function を返すから () で囲って () で呼びだすよ、最後はセミコロンだよ派 (function(){}()); 派function(){}() って書いたら動くときもあるけどなんだかエラーになるときもあるから、とりあえず () で囲って、最後はセ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く