タグ

lispに関するrahaemaのブックマーク (7)

  • ((Rubyで) 書く (Lisp) インタプリタ) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 ((Rubyで) 書く (Lisp) インタプリタ) : melborne.github.com - Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ) という記事(青木靖さん訳)がすごい 100行ほどのPythonコードで Schemeのインタプリタの基部分を書いている Pythonのコードは見た目がRubyのコードとよく似ているので Rubyしか知らない僕でも何となく読める この記事を解読してRuby版Schemeインタプリタを書いたら インタプリタ Pyhon Scheme それからRubyのことも もう少し分かるようになるかもしれない こんなお得な勉強方法はないぞ きっと そんなわけで... 以下では上記記事を参照し

    ((Rubyで) 書く (Lisp) インタプリタ) - hp12c
  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • Emacs Lisp

    正規表現は難しい。 でも、Emacs Lisp の正規表現はもっと難しい。 ここでは Emacs Lisp で正規表現を書くプログラマを混乱させる落とし穴についてまとめる。 バックスラッシュ Perl では、バックスラッシュに合致する正規表現を次のように書く。 '\\' しかし、Emacs Lisp では以下のように書かなければならない。 "\\\\" Emacs Lisp の正規表現が嫌いになる理由はこれだけで十分だ。 しかし、なぜこんなにもバックスラッシュが必要なのだろう? それは、Perl が「リテラル」として正規表現を記述するのに対し、 Emacs Lisp では「文字列」として表記するからである。 Emacs Lisp の関数呼び出しでは、 各引数が「評価」されてから関数に利用される。 もちろん、引数として与えられた文字列も利用前に評価される。 (message "a\tb")

  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • [mac][emacs] Cocoa Emacsを始めるにあたって入れてみた拡張とか.emacsの現状とか « 岩家ぶろぐ

    はじめに 半年くらい前だったかに使い始めたAquamacs Emacsですが,Ctrl+n,Ctrl+pの押しっぱなしによるカーソルの上下移動がモッサリしていて,イライラさせられてきました. そんなチリがそれなりに積もってきたとか,突然掃除を始めたくなるくらい崖っぷち的精神状態な今日この頃とか...そんな背景もあり,以前から存在だけは知っていながら触らずじまいだったCocoa Emacsをインストールして使ってみることにしました. 以下,それを機に新しく(話題的には新しくないかと)入れてみた拡張と,それを踏まえた.emacsの現状についての記録です. [mac][emacs] Carbon Emacs設定の現状をまとめてみた « 岩家ぶろぐ かなり間が空いてますが,このエントリの「その後」的な位置づけにでもなりますかね. なお,相変わらず,Emacs Lispは書けません.変更部分は,「雰

  • Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました

    基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4

    Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました
  • 1