[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 19:46 / Filesize : 220 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part17



1 名前:デフォルトの名無しさん [2007/04/20(金) 19:41:39 ]
Lisp全般のスレです

過去スレ
Part16: pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/

http://が多すぎるらしいので分割

968 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:24:48 ]
>>965
「大抵の人」は「Rubyのほうが読みやすいと思う」んだろ?まぁ、普通にそうなんじゃね。

その手の話は腐るほど見てきてるし、そう思う気持ちもわからんではないが、
何度も何度も同じ話を聞かされてるんで食傷気味。Matz が同じようなこといってるから
Matz 日記でやると同志がいっぱいいると思うよ。



969 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:05:09 ]
CRANがそれだろ。lispは実用のみ

970 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:42:49 ]
>967
夏だからだよ

971 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:51:41 ]
CLだとガード節相当はreturn-from 関数名とかで書けるけど
schemeだとやっぱ継続?

972 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:01:57 ]
サマースクールモードなのか

973 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:07:08 ]
>965
Rubyは間違いなく読みやすい部類だよ。
ただ、パーザの挙動が判りづらいから
読んだ通りの動きになってくれてるとは限らないところが落とし穴。

Lisp系のパーザの挙動は見たままだろうw

974 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:42:01 ]
>>971
(define-macro (return-from% name . result) `(,name ,@result))
(define-macro (block% name . body) `(call/cc (lambda (,name) ,@body)))
(define-macro (define% name . body)
(if (symbol? name)
`(define ,name (block% ,name ,@body))
`(define ,(car name)
(block% ,(car name) (lambda ,(cdr name) ,@body)))))

(define% (test1 x)
(if (not (number? x))
(return-from% func #f))
x)

;;
(test1 1) => 1
(test1 'a) => #f
まあ、つまり見たまま。

975 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:43:39 ]
(return-from% test1 #f))
だった。
おれには衛生的なやつは無理。

976 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:48:46 ]
(define% test2
(lambda (x)
(if (not (number? x))
(return-from% test2 #f))
x))

(test2 1) => 1
(test2 'a) => #f
うむ、ちゃんと動いてるな。
ただ、これだと普通の再帰ができなくなる。
nameを加工するかしないと。



977 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 02:07:48 ]
>>974
(define test1
(call/cc (lambda (test1)
(lambda (x) (if (not (number? x)) (test1 #f)) x))))

これって継続呼んだ時点でdefineの束縛フェーズに戻って
test1が継続の返り値に書き換わるんじゃない?

978 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 02:17:19 ]
>>968
例えば他の言語ならifの中で束縛を使いたいならifのスコープをその束縛のスコープとして適用して簡略化する
lispの場合はifをletでくるむ形で束縛のスコープを設定する
これはifのスコープとは別に束縛のスコープを記述できる分表現力は高いがネストが深くなり見た目も多少複雑になる

別にlispを全否定している訳じゃ無いしその分lispは力を得ることがで来ていると思う
ただ他の言語より可読性が高いとは思わない

>>973
人間コンパイラきたーw

979 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 02:26:02 ]
return関係はshiroさんのが理解しやすい
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%81%aa%e3%81%9cScheme%e3%81%ab%e3%81%afreturn%e3%81%8c%e7%84%a1%e3%81%84%e3%81%ae%e3%81%8b

言語としてreturnが用意してあるのとreturnを作れるのは意味合いが違ってくると思う

980 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 02:40:53 ]
>>977
あー間違った。call/ccをlambdaの中に入れといて。
どっちみち不完全だけどさ。

981 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 02:59:57 ]
>>978
他のスレでやれば賛同者多数だと思うんだがね。
このスレに自分の意見に賛同しない人がいる限りとかいったら延々とネストだの括弧だのって話を繰り返す気なのか?

982 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 03:03:27 ]
そういう意味のないレスならしないほうがいい

983 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 03:07:26 ]
元ネタからして意味がないので続かなくていいよ

984 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 03:30:04 ]
反応が小学生だなw

985 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 03:34:02 ]
相手が小学生レベルだからな。

986 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 03:39:44 ]
Gauche本、まだ出ないのかなぁ



987 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 04:28:33 ]
なんか伸びてると思ったらいつもの話題か。

988 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 04:44:03 ]
可読性、最強言語選手権、黒板
の三本立てでこのスレは成り立っています。

989 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 05:23:35 ]
次スレよろ

990 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 19:28:21 ]
それなりに言っていることはわかる
慣れれば気にならなくなるが可読性が高いわけじゃないからな
というか誰かLispの可読性が高いなんて言ったっけ?

991 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:04:49 ]
少なくとも俺には可読性高い。(ちゃんとインデントされていれば)
他の人間のことは知らんし、あまり興味無い。

992 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:15:00 ]
インデントがあれば括弧はいらない!

993 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 20:26:41 ]
比較する条件次第、という面がLispは特に強い気はする。
インデントをいったんすべて無くして、エディタの力を何も借りられない条件下で
「さあ把握してみろ」みたいな勝負なら、そりゃあもう大惨敗だけど、
その両者がきちんと揃うと、途端に「そう一方的に負けてるもんでもない」って位置へ上がる、みたいな。
まぁ、客観的な話ではないけれども。

994 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:07:56 ]
括弧が多いと Emacs でカーソル移動が楽になる

995 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:10:20 ]
インデントの話が出たんで、ちょっと質問なんですが、
Emacs + slime-mode で loop のインデントが次のようになります。

(loop as n = (progn (format t "~&Number: ")
(parse-integer (read-line) :junk-allowed t))
while n
do (format t "~&The square of ~D is ~D.~%" n (* n n)))

これを下のようにするには、どう設定すれば良いでしょうか?

(loop as n = (progn (format t "~&Number: ")
(parse-integer (read-line) :junk-allowed t))
while n
do (format t "~&The square of ~D is ~D.~%" n (* n n)))


996 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:38:59 ]
立てといた
Lisp Scheme Part18
pc11.2ch.net/test/read.cgi/tech/1186922295/


>>995




997 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 21:43:56 ]
結局インデントで見ているんじゃPython批判できないじゃん

998 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:11:05 ]
>>997
つかPythonも好きな奴多いと思うけど。

lambda埋め

999 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:50:37 ]
でもRubyは嫌い

1000 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:55:37 ]
1000ならロト6で1等当選

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<220KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef