lisp

リストの総和

http://d.hatena.ne.jp/hiloicoli/20080622/1214151350applyがあるじゃない。 gosh> (define l '(1 2 3)) l gosh> (apply + l) 6 Common Lisp、Emacs Lispでも。 (apply #'+ '(1 2 3)) ; => 6 (#o6, #x6)

配列の先頭要素が「0番目」であることは気持ち悪いか…「N番目」という言葉を考察してみる

JavascriptやPHPの配列や関数などで 配列の最初の要素がary[0]に… - 人力検索はてなC言語、Ruby、Lispなど多くの言語では配列は0起点である。つまり、先頭の要素のインデックスは0である。 なぜそうなっているか‥それは実装上の都合であったり歴史的理由だ…

Lisp系言語のカッコは慣れの問題

Schemeではじめての計算 - Mattari DiaryLispやSchemeは日常使っている中置記法ではないから慣れるまでが大変かも…でも慣れたら普通に読めるので。LispやSchemeは四則演算等他言語だと演算子で提供されるものも関数やマクロであることがポイント。「+」、「-…

SとKしかないLisp

COSAKちょwカオスwww

Gaucheはどう?

http://d.hatena.ne.jp/yorutrain/20080228#1204173606Scheme処理系はいろいろある。作者が日本人のものはGaucheがある。goshコマンドで対話的環境になる。

Schemeやるならまともなエディタを使おう

http://d.hatena.ne.jp/yorutrain/20080226#1204017285Schemeは俺もけっこう好きな言語だ。set!とかはあるけど、雰囲気が正統派の関数型言語という感じで美しい。最近の言語は関数型パラダイムを取り入れているのが多いから、Schemeで学んだことは他のプログ…

Emacs Lispプログラマはガンガン(require 'cl)しろよ

http://dto.freeshell.org/blog/blog-2007-09-07-2323.html「(require 'cl)はやめろ」というのに意を唱えるEmacs Lisp開発者dtoの話。俺も「100%」同意する。ほかにも同意している人がいるようだ。彼が言いたいのはこんなとこ。超要約してますw 「(require …

lispxmp - 敢えて言おう lisp-interaction-mode はカスであると

過激なタイトルだがあまり真に受けないようにwhttp://memo.jj-net.jp/44より。eval-last-sexpフェチ発見。俺も含めてけっこうレアかもしれないな。俺はさらにその考え方を推し進めてeval-last-sexpの評価結果を右横に書き込むようにしている。いわゆるxmpで…

美しい国

$ ruby -Ke -e 'puts "うつくしいくに".split(//).reverse.join' にくいしくつう Common Lispならreverse一発か。 CL-USER> (reverse "うつくしいくに") "にくいしくつう" Gaucheも。 gosh> (use srfi-13) #<undef> gosh> (string-reverse "うつくしいくに") "にく</undef>…

loopのクロージャ

http://read-eval-print.blogspot.com/2007/09/common-lisp-loop-collect.html (mapcar #'funcall (loop for i in '(a b) collect #'(lambda () i))) ;; => (B B) こいつははまってしまいそうだ。やばい。

Text Array Format

d:id:rubikitch:20070831#textarrayformat結局Text Array Formatという名前にした。それを使ってrcodetoolsのテストの保守性を高めた。

複数行テキストデータをひとまとめにするフォーマット

テキスト処理プログラムのメンテナンス性の高いテスト方法について考えていた。そういうプログラムのテストは次のパターンが多い。 入力[複数行テキスト]→処理→出力[複数行テキスト] そういうテストをたくさん書いてひとつのファイルにまとめると、見通しが…

formatってすげええええぇぇぇぇ

久々のLispの話題。 Common Lispのformatミニ言語の凄さに驚愕する。SLIMEで使えるformatのcheat sheetってあるかな?? (format nil "~{~a~^, ~}" '(1 2 3)) ; => "1, 2, 3" Floating numbers (format nil "~$" pi) ; => "3.14" (format nil "~@$" pi) ; =>…

Qiを触ってみる。

http://www.lambdassociates.org/Lisp上で構成された型安全関数型言語。ダウンロードページに名前とか入力を迫られるが、無視してsubmitしてもいい。 Qi9.0.zipをダウンロードして展開。 うわっ、ディレクトリ名にスペースを入れるなんて言語道断な!windoze…

Common Lisp クックブックの和訳

d:id:cl-internより。がんばってください。期待しています^^

flet in Common Lisp / elisp

Common Lispとelispのfletには違いがある。Common Lispだとfletで定義されたローカル関数内に同名の関数があった場合、外側のが参照される。 (defun fact (x) (if (zerop x) 1 (* (fact (1- x)) x))) (flet ((fact (x) (* 2 (fact x)))) ; global fact (fact…

Common Lisp と日本語と文字コード

LISPMEMO 俺がやろうとしていたことをonjoさんがやってくれている! asdf-install経由でインストールできれば幸せになれる人が多いかも。uffi経由でlibcharguessを使えるようcharguess.lispを作ろうとしているが頓挫。とりあえず残骸でも置いておく。誰か拾…

cl-charguessを作ろうとしているが…

libcharguessはlibcharguess.aしか作らないので、無理矢理libcharguess.soを作ってみる。 gcc -shared -o libcharguess.so charguess.o EscSM.o MBCSSM.o GB2312Prober.o Latin1Prober.o SJISProber.o big5Prober.o EUCJPProber.o jpCntx.o MBCSGroupProber.…

boundpはローカル変数を認識しない

http://ja.doukaku.org/35/をCommon Lispで解こうとしたんだが、うまくいかん。HyperSpecに書いてあったけど、letによるローカル変数はboundpで認識しない。 Examples: (setq x 1) => 1 (boundp 'x) => true (makunbound 'x) => X (boundp 'x) => false (let…

「エロと風俗情報満載 どう抜く?」のRuby, Common Lisp, Schemeのカバレッジが100%!

やったーw Common Lispの難関「http://ja.doukaku.org/24/」はonjoさんがやっつけてくれた!さすが〜 後で自分も挑戦してみよう。

onjoさんとメッセ

MSNメッセンジャーにいたので久々に話せた^^当然Lispの話題ばかり。おかげで日本語の問題も解決したし、どうもありがとう。

cl-curlでhttp://www.yahoo.co.jpをGETできない!?

これまでの調査でsbclはiso-2022-jpをサポートしていないことがわかった。しかし、EUC-JPで書かれたyahoo.co.jpでエラーになるのが解せない。 (in-package :curl-get) (defun curl-get (url) (with-connection-returning-string () (set-option :url url) (p…

久々にPractical Common Lispの読書

Practical: A Portable Pathname Library エロと風俗情報満載 どう抜く?にハマってしまったため、久々にPractical Common Lispの読書。だいぶブランクができてしまった。Common Lisp処理系依存をいかに吸収するかという話。例としてpathnameライブラリ。Com…

んー

あ、iso-2022-jpは7bitだから文字列で表現できるんだな。Google グループによるとCommon Lisp標準のcharsetは以下の文字で構成されるから。 SP ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U…

Common Lispで文字コード変換したい

utf8, euc-jp, sjis, jis間の変換は日本人Lisperの間ではFAQだと思うけど、資料が見当らない(涙) nkf.lispやkconv.lispをぐぐっても見付からない(涙)まてよ、sbclでは無理でもclispなら大丈夫じゃね?external-formatで。

character-sets.lisp

SBCLでiso-2022-jpを対応できないものか‥と書いていたら、あらゆるcharsetを扱うポータブルなライブラリを発見した。あとで試す。 ~/lisp $ darcs get http://darcs.informatimago.com/local/darcs/public/lisp pjb (LOAD "PACKAGES:NET;SOURCEFORGE;CCLAN;A…

Common Lispと文字コード問題

letter: Common Lisp iconv あ、お返事ありがとう^^*1 「文字列→文字列で文字コード変換きるやつないのかな。」ということですが、処理系がその文字コードをサポートしていないと vector を文字列に変換でいないので す。あれ? 違ったかな? Slime がだめ…

今日はどうかく?orgの日だな

エロと風俗情報満載 どう抜く?今日だけで事実上4題もお題が出たのか。Ruby、Common Lispと書きやすい言語から片付けていき、Scheme、elisp、Luaなども書いた。

SLIME/CLISP, SLIME/CMUCLサポート

最初に作ったバージョンは自分が使っているSBCLのみしかサポートしていなかったので、ついでにサポート。以下からもってけ!http://www.emacswiki.org/cgi-bin/wiki/download/usage-memo.el

SLIMEでパッケージのドキュメントを見る

defpackageにもdocstringが書けるのになんでSLIMEで見られないんだろう、見落しかな? ;;; slime-ext.lisp (in-package :swank) (defslimefun describe-package (package-name) (with-buffer-syntax () (format nil "~a~%~%~a" (format nil "# (slime-apropo…