You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
この記事はEmacs Advent Calendar 22日目の記事です。前日はEmacs Lispでシェルコマンドを活用するでした。 最近Mastering Emacsという本を読みました。Emacsの本を購入したのは久しぶりですがかなり面白かったです。洋書なので読むのが大変でしたが苦労して読む価値はあったと感じています。 すごいなぁと思うのがEmacsの最大の魅力の1つである「カスタマイズ」に関する話がほとんどないということです。序盤にほんの少しだけカスタマイズの方法が書いてありますが(しかもそれがM-x customizeの使い方だったりする)、Emacsの歴史、インストール、起動オプション、ヘルプの読み方、カーソルの移動、テキストの編集・・と続きます。内容の大半はEmacsの基本的な機能を深く知ることにフォーカスされているのです。実践VimというVimの中核となるコンセプトを紹介し
litable.elを紹介します. lispxmpみたいなイメージを持ってもらえれば いいと思うのですが、関数にどのように引数が渡されるかというのも視覚的に 表示されます。 動画 非常に視覚的なので動画を見るのが一番手っ取り早いでしょう http://www.youtube.com/watch?v=TgHvRcbYJ-8 https://www.youtube.com/watch?v=mNO-vgq3Avg リポジトリ https://github.com/Fuco1/litable インストール MELPAからインストールできますので、package.elでインストールして ください。 使い方 M-x litable-mode するだけです 図解 以下のような関数を定義し、評価しておきます。 その関数を利用しようとすると、関数定義の部分が変化します。 引数まで書くと、どのように引数が渡さ
この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思います。 なお、ここでのオブジェクト指向の定義は、「各言語でオブジェクト指向と呼ばれているものすべて」とします。JavaやScalaやJavaScriptやSmalltalkやRubyやCommon LispやOCamlがオブジェクト指向と呼んでいるものすべての総称です。もっとまともな定義が知りたい方は以下の記事がおすすめです。 オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smallta
つくって学ぶプログラミング言語 RubyによるScheme処理系の実装【電子書籍】 渡辺昌寛 達人出版会 発行日: 2013-04-15 対応フォーマット: PDF 詳細を見る 私は修論のために並列Schemeを作ったことがある。名前はSucheme。ユーザ名のsuchiにかけたんですね(うへえ)。テーマ曲はHISの「あなたがスキー」とほぼ同じ「あなたがSucheme」だった(この曲の冬美さんはいいですよ、オススメ)。 R4RS準拠でAppendixのマクロまで1ヶ月くらいかけて実装してとても楽しかった。最終的にC言語とschemeのコードで1万行くらいの規模になったと思う。字句解析のコードは、状態遷移を当時「C MAGAZINE」のP.J.Plaugerさんの連載に載っていた「gotoを使ってエレガントにする方法だってある」というような主旨のswitch-caseとgotoで書く変な書き
お久しぶりです。 この度、新著の 『Emacs Lispテクニックバイブル 〜真髄を知るLispの掟〜』 を執筆しました。 この本は、すでにEmacsを使っている人が、 Emacsを手足の如く扱うことを目的にしています。 前著『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』は あらゆるEmacs Lispプログラムを活用して、快適な環境を構築するための カタログ的な本でした。 紹介された様々なEmacs Lispプログラムによって、 あなたのEmacsは劇的な進化を遂げたことでしょう。 それでも、人間の欲というものは限りないものです。 「このEmacs Lispプログラムのココが気に食わない」 「このようなEmacs Lispプログラム欲しいけどないなー」 「世界でただ一つ、俺だけのEmacsを作りたいぜ」 みたいな欲が出てくるんですね。 もし、その感情が湧いたことが
((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型 構文 #t と #f はTrue
基礎文法最速マスターブームにのっかってみる。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
Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト (c) 野田 開 NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>
サークルで作ってるプログラムで,サーバーとの通信をS式でやっているので,それで使う用。 ありがちなので探せば絶対ありそうだけど練習も兼ねて。 (a b)というStringをちまちま置換して ["a", "b"]というStringにして、evalを使ってArrayに変換した。 最初はスタックに入れたり出したりしながらやっていたのだけど、最終的にはこのような形に落ち着いた。 eval使えたのでよかったことにする。 #!/usr/bin/ruby # S-Expression methods # add to_sexp method. class String def to_sexp # split the string with (,), . array = self.chomp.split(/([()])| /).delete_if{|c| c.size == 0} raise "The e
faceの設定をいじれば良さそう。 kordersでfaces.elの中を覗いてみた 大体、分かったと想う。 describe-faceでどの様なattributeで設定されているか確認する。 face-listで現在使用しているfaceがlistになって帰ってくる face-attributeで指定したfaceのattributeを取り出せる set-face*という感じの名前の関数でattributeを設定できる。 あと、色とかfaceの情報を見るにはlist-*-displayという感じの関数が便利 list-faces-display list-colors-display とか (setq faces (face-list)) (defun filterd-face (attr expect) (let ((Expect (capitalize expect))) (reduce
moccur-grep や moccur-grep-find は moccur-edit と組み合わせると強力なので手放せず毎日使わせてもらっています。 ただしちょっと不満があって moccur-grep-find では .svn やら TAGS などが検索に引っかかってしまうのが少し不便に感じていました。 実は M-x moccur-grep-find して hoge \.scm$ みたいに拡張子を指定すれば引っかからなくなるのでそこまで困っていなかったので放置していました。 今回 id:tonextone さんに *moccur-buffer-name-exclusion-list* で特定のファイルを無視できないんだろうか?と 質問されたのでまじめに調べてみました。 毎日使っている道具なので快適になるなら取り組む価値はありますよね。 結論から言うと *moccur-buffer-na
This page contains snippets of code that demonstrate basic elisp programming operations in the spirit of the o’reilly cookbook series of books. For every task addressed, a worked-out solution is presented as a short, focused, directly usable piece of code.All this stuff can be found elsewhere, but it is scattered about in libraries, manuals, etc. It would be helpful to have here in one spot.These
yuuten emacs //アドオン並に公開されてるの? cpanみたいなサイト無いの?教えて欲しい 2009/01/23 はてなブックマーク - yuutenのブックマーク / 2009年1月23日 というコメントがあったので。僕の知っている範囲でご紹介。 まず、総本山とも言えるEmacsWiki。 全 elisp 更新順 カテゴリ別(elisp ファイルだけじゃなくて、.emacs に書く内容も含まれる) がある。 次に、CodeRepos の elisp ディレクトリも色々なファイルが置かれてある。Emacs で Outputz できる様になる、outputz.el もここ。 あとは、GitHub の Emacs Lisp - GitHub からも色々と見つける事ができます。 まぁ、Emacs は歴史が古いので、共有リポジトリなどがなかった時代から開発されていたものは、各自のサイト
Anythingというelispが活発に開発されている。それは、ひとつのキーであらゆる動作をまとめてしまうもの。たとえば、find-file, bookmark-jump, switch-to-buffer, recentfなどの情報源をひとまとめに。 M-x anythingして開きたいファイルの部分文字列を入れると、あらゆる情報源からマッチするものを選択できるようになる。 anything.elは汎用的にできているので「ファイル」に関する操作ばかりではない。ユーザ定義次第で「なんでも」まとめてしまえるとのこと。 1ヶ月前にプロトタイプが出て以来、普段は静かなgnu-emacs-sourcesメーリングリストが祭りになっている。これはちょっとした事件だ。 最初、「open anything」という説明だけを見てどうせwindozeのファイル関連づけとかそんなんだろとタカをくくっていたが、
Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト Copyright (c) 2003-2005 野田 開 NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>
最終更新日: 2000-12-02 (公開日: 2000-12-02) ちょっと感傷的。「今年」は 2000年のこと。 目次 ことはじめ 2.2.4節の図形言語 書評 関連リンク集 ことはじめ 今年の4月に『 計算機プログラムの構造と解釈 』(SICP)を知った。これはす ごい本である。MITの入門コース用の教科書らしいのだが、僕にとっ ては難しい (一応は情報科学が専門の大学院生なんだが)。が、難 しい以上に楽しい。本物の計算機科学を感じる。perl だとか CGI だとか、くだらんことをやっていないで、もっと早く読むべきだっ た。 この本では、プログラミング言語として Lisp の 1つの方言である Scheme を採用している。僕は Lisp を長い間、敬遠してきた。あ んな括弧の多い言語、 IQの高い人間じゃないと理解できないに違 いない、そもそも実用性がないんじゃないか、と思って
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く