hpprc/jawiki-books-paragraphs huggingface dataset:
Lisp/基本からさらに一歩進んで/数値/Example 1
問題: 複素数と、函数の唯一の根を含む正方形の面積によって定義された函数 f が与えられる。この場合の根(ルート、√)を求めよ。
この函数 1/f(x) のために留数定理を使います。まずは正方形上の経路積分をできるようになる必要があります。
main loop は拡張された loop 構文でもっと簡潔にすることが出来ます。上記の関数は非常に手続き型として自然です。 C言語 のようなプログラミング言語でも同様のアルゴリズムを使うことができるでしょう。それでも、 Lisp は組み込みの複素数のサポートがあり、 C言語 の switch とは違い、返り値を返す case 文もあるために、ちょっとした利点があるのです。
float 関数は割り算の結果を小数型に変換するということに注意してください。こうしなければ、 Lisp は分数で計算を行い、結果が見栄えのいいものになりません。(1000桁の分母を持つ分数の見栄えがいいと思うのでなければですが。)この関数を Lisp で読み込むとすぐに試してみることが出来ます。
これには、 2πi が結果になると予想する理屈が関連しています。
ここで、留数定理の推論によれば、 0 でない面積の線積分を行う限りにおいて、その面積には極がある、ということになります。ここで私たちが求める物を提供してくれる先ほど定義した関数の一つ上の階層のシンプルな関数を書くとこうなります。
この返り値は、次の関数の再帰を終了する場合に役に立ちます。次の関数では正方形を四つの正方形に分け、この課題を終えるために相互再帰を使用します。
これは、関数型プログラミングがいかにコードの行数を節約できるかという実例になります。ここでは小さな補助関数を定義します。これは、そのレキシカル環境のために f, start, h そして precision の値がわかっているので、この関数に渡すのは正方形の右上の角の座標だけでいいのです。また、 or マクロの機能が余分な分岐を省いてくれます。しかし、 check-pole と find-pole が違った状況で何を返すのか、返り値が制御構造にどのような影響を及ぼすのかを苦労して理解するのはいい練習になるでしょう。
最後に、函数 f の根を見つけるために、 1/f の極を見つけなければなりません。これは非常に簡単に出来ます。
では試してみましょう。函数 f(x)=x2+2 は ±sqrt(2)*i という二つの複素数の根を持っています。ここまで定義したプログラムが上部の根を見つけられるか見てみましょう。
正しい答えを返しているみたいですね。
X86アセンブラ/x86チップセット
チップセットは、プロセッサーのアーキテクチャに基づいて設計された集積回路のセットです。
プロセッサーとマザーボード上の資源;メモリー、拡張カード、USBポート、マウス、キーボードなど、ボード上の他のコンポーネントとの通信の橋渡しをする役割を果たします。
かつてマザーボードには、ノースブリッジとサウスブリッジと呼ばれる2つのチップセットが搭載されているましたが、近年、プロセッサーに集積されことが多くなり、プロセッサーとメモリそれにバッファなどでコンピュータシステムが完結する SoC(system-on-chip)化が進んでいます。
水先人試験
メインページ > 技術 > 水先人試験
メインページ > 試験 > 資格試験 > 水先人試験
船舶を安全に誘導するのに必要な水先免許を三級海技士 (航海)または上位免許を取得し登録水先人養成施設の課程を受講して当該級の水先試験に合格して取得する試験である。
液化石油ガス設備士試験
試験概要

液化石油ガス設備士試験は一般家庭用等のLPガス供給設備・設置工事を行う際に必要な液化石油ガス設備士を取得するために必要な試験である。筆記試験と技能試験がある。受験資格に制限はありません。
エネルギー管理士試験
試験概要

エネルギー管理士試験は工場などのエネルギーの監視などを行う際に必要なエネルギー管理士を取得するために必要な試験である。筆記試験のみである。受験資格に制限はありません。
採石業務管理者試験
試験概要

採石業務管理者試験は採石を行う際の災害防止をするために必要な採石業務管理者を取得するために必要な試験である。筆記試験のみである。受験資格に制限はありません。
砂利採取業務主任者試験
試験概要

砂利採取業務主任者試験は砂利の採取を行う際の災害防止をするために必要な砂利採取業務主任者を取得するために必要な試験である。筆記試験のみである。受験資格に制限はありません。
建築士試験
試験概要

建築士試験は一級、二級、木造の3種類からなり、それぞれ設計する建築物によって分かれます。受験資格にはそれぞれ制限がある。筆記試験と技能試験がある。また、一級は試験実施権者が国土交通大臣、二級、木造は試験実施権者が都道府県知事となっています。
試験対策

一級、二級、木造については
Wikijunior:日本の昔ばなし
外国の むかしばなし については つぎの「Wikijunior:外国の昔ばなし」をクリックしてください。
Wikijunior:偉人伝
『小学校社会 6学年 歴史の人物事典』でも日本の偉人を習います。
こちらのページ(Wikijunior:偉人伝)では、低学年の子供でも読めるように書いてください。
宅地建物取引業法第4条
法学>コンメンタール>宅地建物取引業法
条文

(免許の申請)
宅地建物取引業法第3条
法学>コンメンタール>宅地建物取引業法
条文

(免許)
Lisp/基本からさらに一歩進んで/ファイルとディレクトリ/C struct
概要

C言語や C++ などで作成された 構造体 を処理するには、バッファーに構造体をロードして、それぞれのフィールドを抽出することが必要になります。同様に、そのような構造体を送信する場合も、バッファーの作成を伴うことになります。
概要

Lisp では文字列や文字を扱うときにいくつかのタイプの変換が必要となります。
概要

C構造体とデータをやり取りするための、ここでの好ましいやり方は '(unsigned-byte 8) を使用することです。
概要

一方で、文字の配列は C言語 のような他の言語や、あるいは事実上の初期設定である ASCII文字コード の利用を許可することでより簡単になるでしょうが、これは ANSI Common Lisp では間違ったやり方です。
概要

ANSI の特徴は文字が ASCII や ISO-8859-1 や似たような文字コードを含むことを保証しないことです。実際、 ANSI では、たとえ最新の実装が Unicode をサポートしようが、文字コード 96 しか保証しません。
概要

同様に、ファイルとディレクトリについての助言ですが、読み書きは単純に符号なしバイトのベクトルで行うのが良いでしょう。
概要

Lisp プログラムでは、実際の文字列を用いるか、読み込んだ後に必要なときにだけ変換する文字を用いる必要があるでしょう。
概要

配列に fill-pointer を使用することは任意ですが、受け取った実際の長さは読み込もうとしたものとは違うでしょうから、それまでの手順を役立てるためには推奨します。
概要

'(unsigned-bytte 8) の要素のベクトルを処理するとき、 C構造体の同様のそれぞれのフィールドを、必要に応じてバイトオフセットに基づいたものに変換します。(make-arrayで作成されたものですが、実際に配列ではなくベクトルだということに注意してください。この区別は、1次元だけの配列かどうかによります。)
概要

文字列 を生のバイトから抜き出す。
概要

一つのバイトだけを取り出す。
概要

当然、上の二つの例でも、結果の値を代入したくなることがあるでしょう。
概要

話は変わりますが、生のバイトのバッファーに代入するには以下のようにします。
概要

代入するものを保護することは重要なことです。logandのようなビットマスクがこのような場合に役立ちます。
概要

1バイト以上のもののためには、 sequence2 を挿入することで subsequence1 の部分集合となります。以下のように使うことができます。
概要

あるいは以下の例も参考になるでしょう。
概要

下で作成する補助関数も作成されたものから中間ベクトルを回避します。
概要

他の言語から時間の値を変換するときは、一つのオペレーティングシステムを使用していても、エポックタイム(意味的には 0 の値)が異なるかもしれないことに気をつけましょう。 ANSI Common Lisp ではUTCの1900年1月1日の真夜中午前0時が 値0 になるのに対して、 Unix や他の多くの C言語 ライブラリでは1970年の1月1日を 値0 としています。この二つを変換するのは単純な計算になります。
OpenSCAD User Manual/STL ファイルのインポートとエクスポート
テンプレート:Incomplete
OpenSCAD のモデリングに用いる STL ファイルをインポートする。
引数
OpenCSGで正しくレンダリングするためだけに必要であり、最終的なレンダリング結果には影響をおよぼさない。
例:
(Windows ではパス名中のバックスラッシュはバックスラッシュでエスケープする必要がある)。
上図は2次元のconvexityが4である例である。赤線は図形と最大4回交差する。 3次元オブジェクトのconvexityも同様に計算される。 大抵のオブジェクトでは、10とすれば十分である。
最新バージョンの OpenSCAD では、import() は2次元のDXFファイル (押し出しのため) および3次元のSTLファイル (オブジェクト) の双方をインポートするために用いられる。
インポートしたSTFファイルを後でレンダリングするために、STL ファイルは "クリーン" な状態でなければならない。 メッシュは manifold (訳注: 閉じた面で囲まれた状態) であり、穴があったり自己交差していてはいけない。 もし STLファイルがクリーンでない場合、下記のようなエラーが出る。
あるいは
STLファイルをクリーンにするために、下記のような方法がある:
- http://wiki.netfabb.com/Semi-Automatic_Repair_Options の方法を用いる。穴は埋められるが自己交差は削除できない。
- netfabb basic を用いる。このフリーソフトは穴を埋めるオプションも自己交差の削除もできない。
- MeshLab を用いる。このフリーソフトはすべての問題を解決できる。
MeshLab を用いる場合:
- メニュー『Render』→『Show non Manif Edges』を選択する、かつ・または
- メニュー『Render』→ 『Show non Manif Vertices』を選択する。
- もしこれらを用いて、manifoldでない辺や点が見つかったら、メニュー『Filters』→『Selection』→『Select non Manifold Edges』または『Select non Manifold Vertices』 を選択し、『Apply』で実行、『Close』で閉じる。 次に『'Delete the current set of selected vertices...'』ボタンを押す。 Youtubeに http://www.youtube.com/watch?v=oDx0Tgy0UHo この方法の動画がある。 このようにすると "0 non manifold edges"、"0 non manifold vertices" と表示される。
次に、『'Fill Hole'』ボタンを押し、すべての穴を選択し『Accept』ボタンを押す。 以上の操作は複数回繰り返す必要があるかもしれない。
その後、メニュー『File』→『Export Mesh』でSTL形式でセーブする。
<DEPRECATED.. Use the command import instead..>
Imports an STL file for use in the current OpenSCAD model
Parameters
Usage examples:
中学受験ガイド
ここでは中学受験について、大まかな解説や、入試前後の過ごし方の説明をします。 小学生のみなさんは、お父さん・お母さんたち保護者のかた、学校や塾の先生と読まれることをおすすめします。
受験勉強ノウハウ
受験制度など
農地法第1条
法学>民事法>コンメンタール農地法
条文

(目的)
農地法第2条の2
法学>民事法>コンメンタール農地法
条文

(農地について権利を有する者の責務)
Lisp/基本からさらに一歩進んで/パッケージ
パッケージは Common Lisp における名前空間を分割する機能です。パッケージはパッケージの関数、マクロ、そして変数定義を他のシステムからの区別を可能にします。これにより名前衝突、つまり別々の人が違うものに同じ名前を使用して生じる、いくつもの問題を減らします。
シンボルは出力書式の PACKAGE-NAME::SYMBOL-NAME を持っています。しかし、もし PACKAGE-NAME のパッケージを使用していると、出力は SYMBOM-NAME を吐き出すだけです。動的変数 *PACKAGE* は常に現在使用しているパッケージを示します。パッケージの名前が ‘::’の記法で表示されているのでなければ、インターンされたとき、シンボルは *PACKAGE* の名前のパッケージにインターンされます。
パッケージは DEFPACKAGE で定義されます。パッケージでは PACKAGE-NAME:SYMBOL-NAME で命名された、言い換えれば一つの‘:’記号で命名されたようなケースの、パッケージのどのシンボルでも EXPORT してもかまいません。パッケージは他のパッケージからシンボルを IMPORT してもかまいません。もし、インポートされたシンボルが、すでにそのパッケージでインターンされた別のシンボルと同じ名前を持っていた場合、エラーが生じます。そこで一つのシンボルを選択しなければならなくなります。 USE-PACKAGE はパッケージから API を一つ選択してインポートするのに役立ちます。パッケージがエクスポートするシンボルと、パッケージが使用しているパッケージは DEFPACKAGE によって明示されます。
Example: パッケージの中の全てのシンボルのリスト

Common Lisp ではパッケージのマクロを繰り返し処理するいくつものマクロが用意されています。最も関心を引くのは DO-SYMBOLS and DO-EXTERNAL-SYMBOLS です。 DO-SYMBOLS はパッケージの利用可能なシンボルをたどります。 DO-EXTERNAL-SYMBOLS は外部シンボルだけをたどります。(外部シンボルは実際のパッケージAPIとして見ることが出来ます)
Example: パッケージの中の全てのシンボルのリスト

たとえば "PACKAGE" という名前のパッケージのエクスポートされた全てのシンボルを出力するには、以下のように書くことが出来ます。
Example: パッケージの中の全てのシンボルのリスト

これらの全てのシンボルを list にまとめることもできます。
Example: パッケージの中の全てのシンボルのリスト

あるいは LOOP を使用しても記述することができます。
Example: パッケージの中の全てのシンボルのリスト

Copyright © 2002-2007 The Common Lisp Cookbook Project http://cl-cookbook.sourceforge.net/
Lisp/基本からさらに一歩進んで/CLOS
Common Lisp Object System (CLOS) は Common Lisp のプログラムで使用することのできるオブジェクト指向のプログラミングテクニックの一機能です。 CLOS では オブジェクト, クラス, メソッド といった概念とそれらの相互作用について定義されています。 CLOS ではどんなプログラミング言語よりも強力なオブジェクトシステムが利用可能です。ですが、 CLOS に特有の側面について習熟するには時間がかかるでしょう。幸いなことに、 CLOS を使うのに CLOS の専門家になる必要はありません。
CLOS に関する2つの概念で クラス群 と ジェネリック関数 というのがあります。では最初の一つから見ていきましょう。
クラス群とメソッド

クラスは構造の記述と、その インスタンス(実体) の振る舞いを示した "雛形" です。 Lisp での全ての種類のデータは何かのクラスのインスタンスです。例えば、数値のクラスや文字列のクラスのような組み込みクラスがあります。class-of 関数を使うことで、 Lisp オブジェクトのクラスを判別することが出来ます。
クラス群とメソッド

実際に表示されている結果はあなたの使用している実装環境によって違うかもしれませんが、しかし考え方は同じです。#< >は unreadable data のための Lisp の構文です(unreadable とは人間が読めないことを意味するのではなく、 Lisp リーダーが読み込めないということを意味します)。 5 が組み込みクラス integer のインスタンスであること、 "aaaa" が組み込みクラス string のインスタンスであることが容易に理解できます。
クラス群とメソッド

組み込みクラスは普通はあまり興味を引くものではないでしょうが、ユーザー定義のクラスを作成する方法もあります。ユーザー定義のクラスの作成は defclass マクロで行うことが出来ます。ユーザー定義クラスのそれぞれのインスタンスは、様々な Lisp のデータを含むことができるいくつもの slots を保持します。 defclass の典型的な使い方を見てみましょう。
クラス群とメソッド

これは以下のような構造を持ちます。
クラス群とメソッド

今はスーパークラスについては無視します。とりあえずは代わりにスロットについて見ていきましょう。それぞれのスロットには名前といくつものオプションが付属しています。オプションは以下のようなものです。
クラス群とメソッド

全てのオプションは完全に任意ですが、しかし少なくとも一つの :initarg か、あるいは :initform はオブジェクトが作成されたときにスロットの初期化が可能なように、与えられなければなりません。失敗するとランタイムエラーを返します。
クラス群とメソッド

クラスのオプションとして、唯一便利なのが :documentation です。これは全てのクラスに文書文字列を提供します。
クラス群とメソッド

ではもうクラスのことがわかったので、クラスのインスタンスが作れるはずです。 Lisp の全てはオブジェクトです。しかし上記の defclass で定義されたような一般クラスのインスタンスは、標準オブジェクトと呼ばれます。この項の残りのワードオブジェクトは標準オブジェクトのことです。
クラス群とメソッド

新しいオブジェクトを作るにはどうしたらいいのでしょうか? make-instance 関数がこの要求に沿ったものになります。
クラス群とメソッド

これでシンボル *my-book* の値はクラス book のオブジェクトとなりました。 make-instance の最初の引数は、それが class-of で呼び出した結果のように、クラスそのものかどうか、あるいは、そのシンボルがシンボルをクオートした結果のように、それがクラスの名前かどうかを評価します。このケースではシンボルを使用しましたが、これがオブジェクトを作成するにはより簡単です。
クラス群とメソッド

ではシンボル *my-book* を見てみましょう。
クラス群とメソッド

この wikibooks は今はまだ面白みに書けますね。このオブジェクトのフィールドはデフォルトクラスの値にセットされますが、これを変更するのは簡単です。
クラス群とメソッド

これは適切なアクセサ関数がクラス定義で用意されるからなのですが、一般的なケースでのオブジェクトのスロットへのアクセスはいくぶん難しくなっています。例えば、もし読み込み関数だけが定義されていて、まだスロットの変更が可能な場合は slot-value 関数を使います。
クラス群とメソッド

同様に読み込み関数を捨てて slot-value 関数でスロットの値を読むこともできますが、しかし、これはコードの可読性を減らすことになるでしょう。
クラス群とメソッド

ほとんどの場合は作成したオブジェクトの全てのスロットにデフォルトの値を設定して欲しくはないでしょう。例えば、特定の本を表すオブジェクトを作成したかったとします。あなたは既にその本のタイトル、著者、そして出版年を知っていて、新しいオブジェクトを役に立たない空の値ではなく、これらの値で初期化したいとします。もしスロット定義で指定された :initarg オプションがあるのなら、そのスロットはオブジェクトの作成の際にユーザー指定の値に初期化することが出来ます。これは make-instance に同様のキーワード引数を与えることで可能になります。
クラス群とメソッド

book のスロットのデフォルトの値はほとんど役に立たないので、( 0 年という年はありませんし、空のタイトルの本もありません。) :initform スロットオプションは削除されなければなりません。それでスロットの初期値を入れ忘れたユーザーはエラーをもらうことになり、ユーザーが次にスロットを作成するときには必要な情報をスロットに与えることでエラーを修正しようとするでしょう。変更をしたくないスロットに :reader 関数だけを与えるのも賢いやり方です(今回の book クラスでは全てがこの「変更したくない」ケースに当たりますね。)。短く言えば、これらのオプションを単体で付与するのは親切な設計にもなりうるということです。
実用新案法第10条の2
実用新案法第10条の2
実用新案登録出願の審査について規定していた。
条文

なし
条文

(実用新案登録出願の審査)
条文

第10条の2 実用新案登録出願の審査は、その実用新案登録出願についての出願審査の請求をまつて行なう。
実用新案法第10条の3
実用新案法第10条の3
実用新案登録出願の審査の請求について規定していた。
条文

なし
条文

(出願審査の請求)
条文

第10条の3 実用新案登録出願があつたときは、何人も、その日から4年以内に、特許庁長官にその実用新案登録出願について出願審査の請求をすることができる。
条文

2 特許法第48条の3第2項から第4項まで(出願審査の請求)の規定は、前項の出願審査の請求に準用する。
解説

出願審査請求期間が原則4年であることを除けば特許法と同じである。なお、特許法における期間徒過についての救済措置は本条削除後に追加されたものである。
改正履歴

この節は書きかけです。この節を編集してくれる方を心からお待ちしています。
Lisp/基本からさらに一歩進んで/CLOS/Example 1
映画の字幕を含んでいる .src フォーマットのファイルを持っているとしましょう。例えば以下のようなものです。
しかしこの字幕はあまりうまくありません。なぜならあなたの持っている映画の版では何かの理由で映画の最初に 10.532 秒の静止時間が含まれるからです。全ての字幕の表示時間を手作業で変えるのは不可能です。しかも、表示時間を変更するための道具もありません。ということで Common Lisp (かあるいは他の何か) のスクリプトをコーディングします。では始めましょう。
display メソッドは srt-time オブジェクトの本文の表示を返します。 normalize は補助関数で、スロットの全ての "オーバーフロー" を修正します。(60秒以上になったりすることがないようにです。) make-srt-time は make-instance を囲むラッパーで srt-time オブジェクトの作成を容易にします。
ここで、時間を加算するための二つのメソッドを追加しました。
時間を加算する二番目の方法を追加したのは、よくないように見えるかもしれません。しかし、加算で呼び出される全ての関数は第二引数に srt-time の代わりに数値を渡していることを考慮してください。後で見るように、この関数的拡張はプログラムの上方のレイヤに伝播し、これはユーザーに呼び出されることを意図した関数も含まれます。
では我々の課題の二番目の部分を考えてみましょう。テキスト文字列を与えられ、我々はタイムスタンプのインスタンスを修正されたタイムスタンプに交換しなければなりません。幸いなことに、 CL-PPCRE ではまさにそれが可能になっています。われわれには適当な正規表現が必要です。正規表現はこの wikibooks の範囲ではありませんが、正規表現にあまり親しんでない場合は、正規表現の概念を学ぶことが出来る良いサイトがたくさんあるので参照してみてください。ここではただこのケースに合う正規表現を記すにとどめます。: "([0-9]{2,}):([0-9]{2}):([0-9]{2}),([0-9]{3})" これは例えば 00:00:44,132 のような特定のタイムスタンプに一致するか判定しようとするものです。 "(" と ")" の間にある正規表現の部分にマッチしたものが CL-PRCRE に記憶されるということに注意してください。これを活用することになります。では正規表現に一致する scanner を生成します。
この scanner は実際にコンパイルされた関数ですが、意図した働きをしているのなら、実装の詳細を知る必要はありません。次のステップでは scanner で文字列の部分文字列を検索し、入れ替えるために使います。
この関数は任意の文字列をと任意の関数を引数に取り、この関数を使用し、 scanner の *find-time* が文字列で見つけた全てのタイムスタンプを変換します。では modify-times に適切な関数を与える関数を書きましょう。
それほど面白くはなかったですか?まだユーザーがどれだけの時間を加算したいのかわからないので、ランタイムに必要となる関数を作成しました。 regex-replace-all は adder を5つの引数と共に呼び出します。最初の引数の match は全体一致のためのもので、今回の我々には必要ありません。今回必要なのは部分一致です。(括弧で囲まれた部分です。)それらは時、分、秒、そしてミリセカンドと一致するものです。これらを文字列から数値に変換するのが parse-integer です。それで、 srt-time オブジェクトはこれらの数値から作られ、 delta がこの数値に加算されます。(delta は sort-time か数値、どちらでも可能だということに注意してください。知らないなら知らないでかまわないことでもありますが。)そして、 display メソッドを使用することで結果が文字列に返還されます。これこそが CL-PRCRE がこの関数から必要としていたもので、もうここで CL-PRCRE について忘れて、他の事に集中してもかまいません。
次の関数の mapline はファイルを複数の行に切り分けます。これらの切り分けられた行に関数を与え、それらの行を出力ファイルに出力します。
with-open-file はお嫌いですか?簡潔で格好の良いコードです。
さていよいよ、最後の関数です。 mapline と modify-times の力を掛け合わせます。
最後となりますが、どうしてこの example が CLOS の説明に配置されているのでしょうか?それは、どうして CLOS が優れているかを示すためです。 CLOS を使用することであなたのプログラムを大規模に実現可能なものにします。それでは、最後に練習として、少数秒だけ遅らせることが出来る機能を追加したいとします。この課題に合うような add メソッドを書いてみましょう。
Lisp/基本からさらに一歩進んで/Condition System
Common Lisp は非常に発達したコンディションシステムを備えています。このコンディションシステムでは、例外的状態、あるいは、プログラマに定義されたプログラムの通常の処理から外れた状況の処理を可能とします。例外的状況の一般的な例は例えばエラーです。しかし Common Lisp のコンディションシステムではエラーハンドリング以上のものを含んでいます。
コンディションシステムは3つの部分に分けることが出来、その3つは通知、あるいは連絡コンディション、ハンドラーコンディション、そして備えられているそれらのコンディションからの回復方法です。ほとんど全ての最近のプログラミング言語では、最初の二つのプロトコルは提供されています。しかし最後のものを提供しているものはほとんどありません。(あるいは最後の2つは区別されます。)この最後のプロトコルが再起動か、あるいはプログラムの回復の手段を準備します。これは Common Lisp のコンディションハンドリングの最も重要な側面のうちの一つです。
再起動

再起動は例外的な状態から復帰するための手段です。例外的状況はしばしばエラーとしてですが、いつでも起こります。もし REPL でこの本に沿って操作していたのなら、間違いなく少なくとも一回はデバッガセッションに陥ったはずです。デバッガは重大な状態が起こったときや、 Lisp システムがほかに頼る人もいないので、あなたに何をすべきか尋ねるために呼び出されます。デバッガはその状況から回復するためのいくつかの選択肢のリストを与えてくれます。これらの選択肢が複数の種類の再起動で、しばしばデバッガの提供する再起動だけが REPL のトップレベルに戻るものですが、時には実行をそのまま続けたり、あるいは計算を再試行したりするのも可能となります。加えて、そのほかの再起動をあなた自身で定義することも出来ます。
再起動

例えば、ファイルからデータを読み込もうとしているとします。そこには相当数の間違いを犯しえます。例えば、ファイルそのものが存在しないかもしれません。あるいはあなたはファイルの読み込みのために十分な権限を持っていないかもしれません。あるいはファイルの中身のデータが破損しているかもしれません。これらの出来事はしばしば例外状況として考えられるものです。そしてそれぞれの状況にはいくつもの方法で対処しえます。ファイルが存在しない、と言うケースでは、他のファイルの名前を指定したくなるでしょうし、ファイルの読み込みのための十分な権限がない場合では、他のファイルの名前を指定するか、読み込み可能なようにファイルの権限を変更したいと考えるでしょう。データが破損しているケースでは、新しいファイルの名前を指定したくなるか、破損したデータを意味のある方法で処理したくなるでしょう。あるいはファイルの修復と再読み込みさえ試みるかもしれません。
再起動

再起動を利用する際のあなたの役目は、利用可能な復帰メカニズムとコンディションシステムの再起動の適切さを確認することです。例題を充実させるために、あなたは何行ものデータが入ったファイルを読んでいるとしましょう。それぞれの行にはスペースで区切られた (x, y) 座標の list が含まれているとします。例えばそのファイルは以下のようなものになるでしょう。
再起動

まずは、このファイルを読みこむ関数を書き出してみましょう。以下のようなものです。
再起動

では次に、関数でファイルを呼び出したときにファイルがなかった場合にどうなるかを見てみましょう(この例では SBCL を使用しています。)
再起動

SBCL がエラーを吐き出すのを見てみました。処理系はこの後どうすればいいかわからないため、ユーザーにどうするかを尋ねています。最初のものは再起動の手段のリストです。 RETRY, ABORT, そして TERMINATE-THREAD です。もしこのあと does-not-exist.data というファイルを作成したら RETRY で再起動するのが良いでしょう。もしファイルが存在していても権限のためファイルが読めない、というのでしたら、ほとんど同じ結果ですが、 "Again" というメッセージの代わりに "Permission denied" というエラーメッセージを受け取るでしょう。ファイルを修正し、 RETRY で再起動を行うことが出来ます。
再起動

ユーザーが間違ったファイル名を入力することもあるかもしれませんから、そうした場合に読み込みのためにファイルが開けないのは賢明なことです。こうした点を考慮して、開こうとするファイルの名前を変更して再起動する方法を提供するようにしてみましょう。これは restart-case フォームかあるいは、より一般的な restart-bind で実現できます。
再起動

このようにファイルが読み込めないときのためにデバッガを入れると TRY-DIFFERENT-FILE という特別なオプションを得ることになります。
再起動

restart-case フォームは最初の引数を再起動が有効な環境で実行します。これは TRY-DIFFERENT-FILE のような特別な再起動が最初のフォームの実行時にはいつでも呼び出せることを意味します。今回の例ではフォームの実行時にデバッガが呼び出されます。これは再起動がとりうる動作のリストに含まれているということです。
コンディション

コンディションは、プログラマがメインプログラムの流れの制御をしたくない状況の説明に利用されます。上の小さな例題ではコンディションを定義はしませんでしたが、コンディションは示されています。このコンディションはファイルを開こうとして出来なかったときに立ち上がるエラーのことです。このエラーは sb-int:simple-file-error という型で Lisp システムに組み込まれているものです。
コンディション

あなた自身が自分のコンディションを define-condition マクロによって定義することが出来ます。 define-condition マクロは defclass マクロと非常によく似ています。
ハンドラー

ハンドラーはコンディションを再起動する試みのシンプルな目的にかなうものです。これはつまり、もしそのコンディションが起動すると、特定の再起動が自動的に選ばれ、我々がデバッガにダンプ出力せずに、再起動が呼び出されるということを意味します。
ハンドラー

ハンドラーのインスタンスを生成するフォームは handler-case と、より一般的な handler-bind です。
ありふれたエラーハンドリング

Common Lisp では、ほとんどのほかの言語にも見られるような挙動を真似して作られたエラーハンドリングメカニズムのセットを提供しています。
Lisp/ANSI Common Lisp のその先
ほとんどの処理系にある、特定の処理系に依存する特質は、 ANSI Common Lisp 標準のものではありません。
そのためそれらの組み込みに共通したインターフェイスはありません。それぞれの実装でインターフェイスは異なります。これをユーザーにとってより簡単にしようと、しばしば互換パッケージが標準インターフェイスを提供するために維持管理されています。
Lisp/ANSI Common Lisp のその先/User Control of GC
Common Lisp の仕様書ではガーベージコレクション(Garbage Collection)についてはほんの少ししか触れられていません。 GC はユーザーが GC について気にせずにすむように、伝統的にブラックボックスとして扱われてきました。しかし、ガーベージコレクションやメモリ管理についてほんの少し操作を出来た方が便利なときもあります。ほとんど全ての Common Lisp の実装では GC というガーベージコレクションのプロセスを始める関数があります。 GC は非常に標準的なものですが、そのほかの特徴、例えば弱いポインタ、弱いハッシュ、オブジェクトの完結については一応あるにはしても、標準的なインターフェイスを持っているとは言いがたいです。ここでは互換性レイヤの trivial-garbage を標準的なインターフェイスの提供のために使用していきます。
オブジェクトの完結

GC がオブジェクトを回収するとき、その空間はただ除去されます。しかし、いくつかの状況では、ガーベージコレクターがデータを回収するときに処理が行われるのは役に立ちます。オブジェクトの完結(クラスの完結とは混同しないでください)はそのような処理の調整を可能にします。
オブジェクトの完結

例えば、あなたが外部メモリの配分をしているときにオブジェクトの完結を使いたくなるかもしれません。(メモリはガーベージコレクタのコントロール下にはありません。)オブジェクトの完結はそのようなメモリをガーベージコレクタのコントロール下に置くものです。
オブジェクトの完結

ここでは Lisp オブジェクトにある外部ポインタを包み込み、オブジェクトの完結のための処理をセットします。オブジェクトの完結の処理はメモリを解放し、メモリのリークを取り除きます。
X Window Programming/CLX
CLS は標準的な X Window システムのプロトコルで、 Common Lisp のためのクライアントライブラリです。全てのコマンドを xlib: かあるいは (in-package :xlib) で xlib をカレントパッケージにすることで始める事ができます。
X display との接続

X システムとインターフェイスで接続できるようにするには、最初にサーバーに接続しなくてはなりません。
X display との接続

あるいは、ホストネームを入力して、あなた自身の番号を表示することも出来ます(ホストネームが空文字列だとデフォルトであなたの localhost と接続します。)
Lisp/外部ライブラリ
Common Lisp のライブラリはいろいろな目的のために存在しています。ここで紹介するのは、成熟した、便利な、そして無料で使えるパッケージです。パッケージの提供するいくつかの機能もお見せします。
言語の拡張

これらのライブラリは Common Lisp に新しい制御構造を追加します。
Lisp/外部ライブラリ/ASDF
ASDF

ASDF は "another system definition facility" を略したもので、 Lisp システムの管理を簡単にします。システムは他の言語からのパッケージやモジュールと似ているものです。オブジェクトと関数のライブラリを提供するためにコンパイル、ロードされた一つ以上のファイルが含まれています。 ASDF を使用することでプログラマは以下のことが出来るようになります。
ASDF

ASDF の特徴は java の Ant や Python の setuptools, perl の cpan と共通するものがあります。追加パッケージの ASDF-INSTALL は asdf システムにダウンロード、インストールが可能となっています。多くの lisp ライブラリが現在では ASDF システムとして配布されています。 ASDF システムは Allegro Common Lisp, SBCL, ECL, OpenMCL などの実装で同梱されています。
Lisp/外部ライブラリ/ASDF/ASDF のインストール
ASDF のインストール

SBCL, Allegro, OpenMCL, ECL などをエンコードする多くの Lisp の実装では asdf が同梱されています。実際に asdf があるかどうかを試すには lisp インタープリタに次の一行を入れてみてください。
ASDF のインストール

うまくいくなら(エラーが返らないなら) ASDF はインストールされていてすぐに使えるようになっています。
ASDF のインストール

もし cvs をインストールしているなら、次のコマンドで asdf をダウンロードすることが出来ます。パスワードのためにプロンプトされたときに Enter を押してください。
ASDF のインストール

代わりに、 http://cclan.cvs.sourceforge.net/cclan/asdf/ から asdf.lisp をダウンロードすることも出来ます。
ASDF のインストール

Debian Linux や関連したシステムでは、 asdf は以下のようにインストールすることが出来ます。
ASDF のインストール

asdf.lisp をセーブしてあなたが選んだ場所のほかのファイルに関連付けます。例えば、私の lisp ファイルは私のホームディレクトリ /Users/Kirk/lisp にあります。もし ASDF をシステム全体にインストールするなら /user/local/lib 以下に置くのがいいでしょう。
ASDF のインストール

ではあなたが走らせている lisp のスタートアップファイルを開いてください。 clisp では ~/.clisprc.lisp にあるでしょう。 cmucl では ~/.cmucl-init を探してください。スタートアップファイルに次の一行を加えます。
ASDF のインストール

/Path/to は asdf.lisp ファイルがある場所のフルパスと置き換えてください。
ASDF のインストール

例えば、もしあなたが cl-asdf パッケージを Debian や Ubuntu などの DNU/Linux で使うなら、そのコマンドは以下のようなものになります。
３次元電子顕微鏡
この本について

この本は、3次元電子顕微鏡法(hree-dimensional electron microscopy (3DEM) )に関するものである。その手法には、クライオ電子顕微鏡法やクライオ電子線トモグラフィー法が含まれる。この本の目的は、3DEMに関する全ての内容を、体系づけた形で示すことである。それにより、3次元電子顕微鏡の分野へと新しい科学者を訓練することもできるし、3DEMのコースにおいて教えるためにも利用することができる。また、この分野の知識を広めることにも繋がる。
関連UML

英語版: Wikibooks Cryo-electron microscopy Software Tools For Molecular Microscopy Structural Biochemistry/Proteins/Cryo-Electron Microscopy
職業訓練指導員試験
試験概要

職業訓練指導員試験は123種の職種からなり、それぞれ指導する職業訓練によって分かれます。受験資格にはそれぞれ制限がある。学科試験と実技試験がある。
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第2条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(定義)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第3条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(総合的な海岸の環境の保全及び再生)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第4条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(責任の明確化と円滑な処理の推進)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第5条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(海岸漂着物等の発生の効果的な抑制)
コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律
コンメンタール>美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律(平成二十一年七月十五日法律第八十二号)の逐条解説書。
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第1条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(目的)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第13条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第2章 基本方針
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第14条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第3章 地域計画等
条文

(地域計画)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第16条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第3章 地域計画等
(海岸漂着物対策活動推進員等)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第17条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第1節 海岸漂着物等の円滑な処理
条文

(処理の責任等)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第22条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第2節 海岸漂着物等の発生の抑制
条文

(発生の状況及び原因に関する調査)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第23条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第2節 海岸漂着物等の発生の抑制
条文

(ごみ等を捨てる行為の防止)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第28条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第3節 その他の海岸漂着物等の処理等の推進に関する施策
条文

(技術開発、調査研究等の推進等)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第31条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第3節 その他の海岸漂着物等の処理等の推進に関する施策
条文

(法制の整備)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第24条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第2節 海岸漂着物等の発生の抑制
条文

(土地の適正な管理に関する助言及び指導等)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第7条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(多様な主体の適切な役割分担と連携の確保)
量子化学/スピン
電子のスピン

1914年に物理学者パーネットが、強磁性体(鉄やニッケルなど)を回転させると、回転軸の方向に磁化をする、という現象を発見した(パーネット効果)。
電子のスピン

また1915年に、学者ド・ハースなどが、磁性体を磁化させると、わずかながら回転力が働くことが、実験的に確かめられている(アインシュタイン=ドハース効果)。
電子のスピン

このように、磁気と回転とが、結びつけられている物理法則のあることから、磁化の原因とは、電子の なにがしかの回転的な仕組みが関わっている、と考えられるようになった。そして、その後の電子「スピン」の理論などで、角運動量という力学量と関連づけられて、スピンの理論が構築される背景になっていった。
電子のスピン

図のように、磁石によって、不連続で急峻な磁場が発生するとき、電子の上側と下側とで、磁場の強さが異なる。そのため、電子全体としては、力を受けることになる。
電子のスピン

N極の先端のとがったかたちをした棒磁石と、S極の先端のくぼんだ棒磁石を用意して、とがった、N極と、くぼんだS極の軸を一致させ、この2つの磁極の間隔をせまくした不対磁極をつくる。この不対磁極のすきまに、銀を熱して蒸発させて細孔などから飛び出させた銀の原子線を打ち込むと、図のように、上または下のどちらかの力を受け、上下の2箇所に分裂する。けっして、ななめ方向には移動しない。これは、原子線そのものが磁化をもっていることの実験的証明である。
電子のスピン

このような実験をシュテルン・ゲルラッハの実験という。銀以外にも、水素の原子線やナトリウム原子線でも同様の実験が行われ、原子線が上方向または下方向のどちらかの力を受けることが確認された。
Lisp/外部ライブラリ/ASDF/ASDF の設定
ASDF の設定

ほとんどの場合あなたの lisp の実装の設定ファイルに asdf の設定を加えることになるでしょう。例えば、 sbcl は設定ファイルに ~/.sbclrc を使用していますし、 cmucl では ~/.cmucl-init を使用しています。最も重要な設定は下で説明する central registry です。他のほとんどの設定は任意となります。
ASDF の設定

central-registry はシステム定義の .asd のファイルを検索するファイルディレクトリのリストで、あなたが ASDF の設定について知らなければならない最低限のことです。 asdf:*central-registry を安全に修正するには pushnew を使うことで新しいディレクトリをリストに入れ込みます。
ASDF の設定

http://www.cliki.net/asdf から
ASDF の設定

ASDF にライブラリを追加する標準的な方法は次のどちらかを伴います。
ASDF の設定

次のコードの断片は、どのようにして asdf パッケージのサブディレクトリの中を再帰的に検索するかと言うことを表しています。
ASDF の設定

http://www.cliki.net/asdf から
Lisp/外部ライブラリ/ASDF/ASDF を使ってみる
ASDF を使えるようにするには、最初に呼び出しを行わなくてはなりません。
cliki システムをインストールするには、次の手順で ASDF-install を実行します。
既にインストールされているシステムをロードするには次のようにします。
システムのソースをコンパイルするには次のようにします。
Lisp/外部ライブラリ/clbuild
clbuild はダウンロードや編集、Common Lisp で書かれたアプリケーションの実行を補助するシェルスクリプトです。SBCL にはデフォルトで付属していますが、ほかではローカル環境に依存しないものを試みます。
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第6条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(海洋環境の保全)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第8条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(国際協力の推進)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第9条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(国の責務)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第10条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(地方公共団体の責務)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第11条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(事業者及び国民の責務)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第12条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第1章 総則
条文

(連携の強化)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第15条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第3章 地域計画等
条文

(海岸漂着物対策推進協議会)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第30条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第3節 その他の海岸漂着物等の処理等の推進に関する施策
条文

(海岸漂着物対策推進会議)
美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律第29条
コンメンタール>コンメンタール美しく豊かな自然を保護するための海岸における良好な景観及び環境の保全に係る海岸漂着物等の処理等の推進に関する法律>第4章 海岸漂着物対策の推進>第3節 その他の海岸漂着物等の処理等の推進に関する施策
条文

(財政上の措置)