((Common Lisp) (Scheme) :Part 15)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/06/23(金) 10:22:53Part14: http://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: http://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: http://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: http://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: http://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: http://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: http://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: http://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: http://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: http://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: http://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: http://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: http://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: http://piza2.2ch.net/tech/kako/987/987169286.html
0002デフォルトの名無しさん
2006/06/23(金) 10:24:33日本Lispユーザ会(日本語)
ttp://jp.franz.com/jlug/index.html
ここにかなりの情報があります。
ttp://jp.franz.com/
削るとAllegro Common Lispのページへ
プログラミング言語Scheme(日本語)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。
Lisper への道(日本語)
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/rakup.html
判りやすいLISP入門サイト。
Schemeへの道(日本語)
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
ここはschemeの入門サイト。
0003デフォルトの名無しさん
2006/06/23(金) 10:25:58ttp://buri.sfc.keio.ac.jp/lisp/menu.html
Practical Scheme(日本語)
ttp://practical-scheme.net/index-j.html
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)
Scheme Hash(英語)
ttp://okmij.org/ftp/Scheme/index.html
S式でXMLを使える様にするSXMLなど
John McCarthy's Home Page
ttp://www-formal.stanford.edu/jmc/
LISPの生みの親、J・マッカーシーのページだそうです。
Association of Lisp Users
ttp://www.alu.org/alu/home
米国のLispユーザ会
0004デフォルトの名無しさん
2006/06/23(金) 10:27:53SICP(英語)
ttp://mitpress.mit.edu/sicp/full-text/book/book.html
「計算機プログラムの構造と解釈」の原書です。
全てオンラインで読めます。
計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ
ttp://www.ipl.t.u-tokyo.ac.jp/sicp/
SICPの回答集
ttp://www.melt.kyutech.ac.jp/~gogogo/sicp_ex/
ttp://pluto.aurorasd.co.jp/~mkama/sicp/
ttp://www.ipl.t.u-tokyo.ac.jp/sicp/solution.root.html
ttp://www.sampou.org/scheme/sicp/answer/
0005デフォルトの名無しさん
2006/06/23(金) 10:29:33Schemeで書かれた正規表現ライブラリ
ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html
幻の「入門Scheme」
ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html
オンラインで読める
各種scheme処理系をcygwin上からビルドする方法など。
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/
Bit - Implantation compacte de Scheme
ttp://www.iro.umontreal.ca/~dube/
mini-schemeよりも小さい(?)bytecode変換系
Lisp 言語処理系: CAMPUS LIsP, Lemon version
ttp://aten.aial.hiroshima-u.ac.jp/~kakugawa/clisp/index-ja.shtml
Cコードによるわずか1000行の実装
Cliki
ttp://www.cliki.net/index
CommonLispのプログラムがたくさん紹介されているのでここを当たるべし。
0006デフォルトの名無しさん
2006/06/23(金) 10:30:46ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
cmucl以外でも有益なはず
CMUのLisp Repository
ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html
新旧様々なプログラムが置いてある
Tiny CLOS Tutorial
ttp://home.adelphi.edu/~sbloch/class/272/tclos/tutorial.shtml
Schemix
ttp://www.abstractnonsense.com/schemix/
Linuxのkernelへのパッチで、/dev/として扱えるTinyScheme
Bibliography of Scheme-related Research
ttp://library.readscheme.org/
Scheme関連の論文リンク集
0007デフォルトの名無しさん
2006/06/23(金) 10:46:55awkで書かれたわずか500行のLispインタプリタ
awklispを読めばLispが理解できる
ttp://www.accesscom.com/~darius/
Emacs Lisp 2
ttp://pc2.2ch.net/test/read.cgi/tech/1068467385/
* Hotdog Scheme ttp://rover.cs.nwu.edu/~scheme/
MS が金出してたみたい
* Bigloo ttp://www-sop.inria.fr/mimosa/fp/Bigloo/
CLR 用のコードを吐けるようになったらしい
継続
なんでも継続
ttp://practical-scheme.net/docs/cont-j.html
Schemeへの道:継続
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html
継続の使い方
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/index.html#continuation
継続の使用法
ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/block.html
CPS(継続渡しスタイル)の説明
ttp://www.csl.sony.co.jp/person/masui/Forum/data/20011215023622/
Kahua: 継続ベースのアプリケーションサーバー
ttp://www.kahua.org/
0008デフォルトの名無しさん
2006/06/23(金) 10:50:50CLtL2: Common Lisp the Language 2nd edition
ttp://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
CLHS: Common Lisp Hyper Spec
ttp://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/Chapter-Index.html
R5RS: Revised(5) Scheme(ja)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html
便利な情報リソース)
The Common Lisp Cookbook: いわゆる Cookbook
ttp://cl-cookbook.sourceforge.net/
小さい実装)
SECDR-Scheme: SECD machine model に基づく実装
ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu
Minischeme: 1 ファイルに凝縮された Scheme 処理系
ttp://tinyscheme.sourceforge.net/minischeme.tar.gz
TinyScheme: Minischeme を色々弄ったもの
ttp://tinyscheme.sourceforge.net/
KI-Scheme, AM-Scheme, etc...
ttp://www.nifty.com/download/dos/prog/lisp/
LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine.
ttp://www.lispme.de/lispme/
0009デフォルトの名無しさん
2006/06/23(金) 10:55:26ttp://ruku.qp.tc/dat2ch/0403/01/1069594582.html
独習 Scheme 三週間
ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html
Schemeの教科書
よろずや
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/
lispの実用的な情報が色々。
Common-Lisp.net: 多くのプロジェクトがホスティングされてる
ttp://common-lisp.net/
Bill Clementson's Blog: Lisp関連の話題が中心のBlog
ttp://home.comcast.net/~bc19191/blog/
Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に
ttp://www.gigamonkeys.com/book/
0010デフォルトの名無しさん
2006/06/23(金) 10:57:430011デフォルトの名無しさん
2006/06/23(金) 19:51:310012デフォルトの名無しさん
2006/06/24(土) 02:33:350013デフォルトの名無しさん
2006/06/24(土) 13:26:200014デフォルトの名無しさん
2006/06/24(土) 20:48:380015デフォルトの名無しさん
2006/06/24(土) 22:19:08(message *乙*))
0016デフォルトの名無しさん
2006/06/24(土) 22:25:39(call-with-current-continuation (lambda (k) (set! exit-k k)))
(define 乙
(lambda ()
(k (lambda () (display "乙!") (newline)))))
0017デフォルトの名無しさん
2006/06/24(土) 22:48:15まわりくどい人キタ!
0018デフォルトの名無しさん
2006/06/24(土) 22:51:260019デフォルトの名無しさん
2006/06/25(日) 05:24:150020デフォルトの名無しさん
2006/06/25(日) 11:09:06(display (call/cc (lambda (c)
(set! exit-k c)
">>1")))
(newline))
(exit-k "乙!")
こうですか!わかりません!
0021デフォルトの名無しさん
2006/06/25(日) 23:02:510022デフォルトの名無しさん
2006/06/26(月) 23:37:09cons は、まだ逐次的にしている感が否めない。
(集合の定義でいいんじゃ……。)
あらゆる問題に対処する慣れの時間を削減する言語の進化!
0023デフォルトの名無しさん
2006/06/27(火) 00:08:10とりあえずそれはLispじゃないので、勝手に俺言語でも作ってやってください
0024デフォルトの名無しさん
2006/06/27(火) 17:13:43初心者がいじって遊べるSchemeのプログラムって何がある?
今はWiLiKiのソースを読んでみてるんだが、ちょっと量が多すぎる気がする。
0025デフォルトの名無しさん
2006/06/27(火) 18:44:56メモできるカレンダーとか。
0026デフォルトの名無しさん
2006/06/27(火) 18:45:27どこに埋もれたか忘れたが、大学院時代、ゼミの課題で、自分で自分を実行できる
Schemeのサブセットを作ったことあるなぁ。徹底的に文法を削って、200行未満に
収めてしまった。
(define my-scheme
(lambda ()
(eval (read))
(my-scheme) ))
(my-scheme)
ではないよ。ちゃんと環境も作った。プリミティブとクロージャは、大元のやつを
使ってさぼったけど。課題として面白いと思うんだけど、どうかなぁ。
002724
2006/06/27(火) 19:12:50「あーこの中で簡単なのから読めばいいかな」とか思ってました。
http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme
これ読みながらWiLiKiを弄ってみることにします。
>>26のお題は悟りを開いてから考えます。
0028デフォルトの名無しさん
2006/06/27(火) 22:42:13遅延評価は削っても良さそうだけど、継続はダメかな。
0029デフォルトの名無しさん
2006/06/27(火) 23:08:19R5RSなんて小さい規格なんだから、一つでも削るならSchemeと呼んで欲しくない。
あれ以上削ったらただの「俺言語」だ。
0030デフォルトの名無しさん
2006/06/27(火) 23:16:12Sussman と Steele の言語が Scheme じゃないとでも?
R^nRS 名乗らないなら
* レキシカルスコープ
* 末尾呼び出しの最適化
* 変数と関数が同じ名前空間
くらいでいいんじゃない?
0031デフォルトの名無しさん
2006/06/27(火) 23:18:06それは単なる 1-Lisp の一種だろ
0032デフォルトの名無しさん
2006/06/28(水) 01:06:29「scheme のサブセット」なんであって scheme だとは書いてないでしょ。まぁ
でも継続はあってほしいかも。
0033デフォルトの名無しさん
2006/06/28(水) 01:13:46それを言ったらどんな言語だってSchemeのサブセットのスーパーセットだよw
個人的には継続のない言語をSchemeと呼ぶのは大きな違和感がある
0034デフォルトの名無しさん
2006/06/28(水) 06:02:200035デフォルトの名無しさん
2006/06/28(水) 06:04:370036デフォルトの名無しさん
2006/06/28(水) 07:41:59http://www.schemers.org/Documents/Standards/Charter/status-jun-2006/status-jun06.html
top-level が library になったり、call/cc や when, unless がデフォルトになったり...
UNICODE サポートはどうなるんでしょうね
0037デフォルトの名無しさん
2006/06/28(水) 07:43:320038デフォルトの名無しさん
2006/06/28(水) 08:45:450039デフォルトの名無しさん
2006/06/28(水) 10:26:21ま、中途半端よりはいいかもしれんが.... 微妙だ。
0040デフォルトの名無しさん
2006/06/28(水) 17:06:50同意
0041デフォルトの名無しさん
2006/06/28(水) 18:52:200042デフォルトの名無しさん
2006/06/28(水) 20:28:29なんでR6RSにこれが入るの決定なのか知ってる?
0043デフォルトの名無しさん
2006/06/28(水) 21:05:380044デフォルトの名無しさん
2006/06/28(水) 21:08:10ポインタキボンヌ
0045デフォルトの名無しさん
2006/06/28(水) 21:57:58http://www.schemers.org/Documents/Standards/Charter/mar-2005.txt
> We have voted on a number of the decisions listed in the Revised R6RS
> Status Report. Among the minor but visible decisions made are:
> :
> - add balanced square brackets as a synonym for parentheses
0046デフォルトの名無しさん
2006/06/28(水) 23:11:46これ良く分からなかったんだけど、全部 (library <lib-path> <language> <body>) で
書くようにしたいって事だよね。今までみたいに REPL から自由に式を入力出来る形ではなく。
で、(library "main" ...) が entry point になると...
0047デフォルトの名無しさん
2006/06/28(水) 23:59:25Windows2000にDrScheme(version350)を入れて日本語の設定をしたのですが、
ボタンや本文の文字がうまく表示できません。
このようになります↓
http://www.42ch.net/UploaderSmall/source/1151505302.jpg
(定義欄に入力しているのは、(string-length "ほげ")です)
メニューの編集-環境設定-フォントでフォントをMSゴシックにしています。
その他は色の設定しか変更していません。
Windowsのフォントキャッシュを作り直してみましたが改善しませんでした。
原因や解決法に思い当たる事があればお教え願います。
0048デフォルトの名無しさん
2006/06/29(木) 02:51:240049デフォルトの名無しさん
2006/06/29(木) 07:37:18何かが「Latin-1」か「ASCII」になってるんじゃないか?
0050デフォルトの名無しさん
2006/06/29(木) 19:15:19gauche schemeなら
(define environment #t)
(define initialenv '())
(set! environment (eval '(define a 2) initialenv))
って感じで使えるんだけど…
guileで同じようにやっても、evalの第二引数の型が違うってエラーになっちゃう。
005147
2006/06/29(木) 22:04:01・縦書きフォントなら表示できる
・中国語・朝鮮語フォントも表示できる(「々」が出ないものが多い)
・BDF UM+は大丈夫
のようなので、その範囲で使う事にします。
>>48
そうすることにします。
>>49
UnicodeフォントのはずのMSゴシックが使えないことに疑問が残りますが、
BDF UM+では表示できたのでそうではないようです。
0052デフォルトの名無しさん
2006/06/30(金) 12:59:13第二引数は、(interaction-environment), (scheme-report-environment 5),
(null-environment 5) のいずれかでなければならない。
なさりたいことを拝察するに、こういうことかと。最初の行をとれば、Gauche
でも動くはず。
(use-modules (ice-9 r5rs)) ;; R5RS をguile で使えるようにする。
(define env (null-environment 5))
(eval '(define a 2) env)
(eval 'a env)
0054デフォルトの名無しさん
2006/07/02(日) 16:26:340055デフォルトの名無しさん
2006/07/02(日) 17:12:21逆立ちしてもメモリが足りねえよ
0056デフォルトの名無しさん
2006/07/02(日) 18:55:59heapとして扱えるメモリは意外とあるんだよ、ないのは実行コードエリアとしての容量なんだよね。
だが所詮iAppli
0057デフォルトの名無しさん
2006/07/02(日) 19:03:060058デフォルトの名無しさん
2006/07/02(日) 19:38:30携帯Javaでそんなことが出来るか知らんけど。
そしてそこまでするならCGIとかでもいいかもしれんが。
0059デフォルトの名無しさん
2006/07/02(日) 19:43:36プログラムジェネレータをLisp系の言語で書くという発想は面白いかもしれない。
0060デフォルトの名無しさん
2006/07/03(月) 12:20:490061デフォルトの名無しさん
2006/07/03(月) 15:28:51ってやると
(a b cd
)
って表示されちゃうんだけど、
本当は
(a b "cd\n")
というふうに元の形のまま出力させたい。
どうしたらいいんでしょうか?
自分で元の形のまま出力する関数を定義するしかない?
それともschemeにそういう関数がもとから備わってる?
(write '(a b "cd\n"))
でも出力は
(a b "cd
")
で\nが改行に変わってしまってだめだった。
0062デフォルトの名無しさん
2006/07/03(月) 15:49:060063デフォルトの名無しさん
2006/07/03(月) 19:54:55じゃだめで、
エスケープしなくてもそのままの形でS式の中のstringを表示させたいんだけど。
0064デフォルトの名無しさん
2006/07/03(月) 20:01:500065デフォルトの名無しさん
2006/07/03(月) 20:02:08ならばそのまま
(a b "cd\n")
と。
'(a b "cd\\n")
ならばそのまま
(a b "cd\\n")
と表示させたいんです。説明足らずですみません。
0066デフォルトの名無しさん
2006/07/03(月) 20:06:56goshだと確かに\nって出ますね・・・
でもguileだとダメだ・・・
処理系依存なのか・・・
guile用には自分で定義するしかないかなぁ。
0067デフォルトの名無しさん
2006/07/03(月) 20:09:360068デフォルトの名無しさん
2006/07/03(月) 22:39:49write の代替書くとかいう方法じゃ解決できなそうだね。
(string-length "\n")
=> 1
(equal? "\n" "
")
=> #t
0069デフォルトの名無しさん
2006/07/03(月) 22:49:25問題はwriteが文字列中の改行文字をどう出力するかだよ。
0070デフォルトの名無しさん
2006/07/03(月) 23:05:06改行と \n が区別できないってことは、両方含む文字列はどっちかが変換されちゃう。
0071デフォルトの名無しさん
2006/07/03(月) 23:09:31致命的な勘違いをしてないか?
0072デフォルトの名無しさん
2006/07/04(火) 00:51:39ASCII コードで 32 以下なら ¥ でエンコードし、
それ以外はそのまま表示するような display/write もどきを
自前で書き起こすというのはダメ?
0073デフォルトの名無しさん
2006/07/04(火) 02:20:49こんな質問をする奴にそれを進めても、自分が何やってるか理解できずに今度は
"ab
cd"
が
"ab\ncd"としか出力できません
という質問がされる悪寒。
007461
2006/07/04(火) 03:53:56今やろうとしてることでは
"ab
cd"
なんていう入力は想定しなくていいので問題ないです。
ありがとうございました。
0075デフォルトの名無しさん
2006/07/06(木) 00:13:02関数のリストfuncsと、データのリストdatasがあって、
funcsのn番目を、datasのn番目に適用してくれる関数ってない?
再帰使ってちょこちょこっと書けばいいんだけど。
(define funcs '(func1 func2 func3))
(define datas '(a b c))
(hoge funcs datas)
=>((func1 a) (func2 b) (func3 c))
みたいになるやつ。
0076デフォルトの名無しさん
2006/07/06(木) 00:50:54ところで data は複数形だぞ。単数形は datum。
0077デフォルトの名無しさん
2006/07/06(木) 00:59:410078デフォルトの名無しさん
2006/07/06(木) 01:18:470079デフォルトの名無しさん
2006/07/06(木) 06:22:48(zip funcs datas)
=> ((func1 a) (func2 b) (func3 c))
0080デフォルトの名無しさん
2006/07/06(木) 07:25:35(map (cut <> <>) funcs datas)
じゃないかな。
0081デフォルトの名無しさん
2006/07/10(月) 17:44:09があるとして、配列 a の後ろから二番目の値、この場合は4を取り出す方法を教えてください
(car とか cdr とかわかんねー。どうやったら後ろから二番目の値を取れるのか・・・)
0082デフォルトの名無しさん
2006/07/10(月) 17:47:340083デフォルトの名無しさん
2006/07/10(月) 17:50:01ERROR: unbound variable (errobj list-ref)
--
すまん、今使ってるのは script-fu uyq@
0084デフォルトの名無しさん
2006/07/10(月) 17:58:46(if (= idx 0) (car lis) (list-ref (cdr lis) (- idx 1))))
0085デフォルトの名無しさん
2006/07/10(月) 17:58:47(lambda (ls position)
(if (= position 0)
(car ls)
(list-ref (cdr ls) (- position 1)))))
--
ググったら↑みたいのが出てきた。
これで script-fu でも list-ref が使えるらしい。
マンドクセからこれ使おうっと
0086デフォルトの名無しさん
2006/07/11(火) 00:13:080087デフォルトの名無しさん
2006/07/11(火) 16:08:25リストの構造を紙に書いて考えるんだ。
0088デフォルトの名無しさん
2006/07/11(火) 17:19:13コントリビュートしてる人が、consセルって何?みたいな
話しててたまげた。
carとかcdrもS式で表現されたリストに対する操作として
理解してたらしい。
そういうのもありなんだとある意味感動した。
0089デフォルトの名無しさん
2006/07/11(火) 17:47:490090デフォルトの名無しさん
2006/07/11(火) 17:55:22そんな香具師のcontributeしたelispコードなんて使いたくねーな
0091デフォルトの名無しさん
2006/07/11(火) 19:20:140092デフォルトの名無しさん
2006/07/11(火) 23:07:34問題はないけど何か無駄な感じ
0093デフォルトの名無しさん
2006/07/11(火) 23:30:0192は後からデータが追加されるときにcdrをcadrにいちいち書き換えるのか?
0094デフォルトの名無しさん
2006/07/11(火) 23:50:35まぁアセンブラ書いたこと無い奴のCプログラムみたいなもんなんだろうな
0095デフォルトの名無しさん
2006/07/12(水) 00:10:20listで良くね?
0096デフォルトの名無しさん
2006/07/12(水) 00:12:140097デフォルトの名無しさん
2006/07/12(水) 00:21:350098デフォルトの名無しさん
2006/07/12(水) 00:49:28cadrは何か半端で嫌いだ。
cdrだとビシッとした感じでカッコいいよ?
0099デフォルトの名無しさん
2006/07/12(水) 01:31:09R6RS 方面でそんな話題も出てるみたいね。
といってもさすがに cons 廃止じゃなくて、
cons の第二引数を list に限定しましょうって話だけれど。
↓の 5. Mutability of pairs の最後の段落参照。
http://www.schemers.org/Documents/Standards/Charter/status-jun-2006/status-jun06.html
0100デフォルトの名無しさん
2006/07/12(水) 01:36:41うへぇ
0101デフォルトの名無しさん
2006/07/12(水) 21:07:41Mac は experimental みたいだけど。
http://sbcl.sourceforge.net/news.html#0.9.14
■ このスレッドは過去ログ倉庫に格納されています