LISPUSER日本語処理Lisp isn't a language, it's a building material. Common Lisp における文字列は「文字(Character)」の列だ。C 言語などでは、文字列は実際にはバイト列と等価なので、 この辺は考え方をかえる必要がある。もちろん、内部的には何かのエンコーディングによるバイト列を保持 しているわけだが、I/O や、バイト列との変換には external-format を指定して内部エンコーディングから 目的のエンコーディングへと変換する必要がある。 文字列 (Character の列) ---- external-format ----> バイト列 (unsigned-byte の列) 文字列 (Character の列) <---- external-format ---- バイト列 (unsigned-byte の
Common Lisp における文字列は「文字 (Character)」の列だ。 もしあなたがC言語のように文字列とバイト列の違いが解釈だけ、という思想に馴染んでいるのなら、この辺は考え方をかえる必要がある。 この章では、「文字」と「文字列」、そして日本語を扱う上で避けて通れない「EXTERNAL-FORMAT」を説明する。 また、サンプルとして処理系毎に異なる日本語関連 API をラップするライブラリを作成する。 Common Lisp規格は文字 character と、characterを構成する三種類の文字型、standard-char, base-char, extended-char を定義する。 また、実装が国際化や数学記号なの特定領域のための文字を追加サポートする事も許している。大抵の実装では日本語は character のうちの base-char もしくは extende
Amazon から On Lisp の本も届き、On Lisp Web 版 と合わせて読み進めているのだけど、Common Lisp の知識がある前提で書かれていてつらい。こういうときは仕様書が頼り。Common Lisp の仕様書を探したら Franz Inc Product Documentation に発見。ANSI Specification のリンクをたどると ANSI Common Lisp に行き着く。まとめてダウンロードもできてありがたいんだけど、いかんせん生の HTML だと使い勝手が悪い。ということで、HTML Help(CHM)にしてみましたよっと。Alt-N→関数名→Enter で定義に行き着けて大変幸せ。読書効率があがりました。あとは理解していくだけ…。http://tech.nitoyon.com/misc/ansicl-chm.zip On Lisp作者: ポ
2009年02月16日01:42 by g000001 Re: キーワードシンボルとasdf:oos カテゴリg000001 こんにちは、g000001です。 kzfmさんのエントリにてasdfとrequireについての疑問があったので自分の知っている範囲で答えてみようと思います。 本当はトラックバックしてみたかったのですが、方法が良く分からなかったので通常のエントリで(笑) * 文字列としてのシンボル名 まず、requireのシステム名や、パッケージ名なのですが、 名前として文字列やシンボルを引数にとれます。 これを、CLでは、String_Designatorとよんでいます。 シンボルは、シンボル名を文字列(symbol-name)として保持しているので、文字列としても扱えるというところです。 例えば、string=は、引数としてstring designatorを取りますので (st
$sudo apt-get install cl-asdf $cd /usr/share/common-lisp/source/asdf $sh asdf-install.lisp $./asdf-install この方法ではasdf-installをsbclからしか使えないが ~/.clisprc に以下を追加するとclispからもsbclでinstallしたpackageを使える (setf asdf:*central-registry* '(*default-pathname-defaults* #p"/usr/share/common-lisp/systems/" #p"/usr/lib/sbcl/site-systems/" #p"~/usr/share/common-lisp/systems/") ) ;(push "/usr/lib/sbcl/site-systems/" a
From this post, I will introduce topics on compiling Lisp programs with ECL, Embeddable Common Lisp. ECL is an implementation of Common Lisp, and it is especially powerful on combining lisp programs with C programs. You can embed ECL as a lisp engine in C programs, or call C functions via ffi. In a series of posts, several ways to compile lisp programs and use them from C programs are introduced.
** UPDATE** See http://funcall.posterous.com/ecl-on-iphone-redux for a more up-to-date description of how to get this to work. ** Common Lisp is finally on the iPhone! After waaaaay too much time in C and Makefile world, I have gotten ECL to cross-compile for the ARM processor and iPhone OS. The whole process required some changes to the ECL code itself, the ECL make process, and changes to the
リスト、ハッシュマップ、ベクタ、集合のリテラルがある ;リスト (1 2 3 4) ;ハッシュマップ {:a 1, :b 2, :c 3} ;ベクタ [1 2 3 4] ;集合 #{1 2 3 4} よく使う基本データ型のリテラルがあるというのはソースコードに図が入ってるみたいで考えるよりも早く理解できる。しかもいじりやすい。他の多くの言語でもこれらの基本データ型のリテラルは用意されているが、Clojure ではこれらはとてもよく使う重要なビルディングブロック。 リスト、ハッシュマップ、ベクタ、集合、文字列 をシーケンスとして抽象化 (take 2 '(a b c d)) ;リスト ;=> (a b) (take 2 {:a 1 :b 2 :c 3 :d 4}) ;ハッシュマップ ;=> ([:a 1] [:b 2]) (take 2 [:a :b :c :d]) ;ベクタ ;=> (:a
Ubuntu8.10にEmacsとCommon Lispの開発環境をセットアップする方法をcametanさんに教えてもらったので早速インストール! まず、Emacsのインストール [システム]→[システム管理]→[日本語セットアップヘルパ]を起動し、「emacs-env-ja」にチェックを入れる。(ここに来るまでに何度かOKボタンを押さないといけない。) 次に必要になるパッケージのインストール [システム]→[システム管理]→[Synaptic パッケージ・マネージャ]を開き以下のパッケージにチェックを入れ、「適用」を押してインストール。 SBCL……(Steel Bank Common Lisp:Common Lisp実装) SLIME……(Superior Lisp Interface Mode for Emacs:EmacsとLispの接続ツール) Hyperspec……(ANSI
Nu programming language is an open-source software created in 2007 by Tim Burks, an American software developer who now works for Google on APIs. The creation of Nu came about in the same year as the launch of the first iPhone, and it was working with OS X and iOS that led to the creation of the new language. The success of Apple products has made the 1983 language Objective-C an extremely relevan
安全なマクロ束縛変数の衝突自由変数の衝突S式≠プログラム?議論、コメント 関連: Scheme:マクロ:anaphoric ifの代替, Scheme:マクロの効用, Scheme:マクロの危険 2007/05/15 00:08:13 PDT追記: 黒田さんの再反論と、それに対するコメント:Scheme:マクロ:CommonLispとの比較:意味論。 安全なマクロ MSIの黒田さんの About Schemeより: first class symbol がないということは様々な弊害を引き起こしますが、なかでも深刻なのは、名前の衝突に関して無力な点です。 そうすると、実質 macro が書けない… 例えば以下の arithmetic-if は、いかなる名前とも衝突しない uninterned な名前を var に割当てることで、 どういうコンテクストにおいても動作保証のできるマクロ展開結果を
ClojureはJVM上で動くのだからもしかしたらAndroidアプリも作れるのではないだろうかと思い、いろいろ調べてみた結果とりあえず入り口には到達できたので備忘をかねて公開。 今回は基本的にeclipseとかandroid-modeは使わずにコマンドラインでいくことにした。(というかandroid-mode動かなかった…orz) 以下androidSDKとClojureはインストール済みであることを前提とします。 参考にしたサイトとか書籍 http://developer.android.com/intl/ja/guide/index.html http://riddell.us/tutorial/clojure_android/clojure_android.html あらかじめこのサイトを参考にしてAndroid用のclojure.jarを作成しておく。 『初めてのAndroid』
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く