タグ

lispに関するk_37toのブックマーク (24)

  • split の研究 - bkブログ

    split の研究 split 関数の挙動が言語ごとに微妙に異なると知人と話題になったので調べてみました。結果はまとめをどうぞ。 Ruby まずはRubyから調べてみます。irb を使って調べました。 % irb ... まずは普通に分割 >> "a,b,c".split(",") => ["a", "b", "c"] 末尾に空要素があると、省略されてしまう >> "a,,c,,".split(",") => ["a", "", "c"] 末尾の空要素を省略しないためには -1 が必要 >> "a,,c,,".split(",", -1) => ["a", "", "c", "", ""] 空文字列だと結果も空 >> "".split(",") => [] -1 をつけても同様 >> "".split(",", -1) => [] 分割パターンを指定しない場合も同様 >> "".split

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

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

  • xyzzy lispのデバッグ用ツールまとめ - himadatanode’s blog

    from http://pc11.2ch.net/test/read.cgi/software/1191681847/617 2chのスレ見てたら知らないデバッグ用拡張が沢山あったので後で試してみるようメモ。 ■シンボルのウォッチ watch.l http://www1.odn.ne.jp/ymtz/watch.html ■プロファイラ profile.l http://homepage3.nifty.com/~ko-ji/#profile 簡単プロファイラ http://www.geocities.jp/kiaswebsite/xyzzy/encap.html ■デバッグ用のxyzzy デバッグ用のxyzzyにアタッチして、ステップ実行 http://raido.sakura.ne.jp/southly/xyzzy/step.html ■関係ないけど 自分の場合も専らprintfデバグし

    xyzzy lispのデバッグ用ツールまとめ - himadatanode’s blog
  • はてなブログ | 無料ブログを作成しよう

    仲春はゆっくりと通り過ぎる 寝て起きたら3月である。今日の東京の最高気温は20度を超えている。正月のインフルエンザが完治して、これでやっと健康で文化的な年度を始められるぞ、と意気込んだのも束の間、今度は原因不明の高熱を出して1週間寝込んだ。 脳がグツグツ煮える音が聴こえそうなほど…

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

    仲春はゆっくりと通り過ぎる 寝て起きたら3月である。今日の東京の最高気温は20度を超えている。正月のインフルエンザが完治して、これでやっと健康で文化的な年度を始められるぞ、と意気込んだのも束の間、今度は原因不明の高熱を出して1週間寝込んだ。 脳がグツグツ煮える音が聴こえそうなほど…

    はてなブログ | 無料ブログを作成しよう
  • Emacs Lisp のダメなところ - あどけない話

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

    Emacs Lisp のダメなところ - あどけない話
  • ウノウラボ 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を使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • GNU Emacs Lisp Reference Manual 3.6 Arithmetic Operations - とりあえず暇だったし何となくはじめたブログ

    Emacs Lisp は, 伝統的な4つの四則演算:加算, 減算, 乗算, 除算を供給します. remainder と modulus 関数は, 除算関数の補完です. 1を加算, または, 減算する関数は, Lisp における伝統で, かつ, よく使われるので, 供給されます. `%' を除くそれらの関数の全ては, 何らかの引数が浮動小数であるならば, 浮動小数点を返します. Emacs Lisp では, 算術関数は, オーバフローをチェックしないことに注意することが重要です. 従って, `(1+ 268435455)' は, あなたのハードウェアに依存して, -268435456 に評価されるでしょう. -- 関数: 1+ number-or-marker この関数は, NUMBER-OR-MARKER 足す 1 を返します. 例えば, (setq foo 4) => 4 (1+ foo

    GNU Emacs Lisp Reference Manual 3.6 Arithmetic Operations - とりあえず暇だったし何となくはじめたブログ
  • Common Lisp の解説と小品

    Common Lisp の解説と小品

  • http://white.s151.xrea.com/wiki/index.php?script%2Fsurround

    k_37to
    k_37to 2007/03/29
    選択系のコマンドを超便利に出来る
  • どう転んでもLisp

    k_37to
    k_37to 2007/02/27
    「かっこかっこ」って言うてる
  • https://www.unixuser.org/~euske/doc/python/python-lisp-j.html

    k_37to
    k_37to 2007/02/14
    おもしろい
  • LISPMEMO

    LISPUSERLISPMEMOLisp is a programmable programming language. -- John Foderaro 各方面で大絶賛の嵐。というより Lisp を叩くのが人気。 Lisp の不人気は相当なものである - http://www.rubyist.net/~matz/20070112.html Lispが大衆受けしない理由は、その表記法の非人間性、あるいは、慣習との齟齬に尽きると感じています。 - http://enbug.tdiary.net/20070118.html#p02 Lisp が敬遠されてる理由って、はっきりいって syntax だと思うなぁ - http://d.hatena.ne.jp/babie/20070118/1169119443 こうして不人気の再生産に入るのか? 追記:1/28 Shiro さんのところに素晴しいエ

    k_37to
    k_37to 2007/01/30
    "Lisp が大人気(ある意味で)"
  • LispUser.net :括弧の理由 (1) -- Emacs による S 式編集支援

    LISPUSERLISPMEMOLisp is like a ball of mud - you can throw anything you want into it, and it's still Lisp. -- Anonymous Lisp の括弧は良くネタにされます。実際、大量の過去は最初のインパクトは強烈だったのを覚えています。 いったいなぜ Lisper は括弧を捨てないのでしょう? 歴史的にみれば括弧を好まない Lisper も居ます。古くは CMU の AI リポジトリに CGOL という ALGOL ライクな 構文の Lisp リーダ/ライタがあり、これは S 式と相互に変換できました。CGOL で書いて、S 式で表示とかができたわけですね。 ;;Execute by typing "cl < demo.txt". (load "parser.cl") (load "c

  • Lisp:よくある正解

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

  • Lisp:よくある誤解と、その中にあるちょっとした真実

    Lispについてのよくある誤解と、その中にあるちょっとした真実 はてなの質問: プログラミング言語で最強(スケーラブル)なのは、 Lispだと思われます。 http://jp.franz.com/index.html しかし、 世間ではマイナー言語のようです。 なぜでしょうか。 についた回答のいくつかには、「Lispを少しだけかじった人がしがちな誤解」が 含まれてるようなので、それをネタに少し解説してみます。 ただ、誤解が生じるのは、やっぱりそれなりの理由があって、従ってその 誤解の中にも(条件つきの)真実が含まれていることがあります。 そのへんまでをも含めて考えてみましょう。以降、引用は回答からです。 Lispはスクリプト言語? 一昔前まで、これらのスクリプト系の言語は「とてつもなく遅い」のが嫌われる最大の要因でしたが、最近のコンピューターの性能向上でようやくRuby,Python,Li

  • Lispが何故使われないか - 数学猫の生活と意見

    原因のほとんどは経路依存性*1とかネットワーク効果*2によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。動的型付け:利点でもあるけど、特有のバグを引き起こす。識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美しくなく感じます。主観ですが。一方でSchemeは言語仕様が弱い。(特にModule機能が標準でない)Proprietaryな実装が中心。CMU LispはStand

  • autoloadが何をしているかを赤裸々に - himadatanode’s blog

    autoloadが何をしているかと言うのを調べたら合点がいくという話だったので早速見てみた。ついでに、自分が適当に読むときに何をしているかも露出プ(ry。公開*1 ■8割り方間違ったlispの読み方を一緒にしてみるツアー まずは、autoloadを調べるのだから、何処に関数が書かれているかチェック。前はこういうときに毎回Grepで検索していたわけだけど、xyzzyにはタグジャンプと言う機能があるので、学習した最近では無駄にそれを使っている。時々調子に乗って飛びすぎて酷いことになるが、それはいいとして、タグジャンプの使い方はxyzzyのWikiとかにあるので任せて、設定してある自分としては*scratch*とかにautoloadと打ち込んで、文字の上でF4キーを押すと勝手に関数の所にジャンプしてくれて楽チンな訳ですよ。で、出てくる関数がこんなの。 (defun autoload (fn fi

    autoloadが何をしているかを赤裸々に - himadatanode’s blog
    k_37to
    k_37to 2006/12/15
    lispの読み方
  • ESCとかのキー割り当てのメモ - himadatanode’s blog

    ESC系は結構いい所のキーがあまっている。のに気づいた。 M-j、M-i、M-.はとてもいい位置のキーなのに割り当てがないような気がする。 M-lはとてもいい位置のキーなのに小文字にすとかいう機能でそこまで使いそうにない。 押す側からしてみると、Altから、メニューを押すのは3段回キーマップと同じだった。多分メニューによるガイド付きキーバインドくらいに考えてもいいような気がする。其れを考えるとESC系のキーは同じキーでもAlt→fとAlt+fは違うキーになる。Altおしてメニューの所に移動している場合はESCでも抜けれるけどAltでも抜けれる。 ■追記 今見たらC-c系も結構押しやすいキーがあまっているなぁと。

    ESCとかのキー割り当てのメモ - himadatanode’s blog
    k_37to
    k_37to 2006/11/03
    「拡張lispを書く人はC-cは使わないのがマナー」らしい
  • ホワット・ア・ワンダフル・ワールド 本当に30日でエディタが出来上がるのかを試してみるBlog

    Author:あろは (alohakun) デバッガ開発者見習い(予定) 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun このページはインラインフレームを使用しています 一日目 とりあえず,張りぼてのメニューを作ってみたよ. #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window, *scrolledwindow, *view, *vbox, *menubar, *filemenu, *fileitem, *openitem; GtkTextBuffer *buffer; gtk_set_locale(); g

    k_37to
    k_37to 2006/11/03
    ヲチしてみる