2016-05-01から1ヶ月間の記事一覧

楽しく学ぶ難解プログラミング言語

connpass.com タイトルの通りの LT をしました. 先日の Grass インタプリタはその伏線だったというわけですね. 当初は真面目路線で作ってたのですが, LT の制限時間 (5分) で簡潔にまとめるのが難しくて, 結局こんな感じになってしまいました. まだまだ修行…

コールバック地獄から async/await に至るまでと, 非同期処理以外への応用

継続渡しスタイル (CPS: Continuation-assing style) 例えば以下は引数として与えられた数に 1 を加えるだけの関数と, それを呼び出すプログラム. function succ(x) { return x + 1; } console.log(succ(2)); // -> 3 CPS では関数がその継続 (callback) を…

チキンティッカを作ったら最高だった

辛辛魚の在庫が去年より二ヶ月ほど早く無くなってしまい, 世界は悲しみに包まれております. www.amazon.co.jp というわけで, これからどう QOL を維持していこうかと考えていたところ, 深夜急にタンドリーチキン (チキンティッカ) を無限に食べたくなったの…

Grass インタプリタを書いた

いつものように JavaScript で書きました. github.com npm があればnpm install -g @susisu/grass-js でインストールできて, grass /path/to/progfile とかで遊べます. Grass とは Grass the grass-planting programming language の通り, 草を生やす言語で…

ボゴソートより効率の悪いアルゴリズムを考える回

Bogosort ボゴソート - Wikipedia 配列の要素をランダムに並び替えて, 運良くソートできていればソート完了というソートアルゴリズム. 配列のサイズが で, 要素がすべて異なるとしたとき, 平均計算時間は . 要素の交換回数の期待値は となる *1. Bozosort Bo…