新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

WindowsのEmacsでComon Lispを動かしたいのですが…、なんとか動いたようです!が、compile成功。

2021-11-23 08:52:38 | Lisp

 

test.libとtest2.libの2個出来ました。この文のcompileは成功したようです。

カレントの画面が上です。下の画面をアクティブにしてから、C_c、C_kをしないとだめのようですね。

コンパイルな成功です。ただ、どうやれば実行できるのでしょうか?(kakeru 10 20)で実行できると思いますが。

画面を閉じるで終了すると、上のメッセージが出ることがありますが、どうすれば出ないで終了できるのでしょうか?なにか不都合が起きることが有るのでしょうか?

 


コメント (10)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« WindowsのEmacsでComon Lisp... | トップ | EmacsではCもコンパイル、実... »
最新の画像もっと見る

10 コメント

コメント日が  古い順  |   新しい順
Unknown (cametan_42)
2021-11-23 09:39:20
> ただ、どうやれば実行できるのでしょうか?(kakeru 10 20)で実行できると思いますが。

その通りです。
C-c C-kで自動でリスナーにコンパイル済み関数はロードされています。

> 画面を閉じるで終了すると、上のメッセージが出ることがありますが、どうすれば出ないで終了できるのでしょうか?なにか不都合が起きることが有るのでしょうか?

不都合はないです。
単にSLIMEが走ってる最中にEmacsを閉じてるので

Active process exists; kill them and exit anyway?
(実行中のプロセスがあります; 取り敢えず終了しますか?)

と尋ねられているだけ、です。
返信する
cametan_42さん、コメントありがとうございます (isam)
2021-11-23 16:34:50
 Emacsの画面は、2つに分かれていることがありますね。一個はエディタ、もう一個あって、ターミナルとかコンソールの類です。
 コンパイルはエディタ画面で行う必要があるようです。実行は、もう一方の画面で入力になるようです。
 ここでまた疑問ですが、libが出来たものは、コンパイルしないで、実行できると思うのですが、どうするのですか?
 なかなかネットで調べても、ヒットしないことも多くて、cametan_42さんに頼り切りです。申し訳ありません。
返信する
スタンドアロン・エグゼキュータブル (cametan_42)
2021-11-23 22:07:31
> Emacsの画面は、2つに分かれていることがありますね。

あります。
が、別に何個に分けても構いません。
C-x 2で縦に2分割、C-x 3で横に2分割されます。
それでどんどん分けていっても構いません。

> libが出来たものは、コンパイルしないで、実行できると思うのですが

いや、そうとは限らないです。
少なくともANSI Common Lispの仕様自体だとそう定義されていない。
つまり、実装依存です。

例えばRacketだとそういう「スタンドアロンエグゼキュータブル」(Windowsで言うexeファイル)を作る機構がビルトインされてますが、そういうのは実装によるんですよね。
原理的にはLispシステムはVBで言うランタイム込み、とかJavaで言うJVMがなきゃいけない、と言うのと似てて、たとえコードをコンパイルしても環境と切り離すのは難しいのです。
こういうシステムは良くありますね。Smalltalkしかり、AppleのMac OS Xで使われてるObjective Cなんかもそうで、「環境から引き剥がしてスタンドアロンエグゼキュータブル」を作るのは難しい。
Pythonも例外じゃないです。Pythonもコンパイルされたpyファイル(*.pyc)を単独で使うのは難しい。
返信する
続き (cametan_42)
2021-11-23 22:08:52
そこで、Pythonなんかもそうなんですが、実装によっては環境(例えばPythonで言うと仮想マシン)の中心部分、コアとか呼びますが、それを分離して、自分の書いたコンパイル済みコードを組み合わせて配布、とか言うちとメンド臭い手順を踏まないとなりません(言い換えると、Racketはこういう手間を纏めてやってくれる)。
CLISPの場合、イメージと呼ばれるモノを括りだして実行ファイルを形成する事が出来るようです。
返信する
クソgoo blog (cametan_42)
2021-11-23 22:10:57
CLISPのマニュアルからスタンドアロン・エグゼキュタブルの作り方のリンクを貼ろうと思ったんですが、goo blogのありがたい仕様により弾かれています。
と言うわけで、CLISPのマニュアルを見てみてください。

31.2. Saving an Image:

32.6. Quickstarting delivery with CLISP:

の二つに書いてあります。

goo blogは素晴らしいですね!
返信する
cametan_42さん、コメントありがとうございます (isam)
2021-11-24 06:17:30
 Lispを知らないままで、ClispとSchemeを多少弄ってきましたが、Windowsで動くEmacsはRubyも使えるそうですので、そのままで、時間が開けばそれもやってみたいです。
 SchemeであるDrRacketをもう少しやってみようか?と思ってます。結構大学関係で講義内容が出てきますので、Schemeである広島大学のものを最後まで読みたいと思ってます。
 cametan_42さんのコメントは、自分の知識を遥かに超えて、常に勉強というか?自分の無知ぶりを改めて、認識させられます。ありがとうございます。
返信する
R4RSかな? (cametan_42)
2021-11-24 11:18:18
> 結構大学関係で講義内容が出てきますので、Schemeである広島大学のものを最後まで読みたいと思ってます。

これかしらん。

https://www.math.ryukoku.ac.jp/~kakugawa/download/scheme/SchemeBook/SchemeA4-1996Aug22.pdf

かなり古そうですが(1996年製)、大丈夫かな。
返信する
そうです。 (isam)
2021-11-25 22:53:40
 Clispの大学の資料、ClispのHelpを訳したものなど、見つかったんですが、Shemeに絞りたいし、できるだけ優しいものと思って選びました。
 新しいものが良いのかも知れませんが、最新の技術が欲しいわけでもないので、基本的なことが分かればと思ったんですが、違いますかね?
返信する
Unknown (cametan_42)
2021-11-26 00:19:19
> 新しいものが良いのかも知れませんが、最新の技術が欲しいわけでもないので、基本的なことが分かればと思ったんですが、違いますかね?

いや、いいですよ。
僕のブログの方にも書きましたが、実は依然と、アメリカでの「Scheme公式仕様」はR4RSです。
まぁ、マクロが無いですが、その辺はあとで追加で学ぶ事も出来ますしね。
取り敢えずある程度後方互換性はあるんで大丈夫です。
返信する
少し安心しました。 (isam)
2021-11-26 07:08:15
Lispと言ってもかなり色々なバージョン、ディストリビューション?が有るみたいで、このへんは混乱するもとになりそうです。どの程度やれるか分かりませんが、Schemeで例のサイトが個人使用ならOKみたいですので、最後まで読んでみたい、と思ってます。
 壁には当たると思います。(list? foo)の時みたいに、いろいろコミュニティとか教えてgooとかでも、質問するのもはっきり言って大変です。そんなこんなで、結局分からずじまい、になることも多いです。
 ですのでcametan_42さんは、ありがとうございます、です。
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Lisp」カテゴリの最新記事