タグ

lispに関するkoko1000banのブックマーク (172)

  • はじめての emacs-lisp - 宇宙行きたい

    howm で書いたものをそのままはてなに投稿したいなぁと思って 書いてみた #!/usr/bin/env python # -*- coding: utf-8 -*- import sys from hatenadiary import HatenaDiary from pit import Pit def getDiary(): conf = Pit.get('hatena.ne.jp',{'require' : {'userid':'Your hatena.ne.jp userid}','password':'Your hatena.ne.jp password'}}) return HatenaDiary(conf['userid'],conf['password']) if __name__ == '__main__': if len(sys.argv) == 1: print '

    はじめての emacs-lisp - 宇宙行きたい
  • S式をArrayに格納するメソッドを書いた - hitode909の日記

    サークルで作ってるプログラムで,サーバーとの通信を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

    S式をArrayに格納するメソッドを書いた - hitode909の日記
  • LispをCより速くする - リリカル☆Lisp開発日記

    ときどきの雑記帖経由で知った How to make Lisp go faster than C という論文が面白いです。 簡単な画像処理をCとCommon Lispで書いて速度を比べるというものですが、 CLの速度の劇的な変化が笑えます。 インタプリタで実行 -> Cの2300倍遅い コンパイルして実行 -> Cの60倍遅い 型宣言と最適化を付ける -> Cと同等の速度(一部に関してはCより速い) いくらなんでも最初より速くなりすぎだろwwww おまけに、最初のソースと最終的なソースの差はほとんど無く、 関数一つあたり、2,3行増える程度です。これは凄い。 あと、CMUCLの型推論がACLより優秀という話も面白かったです。 (defun mult (to from val) (declare (type (simple-array fixnum (*)) to from))

  • はてなブログ | 無料ブログを作成しよう

    ハリイカの焼売と中華炒め ハリイカをよく、見かけるようになりましたよ。生け簀で、泳いでいたものを一杯購入しました 立派な大きな墨袋や肝は冷凍保存して 柔らかな身は季節のお豆、お野菜と合わせて中華の炒めものに。新鮮なにんにくの茎は刻み、香り高く欲そそられますね 下足はミンチにし…

    はてなブログ | 無料ブログを作成しよう
  • Problems with Lisp

    I have seen a few complaints about Common Lisp over on Programming Reddit this week. Most of them are the usual kind of complaints you hear from people that are new to any programming language ("I don't understand the common idioms, so the language is bad"), but one complaint keeps coming up: Lisp doesn't support hashes well. There are plenty of things wrong with Lisp, but I don't get this one. So

  • Lisp一夜漬け

    Lisp 一夜漬け 「Lisp 一夜漬け」は、ソフトバンクの月刊誌『Oh!X』の 1995年10月号〜1995年12月号に掲載された Lisp 講座です。 ここでは、掲載当時の X68000 に特化した部分などは削除してあります。 (ということは、1995年12月号掲載ぶんは全削除です) Lispの書き方 (1997.09.26 21:55) Lisp の世界 関数という概念 書き方 変数 制御と述語 関数定義 リスト (1997.10.01 00:50) Lisp におけるデータ型 ドット対 ドット対からリストへ nil について リストの定義 リストを扱う関数 リストを扱うプログラムを作る

  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • Iterators in elisp

    A long time ago, before I knew elisp, someone told me to never use lexical-let. I've ignored their "advice" and have written this: (require 'cl) (defun get-iterator-over-words-in (buffer) (lexical-let ((buf buffer)(pos 1)) (lambda () (save-excursion (let ((cur (current-buffer)) result) (switch-to-buffer buf) (goto-char pos) (forward-word) (let ((pt (point))) (if (not (eq pos pt)) (progn (setq res

  • ウノウラボ Unoh Labs: 続・Emacsを自分で拡張するためのTips

    今年の春頃からトリプルディスプレイで仕事しているbokkoです。なんだか同僚の視線が気になりますが、あえて空気を読まないことにしています。 前に「EmacsLispを自分で拡張する際のTips」という記事を書きましたが、今回はその続きです。 EmacsLispは難しい? EmacsLisp(以下、elisp)は難しいという意見をたまに耳にしますが、elisp自体はそれほど難しいものではありません。ただ、関数名がバラバラでややこしかったり、マニュアルが巨大でどこを見ていいのかわからず、目的のことをするための関数が見つからない、といったようにユーザが難しいと感じるのはelispという言語そのものではなく、環境(OS、ウインドウ、バッファなど)とのインタフェースにあるため、結果的にEmacsLispは難しいと感じてしまうことが多いようです。 実際、elispでプログラミングしていて感じるのはウ

  • Introduction to Elisp for perl and C programmers

    Perl や C プログラマーのための Elisp (Emacs Lisp) 入門 最終更新日: (創設: 2005-01-24) 詳細は、info に emacs lisp manual をインストールし、それを 見るのがよいが、これは、それを見るためのガイドである。manual を最初から 読むのが大変な場合には、manual の最初のページにある Index で、以下の 説明に現われる用語を検索してみるのがよいであろう。 プログラムに当り、改行は好きに入れてよい。emacs の lisp-mode で 編集すると、各行で TAB を押すと、最適 indent をしてくれる。また、 region 内すべてに対し、M-x indent-region で同じことをしてくれる。 関数の定義 標準は (defun 関数名 (引数リスト) "コメント" 関数の実体) であるが、これは、プログラム

  • On Lisp 続き 6章〜8章 - てっく煮ブログ

    On Lisp を読みつつのメモだったり感想だったりの続き。いよいよマクロへ。6. 表現としての関数Lisp でネットワークを定義する。DSL だなぁ、すごい。7. マクロいよいよマクロ。逆クォート ,で打ち消し、,@で展開マクロ展開時に引数に置き換えてほしいものの前に , や ,@ をつけるイメージマクロ展開の確認 xyzzy には pprint がないので展開を確認できないテンプレートの使い方と展開形の確認 に対応方法が書いてあるけど、ここからは clisp で確認していくことにする構造化代入 よく分からないのでパスマクロのモデルdefmacro の簡易実装が書いてあるが、理解できない…。ひとまずパス。関数からマクロへ 単純に変換できない場合の対処法 + のマクロ版が (defmacro sum (&rest args) `(apply #'+ (list ,@args))) と定義さ

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • ㊣十大正规足球外围app-bsport体育娱乐官网入口

  • Lisp:S式の理由

    S式は人に優しいか Shiro: Lispの不人気の理由として筆頭に上げられるのが、括弧だらけの 独特の見た目。とっつきにくい、一般的な表記法と違っていてわかりにくい、 等々、様々なことが言われてきました。しかし、 S式を捨てたLispも開発されましたが 流行ったとはいい難く、Lispな人々はいまだに括弧に固執しているかのようです。 S式のメリットをLisperに尋ねれば、エディタがどうの、マクロがどうの、といった 回答が真っ先に返って来ると思うんですが、そういう理屈をいくら理解しても S式がダメな人がS式を好きになったりはしません。どうも、もっと根的な 感覚に大きな隔たりがあるような気がします。非Lisperから理解しがたい、 Lisperの持つ感覚とはどんなものなんでしょうか。Lisp脳から見た世界は どんなものなのでしょうか。 構文木を人間が書く? S式は言ってみれば言語の構文木そ

    Lisp:S式の理由
  • Emacs Lisp Tips

    私の .emacs で設定している項目 Last Updated at $Date: 2005/12/04 03:36:05 $. このページの内容は,Emacs-21.3 で動作確認しています. version によっては変数名や関数名の変更などにより動作しないことが有り得ますので, ご注意下さい.バグレポートや感想などは tsuchiya@namazu.org までお願いします. 日語環境の設定 改行キーでオートインデントさせる BS キーを有効にする マシン毎に設定を切り替える ファイルの拡張子によってメジャーモードを切り替える スクリプトを編集するメジャーモードの設定 スクリプトを保存する時,自動的に chmod +x を行なうようにする 強調表示付き動的略称展開 概略表示付き yank-pop shell-command のコマンド入力に補完が効くようにする shell-mod

  • Lisp:よくある正解 - Lispについての正しい認識と、それでもLisperがLispを使う理由

    Lispについての正しい認識と、それでもLisperがLispを使う理由 yoriyukiさんのエントリがなかなか 真実を突いていたので、ネタにさせていただきます。 原因のほとんどは経路依存性とかネットワーク効果によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、 Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。 Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。 動的型付け:利点でもあるけど、特有のバグを引き起こす。 識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美

    Lisp:よくある正解 - Lispについての正しい認識と、それでもLisperがLispを使う理由
  • page moved

    2021-11-13 page moved to http://xahlee.info/emacs/emacs/elisp_idioms.html You'll be redirected in 10 seconds.

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Emacs Lispのイディオム - 2009-01-18 - 武蔵の日記

    今の自分は、出会った人や読んできたによって、できあがっている あの小冊子は、新聞の付録だったのか、記憶が曖昧で定かではないのだが、1ヶ月に1回程度の頻度で届いていた気がする。オールカラーで内容もさまざまだった気がする。その中には、プロ野球の選手名鑑もあって、私は、母から受け取り、大切にしていた記憶がある。母は、…

    Emacs Lispのイディオム - 2009-01-18 - 武蔵の日記
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知