タグ

lispに関するk1LoWのブックマーク (21)

  • プログラマは皆どのようにしてLisperと化して行くのか?

    LispでWebサービスを作ればYahoo!に60億で買ってもらえると聞いて 実はCと同じくらい速いコードが書けると聞いて ルンバがLispで書かれていると聞いて リリカルなので 面接で笑われてカッとなった マンガでわかるらしいので iPhoneアプリが開発できると聞いて iアプリでLispが書けると聞いて 初めて手に入れたポケコンがAI-1000だった ハッカーと画家を読んでしまった 普通のやつらの上を行きたいので 舌足らずなので セグウェイを制御するコードが一日で書けるようになると聞いて How to become a Hackerを読んだ 専用の求人情報に応募できると聞いて プログラミングClojureを読んだ 初めての人のためのLispを読んだ 自前のLispで書かれた将棋が強かったので LispとPostScriptがあればハッピーになれると聞いて LOLの熱にあてられた On

    プログラマは皆どのようにしてLisperと化して行くのか?
    k1LoW
    k1LoW 2010/03/31
  • Emacsユーザのためのadvice - Journal InTime(2009-12-24)

    _ Emacsユーザのためのadvice Emacs Advent Calendar jp: 2009の参加記事。昨日はid:hayamizさん。 明日は他に参加する人がいなければid:authorNariさん。 最近はVimを使うことが多いけど、shiroさんのお話を聞いてやっぱりLispは強力だなあとか思ったりしたので参加してみた。 知ってる人も多いと思うけど、Emacs Lispのadviceという機能を簡単に紹介しよう。 adviceとは、簡単に言うとCLOSのmethod combinationみたいなものだ。あるいは、Railsのbefore/after/aroundフィルタみたいなものと言った方がいいだろうか。要は、既存の関数(正確にはマクロや特殊フォームを含む)の実行の前(before)あるいは後(after)、前後両方(around)で実行したいコードを定義する機能である

  • 9LISP

    kyushu.lisp@KPF通称9LISP九州 熊を中心にLISPの勉強会を開催しています隔週で開催しています -> 50回目をもってLISPの悟り完了ということで不定期開催になりました。9LISPはKPFの分科会です遠隔地(オンライン)参加もできます -> お休み中

    9LISP
    k1LoW
    k1LoW 2009/08/07
  • 長文日記

    k1LoW
    k1LoW 2009/06/11
  • Lisp はわからないけどEmacs で選択範囲に対してごにょごにょしたい | ブログが続かないわけ

    Emacs を使っていると、選択範囲に対してなにか処理したいということはよくある。それなのに、Lisp がわからないからということで、あきらめてしまってはいないだろうか。Emacs でいろいろなことをやるにはLisp は必須だけど、「選択範囲に対して何か処理を施す」というだけであれば、Lisp はほとんど知らなくても実現できてしまう。 要は、選択範囲を引数として自作のスクリプトに渡して、それの戻り値を受取ることができればいいわけだ。選択範囲をスクリプトに渡すという部分はLisp で書かなければいけないんだけど、そこはここで示すテンプレートをコピーして使うだけで問題ない。 それでは、例として、選択範囲の小文字を全て大文字に変換するというものを作ってみよう。 (これ自体はEmacs の標準のコマンドでできるけど、ここは例としてこれを作る) まず、雛形となるLisp のテンプレート my-fun

    Lisp はわからないけどEmacs で選択範囲に対してごにょごにょしたい | ブログが続かないわけ
  • Practical Scheme

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を紐

    Practical Scheme
  • 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

  • M.Hiroi's Home Page / xyzzy Lisp Programming

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

  • Scheme、Common Lisp、Emacs Lispの比較

    「王女アテー姫を含めてハザールの男女は、 この能力によって朝ごと変身を済ませ、 そのたびに、見たこともない斬新な顔で立ち現れる。 だから近親者同士でさえ見分けがつかないほどだ。 旅行者の見聞はこれとはまったく異なり、ハザールの顔つきはどれもそっくりで、 しかも歳を重ねても容貌が変わらない。それゆえ人違いの混乱や厄介が絶えない。 どちらにせよ、結果は同じことで、ハザール族の顔はまず覚えられないし、 覚えても無益となる。」 ミロラド・パヴィチ「ハザール事典」 Lispには数限りないほどの方言がある (例えば、 http://dreamsongs.com/NewFiles/Hopl2Slides.pdf とか参照)。 そのなかで普及している Lispというと、 Scheme、Common Lisp、Emacs Lispの3つだろう。 ユーザの多さでいうと、多い順に Emacs Lisp、Comm

  • ㊣十大正规足球外围app-bsport体育娱乐官网入口

  • vim に lisp 機能をつける — ありえるえりあ

    emacs ユーザーが当り前のようにコマンドラインから lisp 式を評価している姿がこの上なく羨ましかったので、vim から直接式を評価して返す機能を作ってみた。 lisp コンパイラを自作するのは大変なので gnu common lisp を呼び出し、結果を返す事にする。 ~/.vimrc に以下の行を追加する。 let g:global_value = "/tmp/.tmp.txt" vmap <C-L> :w! /tmp/.tmp.txt<CR> nmap <C-L> :cal Mylispeval()<CR> function Mylispeval() execute "r !gcl -f < ".g:global_value endfunction 3行目では、ビジュアルモードにおいて Ctrl_L に '< から '> までの領域を適当なファイル(/tmp/.tmp.txt)

  • JavaScriptでつくるSchemeインタプリタの基礎の基礎

    はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。 対象読者 稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。 必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。 概要 作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラム

    JavaScriptでつくるSchemeインタプリタの基礎の基礎
  • Practical Scheme

    ->English 10/5/2001 初出 5/30/2002 追記 6/10/2002 英語版へのリンク追加 「プログラミング言語は満載した機能を特色の第一とするものではない。 あとになって機能の追加が必要と判明するような弱点と制限を取り除いて設計すべきである。」 (アルゴリズム言語Schemeに関する第五改訂報告書、犬飼 大訳 [1])。 言語の機能とライブラリ ポピュラーな言語に親しんできたプログラマの多くは、 Schemeに触れた時、こう感じるんじゃないか。 「一体こんなに機能の少ない言語で、どんなプログラムが書けるっていうんだ。」 Schemeの規格書はほんの50ページしか無い。 Schemeプログラマはそれを言語の簡潔さの証とかなんとか言ってるけど、 入出力は最低限のものしかないし、作ったファイルを消すことさえ出来ない。 文字列処理もC言語の標準ライブラリ以下じゃないか。 ス

    Practical Scheme
  • On Lisp

    Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト Copyright (c) 2003-2005 野田 開     NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>

  • Structure and Interpretation of Computer Programs

    λλλ 問題の解, ヒントを見る前に λλλ 問題の解, ヒントのページへ進む前に 問題は自分の力で解いてみてはじめて理解が進みます. ですから考えもせず, 最初から解答を見たのでは, なんのために学習しているのかわかりません. 一見, 理解できたように見えても, すぐに頭から蒸発してしまいます. そういう勉強は時間の無駄です. どうしても分からない時. 途方にくれそうな時, なにもしないよりは解答を見て考え方の手がかりを掴んでください. また自力で解答出来た時でも, ここにある解答と比較してみることは勉強になるかも知れません. ところでカリフォルニア大学バークレイ校の先生と思われる方から, 学生がこのページを見て困るから, 解答のページを削除せよといわれました. 表現の自由の国からこういう横槍が入るとは思いませんでした. やむを得ず, パスワードを設定しました.

  • Structure and Interpretation of Computer Programs

    Next: Contents second edition Alan J. Perlis The MIT Press Cambridge, Massachusetts London, England McGraw-Hill Book Company New York St. Louis San Francisco Montreal Toronto Structure and Interpretation of Computer Programs Harold Abelson and Gerald Jay Sussman with Julie Sussman This book is one of a series of texts written by faculty of the Electrical Engineering and Computer Science Depart

  • Welcome to the SICP Web Site

    Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2

  • Emacs Lisp勉強会(基礎編) ― ありえるえりあ

    Emacsをまだインストールしていない人は、インストールしてから、この先を読んでください。 可能な限り、Javaとの対比をしながら説明します。 目次 Emacs Lispとは 開発環境 Emacs Lispの雰囲気(Javaとの比較) 関数型言語 Emacs Lisp;言語の基礎 なんでもオブジェクト シンボル コンスセル(リスト) 関数 その他(連想リスト、ベクタ、ハッシュテーブル) Emacs特有の型(バッファ、マーカ、etc.) 実践 ループ使ったら負け? 変数に代入したら負け? Emacs Lispとは マーケティング要素無しの、「write once, run anywhere」な言語です。 Javaの場合、次の欠点があります。 マシンにインストールされている保証が無い 他人のマシンに勝手にインストールするのは迷惑 Emacs Lispの場合、上の問題がありません。

  • SICP関数型言語の勉強に「計算機プログラムの構造と解釈」を読もう - ひげぽん OSとか作っちゃうかMona-

    計算機プログラムの構造と解釈posted with amazlet on 06.04.15 Gerald Jay Sussman Julie Sussman Harold Abelson 和田 英一 ピアソンエデュケーション (2000/02) 売り上げランキング: 56,404 Amazon.co.jp で詳細を見る 自分が「計算機プログラムの構造と解釈」というを勉強していった過程をまとめています。 この質は、翻訳の悪さでも難しい数学でもないです。 なんと伝えたらよいのだろうか。 全部読み終えたときにまとめたいと思います。 →読み終わったのでまとめました。「「計算機プログラムの構造と解釈(SICP)」を読み終えて」 読み終えたら次のステップとしてはOn Lispなどがおすすめです。 目次 関数型言語の勉強にSICPを読もう - (1) SICPを読み始めた理由 関数型言語の勉強に

    SICP関数型言語の勉強に「計算機プログラムの構造と解釈」を読もう - ひげぽん OSとか作っちゃうかMona-
  • ウノウラボ 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を使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し