タグ

ブックマーク / kazu-yamamoto.hatenablog.jp (9)

  • Emacs 24.3/24.4 on Mac のフォント設定 - あどけない話

    Emacs で一番難しいのはフォントの設定です。特に Mac では地獄のように難しいです。とうわけで、Emacs 24.3 と来る Emacs 24.4 でうまくフォントを使うための設定を公開しておきます。 なお、Mac では素の Emacs を使ってはいけません。Emacs Mac port を使いましょう。パッチを当てるのは面倒なので、早く github なんかで公開されるといいですね。 ちなみに、素の Emacs を Dock から起動すると PATH を引き継がないので、はまります。Emacs Mac port なら PATH を引き継いでくれます。 フォントの設定 以下をお好みに合わせて変えて .emacs などに入れて下さい。 ;; 以下はフレームの設定 (defvar my-frame-parameters '((height . 40) (width . 80) (top

    Emacs 24.3/24.4 on Mac のフォント設定 - あどけない話
  • Real World Haskell の古いところ - あどけない話

    Real World Haskell の内容が古くなってきたので、どこが古いかとか、それに変わる新しいものは何とか、まとめたいと思う。 Real World Haskell―実戦で学ぶ関数型言語プログラミング 作者: Bryan O'Sullivan,John Goerzen,Don Stewart,山下伸夫,伊東勝利,株式会社タイムインターメディア出版社/メーカー: オライリージャパン発売日: 2009/10/26メディア: 大型購入: 8人 クリック: 245回この商品を含むブログ (76件) を見る 1章 始めましょう 今でも通用する。 2章 型と関数 今でも通用する。 3章 型を定義し、関数を単純化する 今でも通用する。 4章 関数プログラミング ghc に --make オプションはもう不要。 5章 ライブラリを書く 5.14節では、"runghc Setup build" の

    Real World Haskell の古いところ - あどけない話
  • 書評: Parallel and Concurrent Programming in Haskell - あどけない話

    Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming 作者:Marlow, SimonO'Reilly MediaAmazon このには、その名が示すように Haskell (正確には GHC(Glasgow Haskell Compiler))が提供する並列(parallel)/並行(concurrent)プログラミング技術がまとめられている。著者は、GHC の主要開発メンバーである Simon Marlow 氏である。 彼は、長年、並列/並行の研究に携わっており、並列ガーベジコレクションを持つ GHC RTS (Runtime System) やいくつかの並列/並行ライブラリを実装している。そのため、並列/並行プログラミングには、驚く

    書評: Parallel and Concurrent Programming in Haskell - あどけない話
  • [OCaml]書評「プログラミングの基礎」 - あどけない話

    僕はよく「関数プログラミングの入門書には何がいいか」という質問を受ける。そのときは必ずこの(と他のいくつか)を答えるようにしている。書評を書いたつもりになっていが、検索してみると書いてないようなので、反省して良書を紹介してみようと思う。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03/01メディア: 単行購入: 17人 クリック: 409回この商品を含むブログ (127件) を見る 書はプログラミングの経験のない人を対象としており、書名通りプログラミングの基礎が説明されている。使用する言語は OCaml である。著者の浅井先生は、お茶の水女子大学でプログラミングを教えている。授業の経験を元にしたにはよくあることだが、内容が実に整然としており、例題がこなれている。 初心者を対象と

    [OCaml]書評「プログラミングの基礎」 - あどけない話
  • 自分で作る Num の instance - あどけない話

    11月14日のHIMAで、みんなが「Num の instance はよく作る」という発言をしていました。Num の instance なんて自分で作るもんじゃないと思っていた僕は衝撃を受け、どういうときに作るのが尋ねました。すると、msakai さんが「有限体での計算」と答え、「すると暗号のコードはもっと洗練できるのか?」と再び衝撃を受けました。 という訳で、昔作った RSA のコードを元に、Modulo という data を定義して Num の instance にしてみました。Haskell の累乗演算子の実装を見たところ、高速なアルゴリズムが採用されていました。それはすなわち、Haskell で RSA を作ると、これだけということです! data Modulo = Mod Integer Integer deriving (Eq,Show) instance Num Modulo

    自分で作る Num の instance - あどけない話
  • 使ってみよう Enumerator - あどけない話

    Enumerator Package - Yet Another Iteratee Tutorialは、Iteratee: 列挙ベースのI/Oよりは分かりやすいのですが、やっぱりよく分かりません。なぜなら、僕は使い方を知りたいのに、作り方が書いてあるからです。そこで、Enumerator ライブラリの使い方を簡単に紹介します。 登場人物 Iteratee 入力をもらって計算をします run_ で実行します IO モナドが指定されていれば、副作用を起こせます オートマトンと考えると分かりやすいです Iteratee 同士は (>>=) で合成できます Iteratee >>= Iteratee → Iteratee Enumerator Iteratee と ($$) で合成することにより、新たな Iteratee になります Enumerator $$ Iteratee → Iterate

    使ってみよう Enumerator - あどけない話
  • Cocoa Emacsでのフォント設定 - あどけない話

    Cocoa Emacs をそのまま使うと、等幅フォントの設定が使い物になりません。日語文字の幅は、英語文字の倍であるべきです! Web を調べても、みんな困っていることが分かっただけ。そこで自分でハックしてみましたが、到底手に負えないことが分かりました。(フォントEmacs の最も難しい部分です!) という訳で、Cocoa Emacs の Adrian Robert さんにメールしたところ、「フォント周りは半田さん」とのこと。結局、半田さんに質問しました。 そしてついに、Carbon な Emacs 22 でも CocoaEmacs 23 でも、希望通りにフォントを設定することができました。 以下がそうです。僕は、ヒラギノ丸ゴを使っています。 (setq my-font "-*-*-medium-r-normal--14-*-*-*-*-*-fontset-hiramaru")

    Cocoa Emacsでのフォント設定 - あどけない話
  • Emacs Lisp のダメなところ - あどけない話

    Emacs Lisp をこよなく愛する僕の目から、Emacs Lisp がダメだと思うところをまとめておきます。 文化的な問題 Emacs Lisper の多くは、Lisp が好きで使っているのではなく、Emacs が好きだからしかたなく使っているのでしょう。当は C で書きたいのに、無理して Lisp を利用している感じです。 そのため、Emacs に付いてくる Emacs Lisp のコードは、Lisp らしくないものがほとんどです。単に C での発想を Lisp で表現しています。 これらのコードは、読みこなせないぐらい関数が大きく、副作用のある部分とない部分が分離されていません。また高階関数を用いて、データ構造を走査するコードと実際に仕事をするコードを分離するという意識も低いようです。 GoogleMapReduceという論文のお陰で、Lisp の写像関数(map)と畳込み

    Emacs Lisp のダメなところ - あどけない話
    okagawa
    okagawa 2008/02/10
    Mewの作者による、EmacsLispのダメなところ
  • Arc のハッシュ - あどけない話

    川合さんのエッセイ「Schemer's way」は面白く、とてもためになります。 ただ一点、フェアな議論なのか気になるところがありました。 多くの言語では、新しいオペレータを追加するのは言語そのものを拡張しなければならないだろう。例えばJavaを拡張してPerlの `x' オペレータを実装するには、構文規則から書き直さねばならない。既存のオペレータに新しい意味を追加するというメカニズムは、これもいくつかの言語では言語そのものに組み込みの機能となっている。 Lisp系の言語では、オペレータと関数呼び出しとの間に区別が無いため、オペレータの機能の拡張ということは議論にならない。新しいオペレータが欲しければ、あるいは既存のオペレータを拡張したければ、いつでも自分で書けるからだ。 Java には構文規則を変えなければいけない例を挙げているのに、Lisp では構文規則を変えなくてよい例を出しています

    Arc のハッシュ - あどけない話
  • 1