タグ

ブックマーク / tarao.hatenablog.com (6)

  • ラムダ計算基礎文法最速マスター - 貳佰伍拾陸夜日記

    ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう. ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と同じです. ラムダ計算で計算を書く訓練をしておくことは, 任意の計算を関数のみを使って(他の制御構文を用いずに)書くときに役立ちます. ふつうに書いたら煩雑な処理を, 関数型言語のやり方で書くとすっきりすることが多々あり, コードを自由自在に書くためには必須の考え方と言えるでしょう. 項 ラムダ計算の式を項(term)と言います. 項は変数, 抽象, 適用のいずれかです. 変数 変数(variable)はふつう1文字で書きます. 変数には関数内の束縛変数(bound variable)か自由変数(free variable)かという区別があり

    ラムダ計算基礎文法最速マスター - 貳佰伍拾陸夜日記
  • Evil: EmacsをVimのごとく使う - 拡張編 - 貳佰伍拾陸夜日記

    Roads? Where we're going we don't need roads. Back to the Future Evilの真髄はその拡張性です. 稿では主にチュートリアルを通して, Evilを拡張する方法を解説します. 導入編 設定編 拡張編 Evilの拡張 例1: コメントアウトオペレータ 単純な選択範囲のコメントアウト 矩形選択範囲のコメントアウト キーマップ 例2: 次のシンボルへ移動するモーション モーションの定義 テキストオブジェクト キーマップ 例3: 同じ文字の間を表すオブジェクト 単純な実装 選択範囲の拡大 キーマップ 例4: かなステート ステートの定義 かな変換コマンド キーマップ リファレンス ステート コマンド オペレータ モーション テキストオブジェクト 補助関数 おわりに 付録 Evilの拡張Evilはもともと拡張性を考慮して設計されています

    Evil: EmacsをVimのごとく使う - 拡張編 - 貳佰伍拾陸夜日記
    o-cha
    o-cha 2013/03/06
    #evil で自分のやりたかったことはここに全部あった。すばらしいですす。#emacs
  • ノートPCでLinuxの仮想化 - 貳佰伍拾陸夜日記

    いままではノートPCではWindowsを使ってきた. なんだかんだで使い慣れて*1いたり, あるいはハードウェア機能をフルに活かすためには他に選択肢が無かったりした. でも最近はペンタブ搭載機でもLinuxがふつうに動いたりするし, Windowsを使っていてもどうせ仮想OSとしてLinuxを動かしていて, Windows上のLinuxをべんりに使うためのバッドノウハウが溜まってしまいつつあったので, 思い切ってWindowsを使うのをやめることにした*2. ノートPCでカジュアルにLinuxを使うなら, できるだけ新しいソフトウェアが動いてほしい. Debianならunstableを入れたい. でもなんかアップデートして急に動かなくなったりしたら困る. そこで仮想化ですよ! ただ, ノートPCの仮想化にはいろいろ問題点もあるので, 整理して解決策をまとめておく. 仮想OSの運用方法 ノー

    ノートPCでLinuxの仮想化 - 貳佰伍拾陸夜日記
  • Evil: EmacsをVimのごとく使う - 導入編 - 貳佰伍拾陸夜日記

    You underestimate the power of the dark side. Star Wars: Episode VI - Return of the Jedi EmacsはLispで自由自在に拡張でき, エディタの枠におさまらず, コンピュータ上でのあらゆる創造的活動のための環境として発達してきました. しかし, 少なくともファイルを閲覧し編集するという操作に関しては, vi/Vimが非常に優れたインタフェースであることもまた事実です. 両者はそれぞれが根強いファンを抱え, 長らく宗教戦争を繰り返してきました. この対立が止揚された結果として生まれたのがEvilです. Emacsのなんでもありな環境の上でVimをエミュレートすることで, EmacsでありながらVimの操作性を実現したのです. 稿では, Evilとは何かということに始まり, 具体的な導入方法について解説し

    Evil: EmacsをVimのごとく使う - 導入編 - 貳佰伍拾陸夜日記
    o-cha
    o-cha 2013/03/03
    日本語でこれだけの内容が読めるのはとてもありがたいです。Evilは実はしばらく使ってたことがあって、とても使い心地が良かったのですが、キーのバッティングの再定義が面倒で途中で止めてしまいました。Evil熱再熱。
  • Emacs上のターミナルを最強に: term+.el - 貳佰伍拾陸夜日記

    第6回関西Emacs勉強会で, Emacs上で最強のターミナル(端末)環境を実現する話をしてきました. 以下がそのとき用いたスライドです. Emacs上のターミナルを最強に from Lintaro Ina このスライドだけでは, とりあえず使ってみるのではなく常用したい場合にどうしたらよいかわかりにくいと思うので, その辺りを補足しながら, きちんとしたドキュメントを書くまでの暫定の使い方を書いておこうと思います. 更新履歴 2012-11-07 端末バッファを別ウィンドウに開くコマンドの仕様変更(term-plus-mux-el@ed343fb)に追従 2012-10-24 リポジトリ構成の変更に伴い配布場所とインストール方法の説明を変更term+mux-newのセッションを訊く条件が変更されたのを反映 これは何? Emacs上の端末エミュレータです. もともとterm.elというもの

    Emacs上のターミナルを最強に: term+.el - 貳佰伍拾陸夜日記
  • JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記

    以前書いた「ラムダ計算基礎文法最速マスター」(以下「最速マスター」)は, 予想以上に多くの人に興味を持ってもらえたようですが, 同時に難しくてわからなかったという人も多かったようです. 反響から察するに, 構文を見慣れていない(と錯覚してしまう)ことが理解の妨げになっていたように思います. ラムダ計算の構文は, 実際には全く特殊なものではありません. このことがよくわかるように, 「最速マスター」のラムダ計算の簡約の例をすべてJavaScriptの構文で書いてみました. ......という内容になるはずでしたが, 気がついたらラムダ計算のインタプリタをJavaScriptで実装していました! 実際に動かせるものは下記URLにあります. https://tarao.github.io/LambdaJS/#js 動作確認と既知の問題 Firefox 3.6 Google Chrome 4.1

    JavaScriptで読む「ラムダ計算基礎文法最速マスター」 - 貳佰伍拾陸夜日記
  • 1