Lisp Scheme Part27at TECH
Lisp Scheme Part27 - 暇つぶし2ch351:デフォルトの名無しさん
09/08/11 13:18:50
ちょっとした思いつきなんだが、
(let ((x 1))
(outer-scope
(let ((x 2))
(inner-scope x))))
このときに 1 を返す、つまり inner-scope の内側では outer-scope の外側の束縛を参照
するようなマクロ outer-scope inner-scope を定義してみた。
(define-syntax outer-scope
(lambda(x)
(syntax-case x ()
((k body ...)
(with-syntax
((inner-scope (datum->syntax #'k 'inner-scope))
(k (syntax k)))
#'(let-syntax
((inner-scope
(lambda(x) (syntax-case x ()
((j b (... ...))
#`(begin
#,@(datum->syntax #'k
(syntax->datum #'(b (... ...))))))))))
body ...))))))
未だに datum->syntax の第一引数の意味がよくわからん。
規格には
> (datum->syntax template-id datum)
> template-id はテンプレート識別子であり、datum はデータ値でなければならない。
> この手続きは template-id と同一の文脈情報をもつ datum の構文オブジェクト表現を返す。
> このとき、この構文オブジェクトは template-id が挿入されたのと同時にコードに挿入されたかのようにあつかわれる。
って書いたるんだが、文脈情報って何だ?
自分の中ではスコープだと思って使ってて、だいたい期待する挙動になるみたいなんだが、その理解でいいの?
もうちょっとわかりやすい説明があれば助かる。
拙者は日本人なので英語の文献とか紹介しようとしないで頂ければ助かるでゴザルよ。

352:デフォルトの名無しさん
09/08/11 13:37:29
難しい話題は WiLiKi の方でやれよ

353:デフォルトの名無しさん
09/08/11 13:51:09
これから一週間、
>>351にはdatum->syntaxと一緒に過ごしてもらう!
datum->syntax「えー」

354:デフォルトの名無しさん
09/08/11 15:04:23
>>351
ビューティフルコードの25章はどうだろう

355:デフォルトの名無しさん
09/08/11 16:41:42
maximaで数式計算してtrsanslateでlispとして吐き出して
lispのコードを少し書き換えてstalinで高速実行

356:デフォルトの名無しさん
09/08/11 17:21:44
>>332
SchemeとCommonLispは並行して勉強すると混乱するから
どっちか一方を先にやった方がいいと思うよ。
高階関数の扱いがすっきりしているSchemeの方が理論的
なので萩谷先生の「関数プログラミング」の問題をSchemeで解く
ってのはどう。


357:デフォルトの名無しさん
09/08/11 18:36:38
> SchemeとCommonLispは並行して勉強すると混乱するから
なんで???
俺は、全然平気だったけど


358:デフォルトの名無しさん
09/08/11 18:40:17
並行して勉強するメリットは?

359:デフォルトの名無しさん
09/08/11 18:52:17
>>358
特にないけど、不自由もしなかった
強いて上げるなら、CL はネィティブに落す処理系が多いので
処理系をどう作るかって意味ではとても勉強になった


360:デフォルトの名無しさん
09/08/11 18:59:34
並行するのもそうでないのも一長一短ある。
混乱すると言うが、最初から両方の違いを認識しながらの方が混乱しにくいという見方もある。
それにひとつしか知らないというのは大抵の場合はそのひとつさえ知ってない。
概念が生じるのは「そうでないもの」と区別するからであって、
自然に身につけたものは意外に理解できてなかったりする。
結局のところ、本人の資質にもよるから、意見を聞いたところでムダだよ。
やりたいようにやればいい。

361:デフォルトの名無しさん
09/08/11 19:02:09
黒板に書いて遊ぶならCommon LISP。ソフトウェアを作るならマクロアセンブラ。

362:デフォルトの名無しさん
09/08/11 19:25:07
webアプリ書くなら継続のあるSchemeの方がcommon lispより便利だったりするんでしょうか

363:デフォルトの名無しさん
09/08/11 19:31:06
「Scheme の第一級継続」と「継続渡しスタイル」で言う継続は同じものじゃないよ。
まぁ、違うものとも言えないんだけど、直接的に便利ということはない。

364:デフォルトの名無しさん
09/08/12 00:13:10
>>346
リリースエンジニアリングが終わってるから。

> 2008-12-26: Release 0.0.4 almost final

↑はLaunchpadにあるアナウンスメントだ。
しかし現状での最新の安定版は0.0.3。後は分かるな?

というのは半分冗談だけど、まだ新しい処理系だから、
先端追っかけた方が楽しいというのはある。

365:351
09/08/12 00:46:31
色々と考えたけど、
α変換のルールに干渉するってことかなぁ…
と思った。

366:デフォルトの名無しさん
09/08/12 02:27:20
ちょっと質問。
URLリンク(practical-scheme.net)
のように、scmだけevalの第二引数を取らないのは何故?

367:デフォルトの名無しさん
09/08/12 06:11:00
PLT Scheme の Scribble って使ってる人いる?
よさげに見えるんだけどドキュメントがしっかりしすぎてて読むのがめどい

368:デフォルトの名無しさん
09/08/12 10:24:14
今朝ネットサーフィンしていてふと思ったんだけど、
Lisp系言語のキラーアプリって何だと思う?
Ruby だったら Railsだけど、Lispについて考えてみたら
思い浮かばなかったから意見を聞きたいです。

369:デフォルトの名無しさん
09/08/12 10:37:28
>>368
Emacs。

370:デフォルトの名無しさん
09/08/12 11:01:52
Emacs lisp is not Lisp.

371:デフォルトの名無しさん
09/08/12 11:25:38
>>368
paul graham

372:デフォルトの名無しさん
09/08/12 11:30:29
>>369
まあLispの亜種としてはEmacsがはってんしてるなぁ
>>371
Lispの真実
URLリンク(www.aoky.net)
思い出した
「Paul Graham自身もLispで書かれています。」

373:デフォルトの名無しさん
09/08/12 12:25:04
>>366
複雑な名前空間を持ってるわけじゃないし、
そんなの出来てもしかたないだろう。

374:デフォルトの名無しさん
09/08/12 12:54:54
>>368
Lisp系は無理に大衆化しなくてもいいんじゃない。
悟りを得ようとする人のための孤高の言語。
...というのは半分冗談だけど。
Lispがお金になる状況を作らんと黒田さんに言われちゃうよね。
「Javaで稼いで趣味でSchemeやってるのってどうよ」って。

375:デフォルトの名無しさん
09/08/12 15:50:51
maxima超便利

376:デフォルトの名無しさん
09/08/12 17:01:55
>>374
その昔、Winで稼いでMacにつぎ込むと雑誌に書いて炎上した人がいたのを思い出したぜ

Lispが取っつきにくいのってLispコミュニティーが俺様モード発動しちゃうのと、商用処理系がどうしてもランタイムライセンス必要なところにあるんじゃないの?
組み込み系のLispで成功したのは全部独自実装ばっかりだってのもその影響じゃないのかな?


377:デフォルトの名無しさん
09/08/12 17:22:11
そうだよ
だからみんな俺LISPを作り、それぞれの目指す頂に登ろうとしている

378:デフォルトの名無しさん
09/08/12 17:32:09
バベルの塔崩壊後みたいな状況だな

379:デフォルトの名無しさん
09/08/12 18:04:43
>>373
ダミーでもいいから引数取れよ!ポータビリティが下がるじゃないか!
てことでは?
ファーストクラスの環境を持たない処理系でもシンボルを受け付ける物もありますしね

380:デフォルトの名無しさん
09/08/12 20:01:33
>>368
LISPって40年前からあるんだぜ ?

381:デフォルトの名無しさん
09/08/12 20:20:32
なんでもええけど、Lisp で飯食える環境を作りたいとは思いませんか?


382:デフォルトの名無しさん
09/08/12 20:36:40
そういう話を人に振る奴は他人にやらせてそれにのっかることしか考えてない

383:デフォルトの名無しさん
09/08/12 20:44:07
キラーアプリは、やっぱり >>372 の云う通り、『Paul Graham』じゃないか

384:デフォルトの名無しさん
09/08/12 20:46:23
>>382
なことはないんだよな
個人の範囲で取れる仕事は極力 lisp 系で取ってくるようにしてるし,
実際に, 仕事の 1/3 位は lisp で納品してる.
でも, メンテがどうとかって話になると受注競争にマジで弱い.


385:デフォルトの名無しさん
09/08/12 20:57:56
一瞬、メンテが
メガンテに見えた

386:デフォルトの名無しさん
09/08/12 21:35:58
自分が爆発してまわりにもダメージあたえまくり。
まさにメガンテ

387:デフォルトの名無しさん
09/08/12 22:12:49
メンテが・・・

後進を育てればいい

会社にしてしまえばいい

って事?384が言いたいのは。

388:デフォルトの名無しさん
09/08/12 22:48:43
> 会社にしてしまえばいい

まぁ, それもあるんだが, 現実問題, 1社だけだと致命的に弱いのよ

特定の会社だけに頼りきる状態になると, そこつぶれた場合どうする?
とか考えるだろ, 普通は.

そうゆう意味では, いろんなところが lisp 系で受注取ってくれると
嬉しいかなと………


389:デフォルトの名無しさん
09/08/12 22:55:03
協会とか連合とかそんな感じにならないと駄目なのかな。

390:デフォルトの名無しさん
09/08/12 22:58:49
Lispといったらこれ!っていう処理系ってなんだろうか?

391:デフォルトの名無しさん
09/08/12 23:09:02
>>389
どんな形を取るかは別として,
「lisp 系でやってるのは, 他にも結構あるんで安心できますよ」
ってな事が言いやすい環境がほしいのはたしか


392:デフォルトの名無しさん
09/08/12 23:15:24
>>388
1社だろうが10社だろうが関係ない
「下請け」だから致命的に弱い

393:デフォルトの名無しさん
09/08/12 23:21:30
なるほど、
「まずは自分で仕事作れるようになれ話はそれからだ」
…と

394:ひげぽん ◆Ngzcp/NZpA
09/08/12 23:59:49
Mosh 0.2.0 リリース時にみなさんにご指摘いただいた点を修正しました。

URLリンク(www.monaos.org)

修正した点は
・Windows 上 Emacs において run-scheme でエラーがとれない件(Meadow3 で確認)
・Windows 2000 で freeaddrinfo エラー(対応したつもりですが検証環境がなく直っているか確認できず)
・REPL のスペースを他の処理系にあわせる
・Windows でも Ctrl-c で REPL 終了
・Windows で mosh -V の結果がおかしい
・Windows で mosh -t のテストが FFI 関係でエラーになる
・configure で Gauche チェックやめる
・shebang に '-' が含まれるとエラーになる
・Windows では loadpath の区切り文字を : ではなく ; にする

もし特に問題が見つからなければ 0.2.1 としてリリースしようと思っています。
フィードバックをいただけると大変助かります。

>>368
キラーアプリといって思いつくのは、ポールグレアムが書いた Yahoo!Store 。
でもだいぶ前だし、他の言語で書き直されてしまったので最近ではないですが。

キラーアプリや、キラーアプリが出てくるような環境を作りたいとは思いますね。


395:デフォルトの名無しさん
09/08/13 00:16:24
そう、とにかく必要なのはアプリなんだよ。
Lispが良い絵の具だと言うのなら、それで素晴しい絵を描かなきゃ。
がんばろうぜ。

396:デフォルトの名無しさん
09/08/13 00:30:22
>>394
乙。

gaucheでRails作ってる人いたよね。>キラーアプリ


397:デフォルトの名無しさん
09/08/13 00:40:25
>>396
コンセプトをそのままよそから持ち込むのは Lisp でやることじゃないさ。
あんなのは余興だよ。 キラーと言えるものじゃない。

398:デフォルトの名無しさん
09/08/13 00:44:22
>>394
windows2000で問題なく起動したよ

399:デフォルトの名無しさん
09/08/13 02:12:00
いろいろアプリ作るのは良いんだけど、それを発表したり使ってもらおうとする時って
みんなどうしてるの?
一行のコードからそれこそキラーアプリまでカバーするような、ローチンのハブサイトって無いのかな?
無いならマジで作ろうかな。

400:デフォルトの名無しさん
09/08/13 02:33:54
発表(笑)

401:デフォルトの名無しさん
09/08/13 03:22:40
発狂()

402:デフォルトの名無しさん
09/08/13 04:15:26
ポールグレアムも画家だから、良い絵の具を見極める目は持っているのだろう。
その答えのひとつがCommon Lispだ。Shcemeではない。

403:デフォルトの名無しさん
09/08/13 04:19:39
でもarcの最初の実装は・・

404:デフォルトの名無しさん
09/08/13 04:45:27
マクロが書きにくい、あとは名前空間さえ解決できれば、
ライブラリも仕様を規格化されているなら、
黒田氏の批判はあたらないんじゃない?

後は、好みで、PL/Iが好きならCommon Lisp、Argolが好きならSchemeかな。

405:デフォルトの名無しさん
09/08/13 06:39:54
>>394

STDERRの出力の件、うまく表示されていました。
Meadow、xyzzy、Chezedit-Ntで試しました。

Ctrl+cの件:
>具体的にイメージされているものはありますでしょうか?
petite chez Scheme の動作をイメージしていました。
REPLで計算実行中にCtrl+cで中断し、プロンプトが break> となります。
例えば、(tak 18 9 0) とすると計算が当分、終わりそうもないので
Ctrl+Cで無理やり終わらせるような場合です。

Meadowだと処理系が強制終了しました。
xyzzy,ChezEdit-NTでは Ctrl+C は効いていないようです。

406:デフォルトの名無しさん
09/08/13 06:43:36
>>404
君の批判も当たっているとは思えないけど

407:デフォルトの名無しさん
09/08/13 06:44:28
arcっていいものなの?

408:デフォルトの名無しさん
09/08/13 06:57:20
URLリンク(jfk.2ch.net)

409:デフォルトの名無しさん
09/08/13 18:41:18
>>404
Fortranが好きならCommon Lisp、Pascalが好きならScheme

410:デフォルトの名無しさん
09/08/13 19:50:34
どっちも嫌いな人は?

411:デフォルトの名無しさん
09/08/13 19:51:26
プログラマを辞めたほうがいい

412:デフォルトの名無しさん
09/08/13 19:53:42
Haskellやろうぜ

413:デフォルトの名無しさん
09/08/13 20:07:23
OCamlやろうぜ

414:デフォルトの名無しさん
09/08/13 20:28:29
> そう、とにかく必要なのはアプリなんだよ。
アホがいるw
アプリ支える為にはそれなりのマスが必要


415:デフォルトの名無しさん
09/08/13 20:35:32
Erlang やろうぜ

416:デフォルトの名無しさん
09/08/13 20:36:38
いやいや、Scalaやろうぜ

417:デフォルトの名無しさん
09/08/13 20:36:54
Oz…はやらなくてもいいな

418:ひげぽん ◆Ngzcp/NZpA
09/08/14 00:20:16
>>396
どもども。

>>398
ご確認ありがとうございます。Windows 2000 はまだまだ残っていると思うのでサポートできて良かったです。

>>399
確かに発表の場はないですね。どうするのが良いかな。
小さなものでも発表できるという意味では、URLリンク(gist.github.com) にコードを貼って
このスレで書いたよー。ってつぶやくだけでもいいかも。

>>405
多くの環境で確認いただき恐縮です。
Ctrl-C の件ですが、なるほど納得しました。
その機能をつけることは多分簡単にできるんですが、強く必要だと感じるまでではないので一旦保留とさせてください。

>>415
最近 Erlang 触っていますが良いところもたくさんあると感じます。
影響を受けて Scheme でも match-lambda* を使うようになったり (mosh concurrent) を書いたりしました。


419:デフォルトの名無しさん
09/08/14 00:22:09
>>414
そのマスを生むためにアプリがいるんですね、わかります

420:デフォルトの名無しさん
09/08/14 00:25:46
mosh って repl はユーザーカスタマイズできるようになってるのかな?
よく見てないけど、 gosh みたいなのなら、 Ctrl+C があれば
例外なりシグナルなりを投げて repl で捕捉すればいいので、
そのへんは勝手にやってもらえばいいと思う。
Windows で使うことを考えたらシグナルはよくないかな。

421:デフォルトの名無しさん
09/08/14 01:57:14
モッシュムラムラ

422:デフォルトの名無しさん
09/08/14 03:02:30
R6RSって全く調べてないんだけど(というか調べても多分わからない)
5とどのくらい違うのですか?

423:デフォルトの名無しさん
09/08/14 03:06:27
>>422
URLリンク(practical-scheme.net)
おおざっぱな変更点解説もあるのでここ読め。

424:デフォルトの名無しさん
09/08/14 03:16:38
基本はマクロとライブラリだよな。
あとはそれを成立させるのに必要なことを細かく決めましたって感じ。

大文字小文字の区別だとか Unicode がどうだとかいった実用的な意味での規定もあるけど、
全体にしたらささいなことだと思う。

425:デフォルトの名無しさん
09/08/15 12:56:09
CommonLispの空リストってのは不思議だ。

お盆なもんで般若心経を読んでるんだが
「色即是空」とか「空」が度々現れる。
存在はするのだが空なのだってのは悟りに至らんとわからん。

CommonLispの空リストもアトムだし、リストだし、
否定でもあるし、仏教思想か?

>(atom '())

T

>(listp '())

T

>(eq '() nil)

T

>(null '())

T

>(null nil)

T

426:デフォルトの名無しさん
09/08/15 13:36:50
伝統的なLispでは「空リスト」==「NIL」と決まっているから。
写経だとおもってCONSペアの図とリスト探索を100種類くらい書いてみるといい。
その上で、どうしても空のリストとNILを区別しないと許せないとかなら
Schemeのほうが向いてるかもしれない。

427:デフォルトの名無しさん
09/08/15 14:26:30
> お盆なもんで般若心経を読んでるんだが

そういうことが好きな人ならお盆に限らず読むべし

428:デフォルトの名無しさん
09/08/15 14:29:18
maximaのlistとlispのlistを変換する関数がみつからない
trasnなんとかというファイルをひととおりみてみたけど
らしいものがない

429:デフォルトの名無しさん
09/08/15 16:47:43
maxima !
一緒に日本に帰ろう !

430:デフォルトの名無しさん
09/08/15 16:49:13
maximaや あぁmaximaや maximaや

431:デフォルトの名無しさん
09/08/15 19:19:00
南無maxima

432:デフォルトの名無しさん
09/08/15 19:21:43
歎異抄より
唯円 「念仏唱えてもあんまうれしくない」
親鸞 「じつはおれも」

433:デフォルトの名無しさん
09/08/15 21:41:53
お寺様向けの専用システムにLispは向いてないか?

漢字データベースを基礎とした戒名の生成補助、重複チェック。
檀家の家系図作成、保存。
法事スケジュール調整エキスパートシステム。


434:デフォルトの名無しさん
09/08/15 21:45:23
木魚の音「CONS CONS CONS ……」


435:デフォルトの名無しさん
09/08/15 22:21:42
いんきんの音「(CAR N)」

436:デフォルトの名無しさん
09/08/16 00:06:30
>>434
笑いすぎて鼻にコーラがはいっちゃったじゃないか!


437:デフォルトの名無しさん
09/08/16 16:55:41
こういうcdrらない流れ大好きw

438:デフォルトの名無しさん
09/08/16 17:16:59
急に「みそサウナ」ってことばが頭に浮かんだのですが、
そういったことはどのスレに書けばよいでしょうか。
スレ違いは承知ですが、妥当なのがどこかわからなかったので…
誘導して頂ければ助かります。

439:デフォルトの名無しさん
09/08/16 18:02:23
このスレは君のママじゃないんだから
どこのスレがいいかという質問にふさわしい板でたずねなさいよ。

440:デフォルトの名無しさん
09/08/16 18:06:57
マジレスすると調味料板の味噌スレ

441:デフォルトの名無しさん
09/08/16 23:07:37
>>434から始まって>>438の流れで死んだwww

明日仕事だから風呂はいってヌルわ

442:デフォルトの名無しさん
09/08/17 00:37:20
そこはnilわにしないとw

443:デフォルトの名無しさん
09/08/17 01:25:28
すてきなconsを今夜もたのしむか。

444:デフォルトの名無しさん
09/08/18 08:31:55
URLリンク(www.aoky.net)

↑に書かれてることってホントですか?ここの方々はみんなそんなかんじなんですか?

445:デフォルトの名無しさん
09/08/18 08:43:14
>Lispは非常にシンプルであり、ほんの数分で学ぶことができる。
>私はさっきバスを待っている間に学んだ。
嘘だッ!!

446:デフォルトの名無しさん
09/08/18 08:52:23
>>444
>>445
それ、ネタページだから。

> Paul Graham自身すべてLispで書かれている。


447:デフォルトの名無しさん
09/08/18 09:03:59
なんだかラファティみたいな匂いのする文章だ

448:デフォルトの名無しさん
09/08/18 20:29:58
「色即是空」

(eq 'atom '())

449:デフォルトの名無しさん
09/08/18 20:49:21
(是 (即 色) 空)

450:デフォルトの名無しさん
09/08/18 21:25:36
>>444
マジレスすると、「ここの方々」の5割位はEmacsLispで書かれてるよ

451:デフォルトの名無しさん
09/08/18 21:52:41
確かに一番触ってるLispといわれればemacs lispかもしれない…

452:399
09/08/18 22:41:50
かなり遅レスだけど、
コードとかサイトの発表(笑)の場みたいの作ってみたんだけど、需要ある?

453:デフォルトの名無しさん
09/08/18 22:45:10
>>452
乙。晒して。

454:399
09/08/18 22:46:12
了解、少し待ってて。サーバ設定してくる。

455:デフォルトの名無しさん
09/08/18 22:50:30
テンプレにもあるが、掲示板に書くにはやや長いといった程度のものなら URLリンク(codepad.org) が便利だよ。
本格的なのだと lambdarepos か github かな。

456:デフォルトの名無しさん
09/08/18 23:04:56
codepad.orgはログインしないと24時間で消える糞だから
実行機能はないけどpastebin.comみたいな長く残るところを使ったほうがいい

457:399
09/08/18 23:11:11
なるほどー、結構にたようなのあるなぁ。
(kahua make中)

458:399
09/08/18 23:40:34
>>453
すんません。ちょっとトラブル。完全に動いてから報告して晒しますね。

459:399
09/08/19 03:25:05
動いたので晒し。
URLリンク(202.61.29.82)
しょぼいです。

460:デフォルトの名無しさん
09/08/19 06:45:37
LaunchpadにSchemeライブラリ用のプロジェクトあるよ。

URLリンク(launchpad.net)

Azizとご一緒するのが畏れ多いってのなら、
別にプロジェクト立てて、そっちでやったりもできる。

461:453
09/08/19 11:12:04
>>459
乙。もしかしてこのために徹夜した?
コメントの文字が背景色と同じ黒で読めないので、改善していただけたら嬉しい鴨。

462:399
09/08/19 12:46:16
>>461
サンクス。
>コメントの文字が背景色と同じ黒
ありゃ。おかしいな。できればOSとかブラウザの環境教えていただけませんか?。
本当は背景は全部白しか使ってないはずなので、cssミスったかも。

463:399
09/08/19 14:22:10
>>461
Win(IE)で黒くなるの確認しました。直します。

464:ひげぽん ◆Ngzcp/NZpA
09/08/19 21:03:50
>>399
まずは公開お疲れ様です。

投稿してみました。
投稿が増えてきたら新着を気軽にチェックできるように RSS を
出力してもらえるとうれしいです。

465:ひげぽん ◆Ngzcp/NZpA
09/08/19 21:05:08
あとは貼られたコードをファイルでダウンロードとかもあると良いかも。


466:399
09/08/19 21:18:57
>>464,465
早速ありがとうございます!。
RSSとファイルでダウンロード実装してみます。

467:ひげぽん ◆Ngzcp/NZpA
09/08/19 21:23:01
>>399
ありがとうございます。
無理せず、自分のペースで実装してください~。

468:デフォルトの名無しさん
09/08/20 19:07:13
>>463
背景色は白くなりましたが、「投稿テスト(階乗)」を選ぶと、ヘッダ部分と投稿記事本文が白紙に
見える。セパレータとコメントは正常に表示されている。
セパレータで挟まれた白紙の領域をマウスでドラッグするとヘッダ部分と投稿記事が出てくるから、
IE6との相性が良くないのでしょうね。


469:399
09/08/20 20:15:55
>>468
ありがとうございます。本当に助かります。

>> ヘッダ部分と投稿記事本文が白紙に ... マウスでドラッグするとヘッダ部分と投稿記事が出てくる ...
実はそうなんですよ。すみません。こちらでもまったく同じ状況を再現しているのですが、何分知識不足なもんで、
手を焼いてる状況なんです。こちらのCSSとHTMLのコーディングの不備なのは確かなのでもうちょい試行錯誤してみます。

470:デフォルトの名無しさん
09/08/21 10:29:09
WinでypsilonでSDL使いたいんだけど、開発版はVC++ExpressEditionでコンパイルできない
vdprojがサポートされてないと出るんだけど、なんか回避方法はないかな

471:デフォルトの名無しさん
09/08/21 19:20:05
URLリンク(en.wikipedia.org)

472:デフォルトの名無しさん
09/08/22 05:46:17
XML梅込みでLISPみたいなのできる?
phpみたいに、リスト主導じゃなくてテキスト主導みたいな
書き方ができるといいんじゃないかな

473:デフォルトの名無しさん
09/08/22 05:49:51
いやそれは素直にPHPやれよ
Lispは最強言語だが万能言語じゃねえよ

474:デフォルトの名無しさん
09/08/22 05:51:52
>>473
いあ、テキスト処理とか特定分野での話ね
rubyに何だったか擬似言語があるように

475:デフォルトの名無しさん
09/08/22 06:44:49
俺Lispという万能言語があるじゃないか

476:デフォルトの名無しさん
09/08/22 11:24:33
>>472
escm,aescmが一番近いかも。

477:デフォルトの名無しさん
09/08/22 11:59:42
URLリンク(www.scheme-reports.org)
やっぱr6rsはやりすぎだったってことのなのかねぇ。

478:デフォルトの名無しさん
09/08/22 12:26:43
6はVistaみたいなもん
7に期待しましょう

479:デフォルトの名無しさん
09/08/22 12:35:12
ワロタ

480:デフォルトの名無しさん
09/08/22 18:31:17
LET OVER LAMBDA Edition 1.0
URLリンク(www.amazon.co.jp)
誰か書評書いて

481:デフォルトの名無しさん
09/08/22 21:25:38
>>477
正直、迷走してるようにしか見えない。

482:デフォルトの名無しさん
09/08/22 21:35:38
>>480
この本を手に取ったあなたは、すでにトップ1%のプログラマだと感じるだろう。

483:デフォルトの名無しさん
09/08/22 21:45:19
>>480
読んだが、難しかったよ
CommonLispをある程度知ってないと読めない

ただ、SchemeとCommonLispの違いがよくわかってよかった
Common Lisp派の立場から書かれてる本だけどね

484:デフォルトの名無しさん
09/08/22 21:47:57
あと、480の本で定義されてるdefmacro!は結構使えそうだと思った
それ以外にも使えそうなマクロがあって、結構実用的な本かもしれない
あとは、OnLisp前提なところがあるから、OnLispを先に読むか、
平行して読むといいかも

485:デフォルトの名無しさん
09/08/22 22:06:13
>>480
PG の ANSI Common Lisp と On Lisp を読んだくらいで挑戦してみた Schemer だけど、
最適化まわりでの CL の強力さがよくわかったよ。
マクロ関連は R6RS マクロでも実現できるし、 Schemer でも一読の価値はあると思う。
最終章は Forth もわかってた方が面白いのかなあ、俺はそこで一旦止まってる。

486:デフォルトの名無しさん
09/08/22 23:01:40
俺には無理だった。
唯一!を「バン」って読むということがわかった。

487:デフォルトの名無しさん
09/08/23 09:33:16
付録Bの避けるべき言語って何なの?

488:デフォルトの名無しさん
09/08/23 10:13:18
>>480
最初の4章を online でサラッと目を通してみたが、面白い。
エッセイ感覚で読むのが正しいね。
On Lisp の addendum として読むと知識が深まると思った。
online で pdf が公開されたら全部読もうとおもう。


489:デフォルトの名無しさん
09/08/23 10:27:38
>>487
URLリンク(www.google.com)

490:デフォルトの名無しさん
09/08/23 11:09:07
>>489
PHPのことなん?
Lispの対極ってPascalあたりかと思ってたけど。

491:デフォルトの名無しさん
09/08/23 11:12:59
C# (Blub Central) と Python (Niche Blub) と思ったけど違うの?

492:デフォルトの名無しさん
09/08/23 11:23:24
>>491
what?

493:デフォルトの名無しさん
09/08/23 11:26:48
「例えば、PHPを避ける」ってIPAのネタ文書なのかw

494:デフォルトの名無しさん
09/08/23 11:32:43
「本物のプログラマーはパスカルを使わない」みたいなもんかw

495:デフォルトの名無しさん
09/08/23 11:45:31
>>493
ネタ文書というほどでもない
あれを必要としている人向けにはそこそこ妥当

あれは、プロジェクトチーム内の開発言語をPHP以外に切り替えろという話ではない
そういう言語を使ってるような会社に発注すんのやめとけと言う話
常にPHPで思考している駄目会社というのは相当量存在するからな
あれは実のところ「わざわざPHPで請けるような会社はセキュリティが甘い傾向にある」という話なのだ

496:デフォルトの名無しさん
09/08/23 12:26:52
>>495
世の中、URLリンク(xxx) なページが氾濫している気がするが。
PHP使うにしても拡張子消すくらいのデリカシーのある会社だとokかな。

497:デフォルトの名無しさん
09/08/23 12:29:00
>>495
IPAより直球で酷い事を書いているなwww

498:デフォルトの名無しさん
09/08/23 12:31:49
>>494
「本物のプログラマはFORTRANを使う」と言うのもあるな。

499:デフォルトの名無しさん
09/08/23 12:32:20
*.php なサイトにはどうしてもアタックをし掛けたくなるのは俺だけかな。
とりあえずスクリプトで脆弱性テスト、みたいな。

500:デフォルトの名無しさん
09/08/23 12:35:05
> 「本物のプログラマ」

この表現を使う人間は大抵、実力の無い "プログラマwanna-be" だと思うんだが。
もしそうでなければ、実力に伴わない自尊心を持つ輩。


501:デフォルトの名無しさん
09/08/23 12:38:13
Real Programmer Don't Use Pascal とか、
The Story of Mel: A Real Programmer みたいなネタをきちんと知っていて、
理解してる奴ってのは普通実力のある奴なんだがな。

残念ながら、500が何も知らない奴だとしか思えないな。

502:デフォルトの名無しさん
09/08/23 12:40:25
真の実力ってなにさ

503:デフォルトの名無しさん
09/08/23 12:42:08
「本物のプログラマーはPASCALを使わない 」ってタイトルのエッセイがあって、
そのタイトルだけが独り歩きしているんだよね。


504:デフォルトの名無しさん
09/08/23 12:42:52
>>502
バグを出しても仕様だと言ってうまくエンドユーザを丸め込むスキル。


505:デフォルトの名無しさん
09/08/23 12:48:05
そもそもプログラマに real も fake もないから。

自分が "Real Programmer" だと思っていて、それを他人に
強要したいが為に勝手にそうカテゴライズしたがっているだけ。
Real Programmers don't ...
とか言っても、実際はそれがプラクティカルな場合だってある。
開発時間、ベネフィット、プラクティカリティーによって言語の
書き方だって変わってくる。goto を使用した方が良い場面だってある。

いちいち自分の理想を強要して、勝手に real だか fake だか
言ってる馬鹿は放っておくのが一番。


506:デフォルトの名無しさん
09/08/23 12:48:34
むしろ何%かバグを混入させてメンテを継続する
完全なものは納品しないスキルと言い換えよう

507:デフォルトの名無しさん
09/08/23 13:04:29
>>505
原文嫁
タイトルの印象だけで語る典型だな

508:デフォルトの名無しさん
09/08/23 13:05:49
まさに今ここでもタイトルが独り歩きしてるな。

509:デフォルトの名無しさん
09/08/23 13:06:55
だな

510:デフォルトの名無しさん
09/08/23 13:10:17
Lispって使えるん?趣味の言語なの?

511:デフォルトの名無しさん
09/08/23 13:13:59
>>510
学べばどこかの会社が社員として雇ってくれることをして「使える」と表現するのであれば、使えない言語

512:デフォルトの名無しさん
09/08/23 13:21:34
Why Pascal is not my favorite programming language も読んでおくといいぞ

513:デフォルトの名無しさん
09/08/23 13:33:09
>>510
とりあえず設計や分析の腕は上がる。
それで評価が上がるともかぎらないけど。

514:デフォルトの名無しさん
09/08/23 13:37:57
>>513
> とりあえず設計や分析の腕は上がる。

設計というか「コーディングの」だろ?
設計はピュアなOO言語に成れてないといかん。

515:デフォルトの名無しさん
09/08/23 13:38:02
誰かから給料もらいたいんなら素直にJava勉強しろ

516:デフォルトの名無しさん
09/08/23 13:39:04
またここに馬鹿がいた @ >>515。俺の中で

JAVA厨 = 馬鹿

という方程式が成り立っているが、それは未だに健在だ。


517:デフォルトの名無しさん
09/08/23 13:41:12
>>510
>>516がいる言語です

518:デフォルトの名無しさん
09/08/23 13:42:02
Lispの仕事よりもJavaの仕事の方が圧倒的に多いんだから
>>515はJava厨でもなんでもなく正論だよ。

519:デフォルトの名無しさん
09/08/23 13:42:35
マジレスするとLispとC言語が完璧に理解できていればどの言語も大丈夫
のはず。。

520:デフォルトの名無しさん
09/08/23 13:44:19
>>518
PHPやC++の方が仕事が多いわけだが。
Javaなんて死にかけ言語引き合いに出すなよ。

521:デフォルトの名無しさん
09/08/23 13:46:20
またPHPとかw

522:デフォルトの名無しさん
09/08/23 13:49:21
>>521
Web寄りの話な。
ハードに近ければ近いほどCやC++の仕事が多くなる。
Javaなんて糞は居場所がないんだよね。

523:デフォルトの名無しさん
09/08/23 13:52:50
その居場所の無いクソ言語よりもLispの仕事は少ないだろ。

524:デフォルトの名無しさん
09/08/23 13:53:37
>>514
オブジェクト指向的なアプローチの設計もあれば、
関数プログラミング的なアプローチの設計もある。
どちらがよりフィットするかは、問題領域に依る。
この辺は先人が色々言ってるから詳しくは言及しないけど。

525:デフォルトの名無しさん
09/08/23 13:54:09
アンチJava厨の自演だろこれw 鬱陶しいから去れよw

515 名前:デフォルトの名無しさん[sage] 投稿日:2009/08/23(日) 13:38:02

516 名前:デフォルトの名無しさん[sage] 投稿日:2009/08/23(日) 13:39:04

517 名前:デフォルトの名無しさん[sage] 投稿日:2009/08/23(日) 13:41:12

526:デフォルトの名無しさん
09/08/23 13:57:31
>>514
関数型は設計などほとんどいらない
小規模なプロジェクト向きだし、そもそも
関数型言語でそれ以上の規模のプロジェクトの
コーディングをすることが少ないと思うんだけど。

中規模-大規模なプロジェクトならOO言語使うでしょ、普通。


527:デフォルトの名無しさん
09/08/23 13:58:08
デジタル大手ゼネコンの下請けの下請けデジドカにはJavaは向いていますな。
中小デジタル土建屋にはJavaはコストがかかり過ぎてむりですわ。

528:デフォルトの名無しさん
09/08/23 15:48:45
さすがlispスレ。lispのプログラミングと関係ない話題になると異様に盛り上がるぜ。

529:デフォルトの名無しさん
09/08/23 16:16:36
Scheme でデバッグするときってどうするのが簡単だろう?
Gauche だと #?= で debug-print を埋め込むのが簡単だけど、
他の処理系で #?= 相当のを埋め込んだり外したりするのは結構面倒臭い。
何か別の方法を考えた方がいいのかなあ。

530:デフォルトの名無しさん
09/08/23 16:26:14
すいません、ちょっと流れに遅れてしまったんですが、>>480の本って
翻訳的にはどうでしょうか?


531:デフォルトの名無しさん
09/08/23 16:44:21
>>530
日本語として意味がわからないような訳文はほぼないと思う
(ちょっと係り受けが曖昧なところはちらほらあった)
URLリンク(hop.timedia.co.jp)
の正誤表を見ると、 typo の指摘くらいしかないからいい方じゃないかなあ

532:デフォルトの名無しさん
09/08/23 17:59:33
>>531
ありがとうございます。

533:デフォルトの名無しさん
09/08/23 18:07:34
>>529
#?=は確かに便利だけど、gauche のエラーメッセージはもうちょっと
情報が欲しい。正直今のままだと辛いよ。

534:デフォルトの名無しさん
09/08/23 18:22:46
MIT Schemeでいいじゃない。

535:デフォルトの名無しさん
09/08/23 20:46:57
>>526
それも一概に言えないんじゃないかなぁ。
Lisp が使われた有名な案件っていうとむしろ大規模だし。
ただ、少数精鋭でやることを前提としないと Lisp は向かない。
人海戦術でやるようなプロジェクトだとやっぱ Java だろうな。

536:デフォルトの名無しさん
09/08/23 20:51:30
CommonLisp には CLOS があってかなり活用されてるってことも考慮しなきゃな。
だいたい CommonLisp は関数型言語と呼ぶにはあんまり関数型って感じでもないし。
Scheme を先にやっちゃうと CommonLisp って滅茶苦茶フリーダムだと思う。

大人数が強調するには制約があって統制がとれる言語じゃないとね。

537:デフォルトの名無しさん
09/08/23 21:08:11
>>536
> CommonLisp は関数型言語と呼ぶにはあんまり関数型って感じでもないし。

CLのどの辺が「関数型」じゃないかを言ってみな。
お前の「関数型」の認識が外れていることを証明してやるから。


538:デフォルトの名無しさん
09/08/23 21:17:17
>>537
一々頭に血を昇らせるなよ。
>>536はCLがマルチパラダイム言語であると言いたかっただけだろ。

539:デフォルトの名無しさん
09/08/23 21:18:24
>>537
Java

540:536
09/08/23 21:39:56
ある程度は関数型的なスタイルが推奨されてもいるみたいだけど、
一般に関数型言語と呼ばれる言語のスタイルと比較すると
破壊的更新を選択肢に含める度合は高い。

CommonLisp の持ち味は関数型ってことよりもマクロだと思うんだよね。
マクロが有用なのは DSL というか勝手なパラダイムを表現できることにあるのは同意してもらえると思う。
つまりマクロは「関数型」というパラダイムを積極的に破る機能とも言える。

言うなれば CommonLisp では関数型的スタイルがデフォルトではあっても、
いくらでも自由な表現が許されていて、しかも機能として一応可能であるというだけでなく
様々なパラダイムを許容する文化的土壌もある。

「思う」ばっかりなので実際にはそうでないところもあるかもしれないけどさ。
CL は非常にフリーダムなのに「関数型」という縛りにこだわってるのはナンセンスじゃないかな。

541:デフォルトの名無しさん
09/08/23 22:05:33
単なる道具だろ、言語なんて。
コンピュータなんて単なる箱だろ、どんなに突き詰めても有限な電気信号でしかないよ。
完璧な観念求めるなら数学やろうよ。


542:デフォルトの名無しさん
09/08/23 22:05:46
>>540
第一段落はSchemeにも当てはまっちゃうからその意見はどうなんだろうと思わざるを得ない。
学術にこだわったのがScheme,実学が良いのだと言うのがCLだって言う言い方の方がまだ納得できる様な気がする。

俺としちゃなんでどっちもいがみ合うんだろうと不思議でしょうがないんだけどね
(emacs vs viみたいであほらしい)


543:デフォルトの名無しさん
09/08/23 22:10:04
例えるならキリスト教とイスラム教でしょう。
どちらも元は同じ。

544:デフォルトの名無しさん
09/08/23 22:14:50
なんだかなー。
>>540を読んで、「本当にこの人マクロを理解できてるのかな?」と疑問に思った。

マクロは実行前にエクスパンドされるコードのエイリアス的な存在。
事実、clコードのコンパイル後にはマクロなどすっかり消えて無くなっている。
関数型のスタイルも破られない。

545:デフォルトの名無しさん
09/08/23 22:17:24
LOLにも書いてあったよな確か。CLは関数型言語ではない。って。

546:デフォルトの名無しさん
09/08/23 22:19:32
>>544
何か誤読してない?
>>540が言ってるのは、一番上のレイヤーの話だと思うんだけど。
副作用のある処理を関数的にラップしたりするのと同じで、あくまでも表現の話。

547:デフォルトの名無しさん
09/08/23 22:20:47
実際のところ、Lisp/Schemeプログラマはどの程度副作用の無いプログラミングを
心がけているの?

548:デフォルトの名無しさん
09/08/23 22:22:26
>>547
可能な限り避けて、使うところはできるだけまとめる。
変なバグに悩まされるの嫌だし。

549:デフォルトの名無しさん
09/08/23 22:22:41
>>547
永続化以外はほとんど使わないな。

550:デフォルトの名無しさん
09/08/23 22:24:39
そもそも、ある言語が「関数型」であるかどうかの判定は、
その言葉の定義によって変わるものなんだから、あまり議論する意味がないんだよね。
例えば、グローバル変数がある言語は関数型ではない、と言ってしまえば、ほとんど
どの言語も関数型ではなくなってしまう。 言語の基本的なプログラミングスタイルで
考慮するならば、cl も scheme も関数型と言えるだろうし。


551:547
09/08/23 22:27:05
>>548 >>549
まあそれが非純粋関数型言語における普通のプログラミングだよな。

552:デフォルトの名無しさん
09/08/23 22:33:24
>>537
血の巡りは悪いのに、血がたぎるのだけは早いんだねw

553:デフォルトの名無しさん
09/08/23 22:35:49
>>552 ad hominem で行くことしかできないのかもしれないけど、駄レスは付けないでね

554:デフォルトの名無しさん
09/08/23 22:36:18
>>552
血の巡りが悪いから一箇所に滞るわけで。それが頭だけどね。

555:デフォルトの名無しさん
09/08/23 22:39:14
人身攻撃(ラテン語: ad hominem)とは

556:デフォルトの名無しさん
09/08/23 22:41:43
俺はad hominem より ad aerarium の方が好きだなぁ

557:デフォルトの名無しさん
09/08/23 22:43:43
>>555
もう、子供なんだから。一人じゃ何もできないのね。

URLリンク(en.wikipedia.org)
An ad hominem argument, also known as argumentum ad hominem (Latin: "argument to
the man" or "argument against the man") consists of replying to an argument or
factual claim by attacking or appealing to a characteristic or belief of the
person making the argument or claim, rather than by addressing the substance of
the argument or producing evidence against the claim.

558:デフォルトの名無しさん
09/08/23 22:51:52
>>557
ミイラ取りがミイラになってるぞ
本当にこのスレの住人は罵り合いが好きだな

559:デフォルトの名無しさん
09/08/23 22:53:58
言葉遊びを言葉遊びと認知できない人は (ry

560:デフォルトの名無しさん
09/08/23 22:54:57
set!/setf < 私たちのための争うのはやめて!

561:デフォルトの名無しさん
09/08/23 22:56:07
言葉遊びしたいならVIP行けや

562:デフォルトの名無しさん
09/08/23 22:57:31
>>560
いやお前たちがいないと銀行すら作れないしさ

563:デフォルトの名無しさん
09/08/23 23:10:36
でマクロと関数型の相性はどうなのよ?

564:デフォルトの名無しさん
09/08/23 23:15:25
俺もそこに興味がある。誰か教えて

565:536
09/08/23 23:28:12
>>542
一応ことわっておくけど、>>535 も俺で、>>536 はその続きのつもり。
Scheme と CommonLisp の対比をしたいわけじゃなくて、 >>526 に対する反論。
OO ってことを言うのなら CLOS があるし、
Lisp を使わない理由にはならないという主張。

Scheme と CommonLisp で比較すれば関数型的スタイルは程度問題だとは思うよ。
ただその「程度」の差が 一般的な案件に使えるかどうかは影響する。

566:デフォルトの名無しさん
09/08/23 23:38:27
>>563
悪くないというか、むしろ良いと思う
どちらも原則として副作用を嫌うし、結果として単純な合成が効く

ってか小難しいこと考えなくても、
Lispの、おそらく成功と言っていい歴史が
相性の良さを保証していると思う

567:デフォルトの名無しさん
09/08/23 23:40:03
「practical common lisp」 のほうが「on lisp」より難しくない?

568:デフォルトの名無しさん
09/08/23 23:43:21
マクロと関数型の相性って言われても。直交する概念だと思うけど。
S式とマクロの相性とか、Lisp-1とマクロの相性とかならまだしも。

569:デフォルトの名無しさん
09/08/24 00:03:05
>>568
完全に直交する概念なら相性は良いと言えるんじゃないか?

570:デフォルトの名無しさん
09/08/24 00:23:52
>>567
OnLispは読み物としても良くできてるからじゃないの?

全然関係無いけど久しぶりに「対話によるCommonlisp」を読んだらギャグの寒さに泣いた(内容じゃなくてだじゃれ成分に)


571:デフォルトの名無しさん
09/08/24 00:36:27
>>567
お前、どっちも読んだことないだろ?
practical common lisp は初心者向けの本だぞ。

572:デフォルトの名無しさん
09/08/24 00:43:59
最近Lispに興味を持ち勉強中を始めました。
古本屋で「これがLispだ」という本を見つけ、通読したのですが、この先読むとしたら
何が良いでしょうか?今の所はOn Lispを読もうと考えています。
関数型プログラミングはMLで慣れているので、Lisp特有のテクニック等を学びたいと
思っています。良い本があれば教えてください。

573:デフォルトの名無しさん
09/08/24 00:46:06
>>572
> 関数型プログラミングはMLで慣れているので、Lisp特有のテクニック等を学びたいと

じゃマクロだわ。 On Lisp にしとけ。

574:デフォルトの名無しさん
09/08/24 00:47:15
>>572
今手に入る物ならどれ読んでも大丈夫だから全部読んじゃえばいいと思う(もちろん予算が厳しいならしょうがない)
でもLispの本ってあんまり数無いのよ

個人的に実践とOnLispは読むこと自体に喜びがあるよ
あとANSI CommonLispも良いと思う


575:デフォルトの名無しさん
09/08/24 00:57:41
>>573
>>574
ありがとうございます。まずOn Lispを読んでマクロの使い方を学びたいと思います。
今まで括弧の多さから敬遠していましたが、かなり面白い言語ですね。

576:デフォルトの名無しさん
09/08/24 01:01:35
>>570
ギャグの寒さは初めての人のためのLISPのが上だろう。

577:デフォルトの名無しさん
09/08/24 01:07:28
>>575
マクロを使い熟せるようになると面白みが倍以上になる。
俺みたいに子供の頃積み木遊びやLEGOにはまったような人ならなおさらね。

578:デフォルトの名無しさん
09/08/24 01:52:03
金ないなら図書館で読めよ

579:デフォルトの名無しさん
09/08/24 02:24:27
こんな場末のスレでシャドーボクシングするなよw

580:デフォルトの名無しさん
09/08/24 02:48:06
  ∧_∧
  ((.;.;)ω・)=つ≡つ  ぼこぼこにしてやんよ
  (っ ≡つ=つ
  /  #) ババババ
 ( / ̄∪


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch