Common Lisp の解説と小品
CLOSとはCommon Lisp Object Systemの略らしい.OOというのはメソッドというしばしば破壊的な関数がバンバンでてきて,Lispとは相容れない世界かと思っていたのだが,そうではないようだ. クラス定義とインスタンンス化とスロットの参照 メソッド スロット 優先度 総称関数 スロットの継承 補助メソッド オペレータメソッドコンビネーション 総称関数の削除 クラス定義とインスタンンス化とスロットの参照クラスはdefclassで定義する. (defclass クラス名 スーパークラスのリスト スロットのリスト) スロットとは,多くのOOプログラミング言語でスロットと呼ばれているものに該当する.以下は二つのスロットfoo,barをもつhogeというクラスを定義している. > (defclass hoge () (foo bar)) #<STANDARD-CLASS HOGE>
Lispを学んでどうするのか…emacsをカスタマイズしまくることぐらいしか思い浮かばないが,その思想等を学ぶことは何かと役に立つはずだ.というわけで,Emacs LispはおいといてCommon Lispをやってみる. 基本編 データ構造 詳細入門編 基本編 なにはともあれCommon Lispでいろいろな式を書いてみる. 準備 2003-07-20T15:13+09:00 matsu 実行環境についての記述とサンプルのための入出力についての記述. 式と評価 2003-07-20T15:13+09:00 matsu 式の記述方法とその評価. データ 2003-07-20T15:13+09:00 matsu Lispにおけるデータについて概観する. 変数の定義と代入 2003-08-24T22:00+09:00 matsu Lispにおける局所変数,大域変数,大域定数の定義と代入について.
よってらっさい、みてらっさい 人生で大切なことはすべて文字列が教えてくれた 部分文字列を取り出す 文字列を結合する 文字列同士を比較する 任意の比較関数を使って文字列同士を比較する 一度に文字列の各文字を操作する 文字列を逆順にする 文字列を単語単位で逆順にする 様々な方法で文字列を組み立てる 文字から組み立てる 印字可能な表現から組み立てる 様々なオブジェクトから組み立てる 文字列の前後の空白を削除する すべての文字を大文字または小文字にする 各英単語の先頭文字を大文字にする 文字列を整数に変換する 文字列を整数以外の数値に変換する 数値を文字列に変換する ANSI Common Lispでの扱い cl-ppcre 正規表現にマッチする文字列を探す グローバル変数を定義する 概要 文法 実行の順序と戻り値 リストの各要素に対して繰り返し処理を行う 指定した回数だけ繰り返す ループ内でのみ
3.1 OVERVIEW OF LOCKING 用語と概念の整理。 locks, seize, release, busy, free, owner。 Simple lock, Null lock。 3.2 DEFINING THE KINDS OF OBJECTS-CLASSES クラスの設計。lock, simple-lock, null-lock。 用語の整理。built on, is a drect superclass of, is a direct subclass of, basic class basic classを導入するメリット。 (typep obj 'lock)で、チェックできる。 名前付け、を統一特性として全てのロックに付与することができる。 デフォルトの振舞を定義できる。 lockクラス、simple-lockクラス、null-lockクラスを定義。 :doc
Lisp Quickstart Lisp is a deep language with many unusual and powerful features. The goal of this tutorial is not to teach you many of those powerful features: rather it's to teach you just enough of Lisp that you can get up and coding quickly if you have a previous background in a procedural language such as C or Java. Notably this tutorial does not teach macros, CLOS, the condition system, much
Common Lisp による日常作業 CSV ファイルを読む (read-line, read-line-into, simple-stream-read-line とか) 以前のエントリ CSV ファイルを読むコード で、ちょろっと いかにも Scheme なコードなのでループと状態マシンに書き直すとかの高速化の余地がありますね。 今迄ちっこいファイルしか読んでなかったので、ちょっとメモリ使用量が多いなー。 まぁ、Gauche と違って immutable な文字列じゃないんで共有とかできないから効率わるいんじゃろ。 などと目を背けていたのですが、ある程度の規模の CSV を読んだら途端に性能問題が。うがぁ。 簡単に体感できる量だと 20MB 程度のデータを読み書きしてみればわかります。 (use text.csv) (length (call-with-input-file "KEN
This page contains basic and probably outdated information about Weblocks. For more details please visit the new web page. You can also check out our demo application to get a first impression. What is Weblocks? Weblocks is a continuations-based web framework written in Common Lisp. Why another web framework? Weblocks uses powerful Lisp features like multiple dispatch, metaobject protocol, lexical
Japanese / English SC言語は,Common Lispで実装された,S式の(Scheme風の)構文を持つC言語です.たとえば,以下のようなCコード long sum(long *ar, int n){ long s=0; int i=0; do{ if (i >= n) break; s += ar[i++]; } while(1); return s; } を,SCでは, (def (sum ar n) (fn long (ptr long) int) (def s long 0) (def i int 0) (do-while 1 (if (>= i n) (break)) (+= s (aref ar (inc i))) ) (return s) ) と書くことができます. また,拡張SC言語から別のSC言語への「変形規則」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く