Lisp@UNIX版

1名無しさん@お腹いっぱい。
垢版 |
NGNG
なんだかんだ言って,ホントはみんなLispが好きなんだろ?(藁)
というわけで,語ろうや.

プログラム技術板のLisp Schemeスレ
http://pc.2ch.net/test/read.cgi/tech/1016211619/
NGNG
>>190
末尾再帰最適化される処理系では回り続ける。
192名無しさん@お腹いっぱい。
垢版 |
NGNG
LISPの括弧ってさ、便利だけど、
そのまま制限だよな。
いちいち一時変数使うためにletの括弧でネストしたり。
構文もそれ自体に括弧のペアが必要だし。
NGNG
>192
それのどこが「制限」なのか問詰めたい
NGNG
つまり「両刃の剣」と言いたいんだろう
NGNG
しかしプログラムがS式ってのがlispの力の源泉だからな。
NGNG
なんでも括弧でくるめばいいからラクだけどなー
NGNG
>>192
a[i] 配列の添え字
a[2] = {1,2} 配列の要素
int(2.3) 関数呼び出し
という3種類の括弧を使うプログラミング言語もあるけど、
()だけですむLispってどうよ?よくない?
198192
垢版 |
NGNG
いや、いいんだけどさ、
1)条件式書くときとか、いちいち括弧付けてかいてかなきゃならんのがなあ。
(if (not(procedure? (...)))...)
複雑なやつになると、ものすげー気になる。
述語とかは、もうちょっと簡潔に書けないものかと。
andとかorとか。おれは疲れました。

2)単純なマクロにも括弧が必要だとか。
C言語での引数なし#defineみたいな、単純な置き換えをしたい時
でさえ括弧がいる。
(defmacro (HOGE) (if (not(procedure? (...)))...))
(if HOGE ...) ;と書けない
=>Error Unbound symbol 'HOGE'もしくは#<macro>
(if (HOGE) ...) ;こういう風に括弧付けないとexpandされない
=>(if (if (not(procedure? (...)))...) ...)
まあこれは結構どうでもいい。

3)特別な記法がないので構造体とかの要素を取り出すときなどで、
簡潔な記述ができない。
a->xみたいなのを書くのに、いちいち(get-x a)とか書くの、疲れました。
schemeの教科書とかに載ってる擬似オブジェクト指向みたいに、
(a 'x)とかは書けるけど、これ実行時ディスパッチなんだよね。
そこまで大袈裟にしたくないし。わざわざ効率悪い方法使うのもなー。
この辺、「慣れ」だけでどうにかなる問題とは思えないよ。
NGNG
>>186
また釣りですか?
NGNG
>>198
何に疲れるんだろう。
括弧の対応がわからなくなる、ってこと?
NGNG
単に慣れの問題
202あぼーん
垢版 |
NGNG
あぼーん
NGNG
http://www.advogato.org/proj/Sugar/
既出だったような気もするが、括弧嫌いならこれでもどーだ?
あるいは、エディタ上で色を薄くするとか…。
特別な記法はリーダーマクロでなんとかならんかなぁ。でも S 式が
嬉しいわけで、しょうがない気もするな。
204名無しさん@お腹いっぱい。
垢版 |
NGNG
カッコは別に気にならんとおもうが。
NGNG
カッコが気になる奴はプログラムの読み方がおかしいのだと思う。
それ以外の言語の時にしても。
NGNG
話をサクっと変えちゃいますけど、
今 lisp を勉強したいという人には
どういう本を薦めますか?

# 実は私が聞かれてるんだけど...。
NGNG
>>206
要求レベルにもよるけど
「リスト遊び」はどうよ。
NGNG
ANSI Common Lisp
個人的には良いと思いました
NGNG
ついでに On Lisp を読ませる。リファレンスに HyperSpec も与えておくべし。
Scheme 派なら SICP のオンライン版とか。
NGNG
cmucl の info はもう保守されてないのかな。
online でコード書きながら読むのに便利なのに。
211名無しさん@お腹いっぱい。
垢版 |
NGNG
>>198
解釈系いじくればなんとかなりそうだけどね。
NGNG
HyperSpecとilispは便利だよお。
pkgsrcにあるよ。なぜかportsにはないけど。
NGNG
ずっと前に SICP の邦訳本を買ったけど、内容が難しくて数ページ
読んだっきりです。2ch にはアホっぽい厨がたくさくいるというの
に、このスレにはこんなとっつきにくい本を読みこなす人がいるん
ですね。
NGNG
>>213
2chへの書き込みのこつを知ってますね。
NGNG
漏れは大学のプログラミングの講義でいきなりR5RS渡されて「教科書」とか言われ、泣きたくなった経験が…
あれは初心者向けじゃないと思った。
NGNG
>邦訳本
だからいけないのでは?
NGNG
ちょっと前の本だけど、「Common Lisp入門」湯浅太一・萩谷昌己(岩波書店)
はどうですか?値段が高めだけど(3800円)。
Ansi Common Lispでは省かれているような、かなり基本的なことが書いてある。
Lispを全く知らない人がこれから勉強を始めるにはちょうどいい感じ。
NGNG
>>217のは読んだことないけど、
lispを全く知らない人、は、elispで遊んでみるのが
適当じゃないかなあ。UNIX板だし。

NGNG
Scheme そのものだったら SICP よりこっちと思われ。
http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html
elisp もいいけど、やっぱレキシカルスコープな Scheme や
Common Lisp の方がいいのでは?そんな漏れのおすすめは DrScheme.
NGNG
lisp は言語仕様も面白いけど、
それとはまた別に、
top-level という環境そのものが
結構ユニークですよね。
emacs を使っているとよく思う。

昔 OS 的な使われ方をしていたのと関係あるのかな。
221名無しさん@お腹いっぱい。
垢版 |
NGNG
>top-level という環境そのものが
>結構ユニークですよね。
そうか?
NGNG
top-level つーか、emacs の環境はユニークだと思う…という事では?
ところで Lisp Machine や Lisp な OS って復活しませんかね。死ぬまでに
一度使ってみたいんですが。
223名無しさん@お腹いっぱい。
垢版 |
NGNG
LispなOSっていまいち具体的なイメージが湧かないんだけど・・・

shellとしてemacs、shellscriptとしてemacs-lispをつかう環境が
現状ではLispOSに一番近いんだろうか????
NGNG
Yahoo Shop ってどんな実行環境なの?
NGNG
>224
とりあえずAllegroCommonLispだよね?
NGNG
http://www.franz.com/success/all_customer_apps.lhtml
うーん Yahoo Store って無いような…。
NGNG
Lisp な OS って Lispマシンの OS がそうだったんじゃないの?
今なら↓こんな感じとか。
ttp://brix-os.sourceforge.net/?p0=news
NGNG
>224,225
CLISPだとム板の過去スレで読んだ気がする。
229名無しさん@お腹いっぱい。
垢版 |
NGNG
cl-pdf, mod_lisp 更新あげ
230あぼーん
垢版 |
NGNG
あぼーん
NGNG
LispOSもやっぱり単一仮想空間なの?
NGNG
lispマシンって何に使うの?
NGNG
高速万能評価機として
NGNG
>232 プログラミング、文書作成とか好きに使う。いいなぁ。
どっか作ってないのかー
NGNG
昔の引っ張り出してきても今のPCより高速なわけないよね?
NGNG
今の PC で動かすんでないの?
NGNG
cmulisp に lisp で書かれた editor ついてるよ。
こんな感じ?
NGNG
Lisp マシンは非現実的かもしれんが、Lisp な OS ってのはアリでは。
Emacs と同じようにシステムそのものもいじれたら楽しいと思うんだけど。

>>237 Hemlock って使ってるヤシいるのか? Emacs に慣れちゃってる所為か
使いにくくて…。
NGNG
諸君 私はLispが好きだ
諸君 私はLispが好きだ
諸君 私はLispが大好きだ

括弧が好きだ リストが好きだ 再帰が好きだ lambdaが好きだ
高階関数が好きだ パッケージが好きだ クロージャが好きだ マクロが好きだ

LISPマシンで UNIXで Windowsで Macintoshで GNU/HURDで
Common Lispで Schemeで elispで

この地上で行われる、ありとあらゆるLispプログラミングが好きだ

参照を失ったリストがガーベッジコレクタにより解放されるのが好きだ
素人の作った処理系で循環リストによりメモリリークが発生したときなど心がおどる

処理系によって関数の違いがあるのが好きだ
マクロにより処理系の違いを吸収した時など胸がすくような気持ちだった

letで局所変数を作るのが好きだ
スコープを知らない新人が全てを大域変数にしている様など感動すら覚える

経験不足のプログラマが括弧の対応を必死で追いかけている様などもうたまらない
括弧の対応を強調できないエディタでプログラムを書くのも最高だ

停止条件のない無限の再帰がスタックオーバーフローで飛び出してきた時など絶頂すら覚える
NGNG
例外がプログラムの流れを捻り潰すのが好きだ
行き先の分からないthrowの先を這いずり回るように探す様はとても悲しいものだ

連綿と連なったリストを再帰で処理するのが好きだ
再帰すら理解できない新人がwhileと配列を使ってプログラムを書くのは屈辱の極みだ

諸君 私はLispプログラミングを地獄のようなLispプログラミングを望んでいる
諸君 私に付き従うLisper諸君
君たちはいったい何を望んでいる?
行き先の分からないthrowを望むか?
情け容赦のない括弧の羅列を望むか?
停止条件の甘い再帰がスタックを食い尽くすのを望むか?

(Lisp!! Lisp!! Lisp!!)

よろしい ならばLispだ
我々は満身の力をこめて 今まさに高級アセンブラを潰そうとする握りこぶしだ
だがこの暗い言語戦争の底で30年もの間堪え続けて来た我々にただのLispではもはや足りない

括弧の羅列を!! さらなる括弧の羅列を!!

Lispは1960年代に作られた古い言語の一つにすぎない
だがその記述力は一騎当千の最強言語だと私は信仰している
ならば我らは星の数ほどの括弧と関数で巨大アプリケーションも書ける
我々を忘却の彼方へと追いやり 眠りこけているCプログラマを叩き起こそう
髪の毛をつかんで引きずり下ろし目を開けさせ思い出させよう
連中に関数型言語の味を思い出させてやる
連中に括弧の羅列を思い出させてやる
再帰とリストには奴らの哲学では思いもよらぬ事がある事を思い出させてやる
一千をこえる関数と無限の括弧で高級アセンブラを破壊尽くしてやる
NGNG
Evalな、アホ。
NGNG
出典は何?
NGNG
>242

http://that.2ch.net/test/read.cgi/gline/1041828393/

とか。ヘルシングってゆーマンガですね。
NGNG
LISP愛
NGNG
なかなかよくできてます。
94点。
NGNG
scheme 遣いじゃないな
NGNG
vi 大好きで emacs 使いたくない俺が Lisp と仲良くするにはどうしたら良いでしょう?
NGNG
Lisp で vi-like なエディタを作ってください。
NGNG
>>248
emacsに萌えられなかった厨房のころ、
Forth+viなエディタを作ろうとしてたのだが、Lispに萌えて中止。
そこでLisp+viなエディタを作ろうとしたが、
emacsに萌えられることに気付いて完成しなかった罠
NGNG
vim で .emacs とか編集すると
ちゃんと lisp 用の highlight になるんだよな。
ある意味わらえる。
NGNG
どこが?
NGNG
emacs で .vimrc を編集したいのですが、
専用の mode ありますか?
253名無しさん@お腹いっぱい。
垢版 |
NGNG
vim使いのlisperもいるでしょ
254あぼーん
垢版 |
NGNG
あぼーん
NGNG
↑ブラクラ
NGNG
私もVimmerです。単語移動とかは明らかにVi(m)の方が楽だから。
VimにM-x shellとかM-x inferior-lispさえあれば、と何度思ったか。
sourceforgeにそれらしいものがあったけど、まともに機能しませんでした。
257山崎渉
垢版 |
NGNG
(^^)
NGNG
半月毎に Schemer と Smalltalker を行ったり来たり。
どちらも全く身につきません・・・。
259名無しさん@お腹いっぱい。
垢版 |
NGNG
片っ端からやっていけば身につくよ。
NGNG
lispって他の言語(java,c++,delphi,ruby,perl)と比べて開発効率良いですか?
NGNG
その人の習熟度やら案件によるだろう。
NGNG
>260
よい (といわれている)
NGNG
その言語でやりやすいことなら開発効率はいいよ。
NGNG
用途によるよ。
テキスト処理なんかは
perl とかの方が作りやすいだろう。
NGNG
XML とか HTML をパースするのは Lisp の方が得意な感じがするけど、
実際どうですか?
NGNG
>265
つーかね、ぶっちゃけた話、構造が同じなんだよ。
トークンに切り出せば、そのままS式として扱える。
NGNG
学習曲線はどうなんだろ。
構文がシンプルだから初学者でも入りやすいと思うんだけど。
クセがあるから体質に合わないと難しい?
268名無しさん@お腹いっぱい。
垢版 |
NGNG
MITのプログラミング入門の講義でまだ使われてるんだっけ?
経験談求む。
NGNG
>>265
つーかね、ぶっちゃけS式そのままの方がいいわけよ
NGNG
引用の仕組みと、構文と関数の区別ができれば、あと覚えることって
ライブラリの関数の使い方程度じゃないかな。
構文はマクロを理解すれば、構造的にはなんでもありなんだ、
って事がわかる。

括弧が嫌だっていう人にしても、いきなり他の言語に移る前に、
自分で適当な文法のトランスレータ作ってそれ経由で使ってみればいい。
S式が必要になったらreadするだけ。
いつまでも括弧に埋もれながらコード書いてく必要なんてない。
でも、こういうのWeb上とかで公開してる人ってあんまりいないんだよな。
NGNG
Lispのインタプリタに興味があるのですが、
何か良い資料ありませんか?
NGNG
検索すりゃ色々出てくると思うけど
NGNG
まぁ色々あるとは思いますが、
定番の書籍とか、このページが詳しいとか
あれば教えてくださいってことです。
NGNG
>>269 しかし現実では XML な罠。265 は Franz の XML パーサでも使え。
NGNG
Common Lisp だと ANSI Common Lisp の日本語訳が出たし、

Scheme だと
http://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
http://yam.s4.xrea.com/

Emacs Lispはライブラリの使い方が中心だから、いい例が出せないです。
NGNG
>>273
アーカイブって雑誌のバックナンバーが手にはいるなら、1-5号を読んで
見るといい。P
入門レベルでいいなら、 Lisp 1.5 Programmer's Manual って本に、
超簡単なのがある(GCなし)。これを理解するのは容易なのでまず
これで概要を理解してから、本格的なのに進むべし。
NGNG
インタープリタの作り方なのか、
インタープリタの使い方なのか?
NGNG
おれもアーカイブの記事で勉強したな。
その前はマイコンピュータ#15とかだった。
NGNG
まだ持ってるよ。クリ○○ス
ツリーの表紙のやつだよね。
280271
垢版 |
NGNG
レスどうも。
>>277 作り方です。

>>276
Lisp 1.5 Programmer's Manual
http://www.amazon.co.jp/exec/obidos/ASIN/0262130114/ref=sr_aps_eb_/249-3867939-4273907
これはLispの原典なのですかね

アーカイブってのが見つからないです。
http://www.jdaa.gr.jp/idaset/back_01.htm
これじゃないですよね?
NGNG
アーカイブはたぶん図書館に行くか
持ってる人に見せてもらうかしかないと思う。

「アーカイブ」(インターフェース増刊)
1986年くらいだっけ?
NGNG
つまらんことを聞くんだが
リトルスキーマー
ってまだうってる?
NGNG
Scheme手習いは絶版だと思うが。
NGNG
sawfish のインタープリタに使われてる
rep を使ってる人いますか?
emacs 方言を使える scheme という感じで、
正規表現も持ってるみたい。
285名無しさん@お腹いっぱい。
垢版 |
NGNG
もーすぐ cmucl 18e あげ
286名無しさん@お腹いっぱい。
垢版 |
NGNG
MIT-schemeやcmuclみたいに、大学の名前がそのまま使われた
処理系があると、そこに通ってる学生にとっては結構名誉な事だよね。
たぶん。
日本ではKCL(京大)ぐらい?
NGNG
UTI-Lispとかhclとかは?
NGNG
作成に参加したならともかく、百歩譲って所属している研究室のプロジェクトならともかく、
通ってるだけで名誉ってのはないでしょう。
NGNG
>>287
メンテされてないっぽいじゃん。
そういや、GCL(KCL)ってまだ健在ですか?
NGNG
>>289
GCL、すこし前にいじってコンパイル通してみたころから変わってなければ、OS依存関係とかのファイルが腐ってて、そのままじゃコンパイル通らないケース多そう。*BSDはたぶん全滅なんじゃないかと思います。
たとえば、BSDならa.outだと思ってる...これって、BSDかLinuxか、じゃなくて、BSDかSYS/Vか、のころからたいして手が入ってないのでしょう。
Linuxなら、たぶんなにも考えなくても大丈夫だと思います。*BSDで動くようにするのは簡単ですけど、MLでえらい人がautoconfとかちゃんと使うようにしたい、とか言ってたと思うけど、どうなったんだろう。

なんでも、メインのメインテナーの方がお亡くなりになったとかで、一時期混乱があったみたいですが。

レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況