初めまして.
大学の授業のレポートでプログラミング課題が課されました.
その中で参考になりそうな書籍を図書館で見つけ,そこに書かれていたLISPのコードを移しCLISPで実行しようとしたのですが,Common LISPでは使用されていない関数(put, unpackなど)が含まれており,実行出来ずに困っています.
なので,そもそもCommon LISPの処理系ではなくLISP自体の処理系を用いて実行できないかと思っているのですが,調べてみてもCommon LISPの処理系ばかりが出てきてしまい困っています.
そこで,Common LISPではないLISPの処理系について教えていただければと思い質問しました.
よろしくお願い致します.
No.1ベストアンサー
- 回答日時:
うーん、多分まずその本が「古くて」ダメなんじゃないか、って思うんですが・・・(笑)。
unpackってのは聞いたことないんですが、恐らくputってのは大昔のLisp処理系での属性リストに値を入れる時に使ってた関数だと思います。
Common Lispにも属性リストはありますが、基本的には汎用マクロのsetfを使って値をセットするようになっています。
いずれにせよ、cautionです。基本的には、80年代から以前に書かれたLispの本は使わない方が無難でしょう。90年代以降に書かれた本を使うようにした方が良いです(その方が紛れが少ないです)。
現在、Common Lisp以外のLisp方言だと次の3つが有名でしょう。
・Emacs Lisp・・・テキストエディタEmacs( http://th.nao.ac.jp/MEMBER/zenitani/emacs-j.html がMacでは有名だったけど今じゃちと古い?)で使われているLisp方言
・Scheme・・・Common Lispを双璧を成すLisp方言。日本ではGauche( http://practical-scheme.net/gauche/index-j.html )が有名だけどMac版はどーなんだろうなぁ。他にSchemeのこれまた方言であるRacket( http://racket-lang.org/ )があります。うーん他にもScheme実装あることはあるけど、Macだとどうなんでしょう。ソースからビルドする、って手もあるこたぁあるんですが・・・Racketが無難ですかねぇ。
・Clojure・・・新しく出てきたLisp方言でアツい。これはJVM(Java Virtual Machine)上で動きます。つまり、MacでJavaが動かせるなら基本的にはこいつも動く、って事です。公式サイトは http://clojure.org/ 。
とまぁ、この3つが基本的なLisp方言ですが、取り敢えず悪いことは言わないんで(笑)、あまり古い本でLispやるのは避けた方が良いですね。
ご回答ありがとうございます!
>基本的には、80年代から以前に書かれたLispの本は使わない方が無難でしょう。90年代以降に書かれた本を使うようにした方が良いです(その方が紛れが少ないです)。
そうだったのですね…
改めて書籍を見てみると1988年発行だったので,現在のものと仕様が違うのだと思います.
また,補足していただいたNo.2の回答ですが,Lisp言語というのは存在しないのですね.
今まで扱っていたのがCやRubyなどだったためLispも言語の一種だと思っていました…
Lispについての詳しい説明までしていただき大変参考になりました.
とても助かりました!良いお年をお過ごしください!
No.2
- 回答日時:
あ、それと、・・・・ああそうか、
> そもそもCommon LISPの処理系ではなくLISP自体の処理系を用いて実行できないかと思っている
って書いてるんで、多分勘違いされてると思うんですが・・・・。
「LISP自体の処理系」ってのは存在しません。Lispってのは「プログラミング言語」の名前じゃなくってプログラミング言語の一形態、ないしは「プログラミング言語族」名だ、って思ってた方が間違い無いです。
つまり、例えばC言語に対してLisp言語ってのが「ある」わけじゃないんですよ。Lisp言語「族」なんで、Common LispやScheme、Emacs Lispはその「Lisp言語族」に属してるんです。
だからその、恐らく「古い」本でも「✗✗と言うLisp方言を使って下さい」って書いてると思うんですよね。そう書いてないと「どのLispなんだ?」ってのは昔も今も起きてる事で、読者は混乱します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ZWCAD CUIXとLISPの関係について 1 2022/09/28 03:07
- C言語・C++・C# Lispの、evalはどのようにすごいですか? 3 2022/09/12 21:46
- 大学・短大 大学のレポートについての質問です。 大学2年生の理系です。 考察の1部分を教授から図書館で調べて来る 2 2023/06/24 15:21
- 人類学・考古学 大学のレポートと課題の違いと書き方 3 2022/04/17 03:55
- ノートパソコン 理系大学生向けおすすめパソコン 8 2023/01/01 20:07
- その他(ゲーム) SkyrimSEのMod organizer で困っています。誰か助けてください。 1 2022/12/05 01:49
- その他(教育・科学・学問) 理系大学生 実験レポート 物性の書き方 参考文献 理系大生の実験レポートについて、主に化学系です。 1 2022/04/19 21:46
- 物理学 物理工学系学科-調査課題 2 2022/04/26 18:57
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一定時間ごとの実行
-
Excel VBA にて JavaScript の...
-
ラベルの色がかわってくれない
-
時間稼ぎの命令文とは?
-
alert()が実行できない
-
JavaScriptでショートカットキ...
-
JSPの処理の途中で、JavaScript...
-
OnTime を使って、分間隔で実行...
-
2回目のSortメソッドが失敗~20...
-
計算結果が毎回違う。
-
eval()の危険性の具体例を教え...
-
jspで、javaを呼び出すときの引...
-
リクエスト結果が一瞬しか表示...
-
C#でボタン名を変更しても動く
-
デザイン時のVisible=Falseは実...
-
再帰呼び出しになってしまうの...
-
jqueryのbxsliderをマウスオー...
-
初心者です。gulpでコンパイル...
-
アクセスのフォームでタイマー...
-
PowerPointで時計表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
if(1){...}とはどういうことで...
-
JSPの処理の途中で、JavaScript...
-
デザイン時のVisible=Falseは実...
-
1つのVBAコードをすべてのコア...
-
〔Excel:VBA〕マクロの実行が異...
-
以下のコードを実行しても、オ...
-
PowerPointで時計表示
-
C#でボタン名を変更しても動く
-
jQuery ui Datepicker 明日以降...
-
初心者です。gulpでコンパイル...
-
リクエスト結果が一瞬しか表示...
-
innerHTMLなどの反映タイミング
-
既存のwebサイトで、ローカルの...
-
JavaScriptで、実行するたび値...
-
VBA ステータスバー DoEvents
-
VBA SORT Applyでエラー
-
resizeToメソッドが動作しません
-
Excel VBA にて JavaScript の...
-
eval()の危険性の具体例を教え...
-
ラベルの色がかわってくれない
おすすめ情報