Lisp Scheme Part20
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/03/09(日) 09:16:26Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
0002デフォルトの名無しさん
2008/03/09(日) 09:18:21日本Lispユーザ会(日本語)
ttp://jp.franz.com/jlug/index.html
ここにかなりの情報があります。 削るとAllegro Common Lispのページへ
プログラミング言語Scheme(日本語)
ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。
Schemeへの道(日本語)
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
ここはschemeの入門サイト。
Practical Scheme(日本語)
ttp://practical-scheme.net/index-j.html
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)
LispUser.net
ttp://lispuser.net/
0003デフォルトの名無しさん
2008/03/09(日) 09:19:45CLtL2: 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) Report on the Algorithmic Language Scheme (ja)
ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html
R5RS: Revised(6) Report on the Algorithmic Language Scheme (en)
ttp://www-swiss.ai.mit.edu/~jaffer/r5rs_toc.html
R6RS: Revised(6) Report on the Algorithmic Language Scheme
ttp://www.r6rs.org/final/html/r6rs/r6rs.html
0004デフォルトの名無しさん
2008/03/09(日) 09:22:26SICP(英語)
ttp://mitpress.mit.edu/sicp/full-text/book/book.html
「計算機プログラムの構造と解釈」の原書です。 全てオンラインで読めます。
計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ
ttp://sicp.ipl.t.u-tokyo.ac.jp/
□wikipedia関連□
http://ja.wikipedia.org/wiki/LISP
http://ja.wikipedia.org/wiki/Common_Lisp
http://ja.wikipedia.org/wiki/Scheme
□継続□
なんでも継続
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
Kahua: 継続ベースのアプリケーションサーバー
ttp://www.kahua.org/
0005デフォルトの名無しさん
2008/03/09(日) 09:23:15John McCarthy's Home Page
ttp://www-formal.stanford.edu/jmc/
LISPの生みの親、J・マッカーシーのページだそうです。
Association of Lisp Users 米国のLispユーザ会
ttp://www.alu.org/alu/home
CMUのLisp Repository 新旧様々なプログラムが置いてある
ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html
The Common Lisp Cookbook: いわゆる Cookbook
ttp://cl-cookbook.sourceforge.net/
Bibliography of Scheme-related Research Scheme関連の論文リンク集
ttp://library.readscheme.org/
Scheme Hash(英語) S式でXMLを使える様にするSXMLなど
ttp://okmij.org/ftp/Scheme/index.html
幻の「入門Scheme」 オンラインで読める
ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html
各種scheme処理系をcygwin上からビルドする方法など。
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/
encyCMUCLopedia (cmucl以外でも有益なはず )
ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
0006デフォルトの名無しさん
2008/03/09(日) 09:24:40独習 Scheme 三週間 (Schemeの教科書 )
ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html
Cliki (CLコードがたくさん紹介されている。)
ttp://www.cliki.net/index
よろずや (lispの実用的な情報が色々。 )
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/
Common-Lisp.net: 多くのプロジェクトがホスティングされてる
ttp://common-lisp.net/
Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に
ttp://www.gigamonkeys.com/book/
SLIB
ttp://www-swiss.ai.mit.edu/~jaffer/SLIB.html
SRFI
ttp://srfi.schemers.org/
Meadow memo: 2ちゃんねるログ(dat落ちした過去スレの一部が見られます。 )
ttp://www.bookshelf.jp/2ch/index.html
Lispとは何か
ttp://www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
0007デフォルトの名無しさん
2008/03/09(日) 10:00:28Bit (mini-schemeよりも小さい(?)bytecode変換系 )
ttp://www.iro.umontreal.ca/~dube/
Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行)
ttp://www-masu.ist.osaka-u.ac.jp/~kakugawa/hacks/clisp/
Schemix (Linuxのkernelへのパッチで/dev/として扱えるTinyScheme )
ttp://www.abstractnonsense.com/schemix/
awkで書かれたわずか500行のLispインタプリタ
ttp://www.accesscom.com/~darius/
Bigloo CLR 用のコードを吐けるようになったらしい
ttp://www-sop.inria.fr/mimosa/fp/Bigloo/
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/
0008デフォルトの名無しさん
2008/03/09(日) 10:02:37Gauche: R5RS準拠のScheme処理系。Shiro Kawaiさん作。近々書籍が出版されます。
ttp://practical-scheme.net/gauche/index-j.html
PLT Scheme: DrScheme、MzSchemeなどのR5RS準拠および独自拡張のScheme処理系
ttp://www.plt-scheme.org/
Scheme48: R5RS準拠のSchemeのバイトコードインタプリタ
ttp://www.s48.org/
Guile: GNUの拡張プログラミング言語
ttp://www.gnu.org/software/guile/
Gambit-C: R5RS準拠のScheme処理系
ttp://www.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page
Steel Bank Common Lisp: Common Lisp処理系
ttp://www.sbcl.org/
CMUCL: Common Lisp処理系
ttp://www.cons.org/cmucl/
GNU CLISP: Common Lisp処理系
ttp://www.clisp.org/
Embeddable Common Lisp: Common Lisp処理系
ttp://ecls.sourceforge.net/
Arc: ポール・グレアム氏が作成した新しいLisp
ttp://arclanguage.org/
0009デフォルトの名無しさん
2008/03/09(日) 10:03:54GaucheNight(2008-03-08)
ttp://practical-scheme.net/wiliki/wiliki.cgi?gauche.night
SchemeとGaucheとλとS式を愛するすべての人に贈るマクロな一夜。
川合史朗、伊藤篤、山下伸夫、笹田耕一、ひげぽん、zick、黒田寿男、えんどうやすゆき、ほか
GaucheNight(2007-05-09)
ttp://practical-scheme.net/wiliki/wiliki.cgi?GaucheNight%3a2007
川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
伊東勝利、久井亨、小黒直樹、ほか
黒田氏関係 (黒板の人)
ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/901-909
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
Scheme:マクロ:CommonLispとの比較
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad%3aCommonLisp%e3%81%a8%e3%81%ae%e6%af%94%e8%bc%83
Script Languages
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang
0010デフォルトの名無しさん
2008/03/09(日) 10:04:41<プログラミングGauche>
・著者:川合史朗 監修
Kahuaプロジェクト 著
・定価:3360円(本体3200円+税)
・B5変 524頁
・ISBN 978-4-87311-348-7
・発売日:2008/03/14
Scheme処理系言語Gauche(ゴーシュ)の初の解説書!
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-87311-348-7
立ち読み版
ttp://karetta.jp/book/gauche-hacks
<On Lisp>
・著者:Paul Graham 著
野田 開 訳
・定価:3990円(本体3800円+税)
・A5 440頁
・ISBN 978-4-274-06637-5
LispハッカーPaul Grahamが、Lispの力の源泉であるマクロプログラミングを解説
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06637-5
HTML版
ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/
0011デフォルトの名無しさん
2008/03/09(日) 10:05:13【入門】Common Lisp その4【質問よろず】
ttp://pc11.2ch.net/test/read.cgi/tech/1201402366/
【CGI】実用比較Lisp vs C/C++【GUI】
ttp://pc11.2ch.net/test/read.cgi/tech/1150501484/
【魔法】リリカル☆Lisp【言語】
ttp://pc11.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
ttp://pc11.2ch.net/test/read.cgi/unix/1019926525/
Emacs Lisp 3
ttp://pc11.2ch.net/test/read.cgi/tech/1191875993/
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
ttp://pc11.2ch.net/test/read.cgi/tech/1140006937/
【SICP】計算機プログラムの構造と解釈 Part2
ttp://pc11.2ch.net/test/read.cgi/tech/1203096230/
【普通のやつらの】 Arc Language 0 【上を行け】
ttp://pc11.2ch.net/test/read.cgi/tech/1202098949/
0012デフォルトの名無しさん
2008/03/09(日) 10:48:410013デフォルトの名無しさん
2008/03/10(月) 20:49:500014デフォルトの名無しさん
2008/03/10(月) 21:56:35>define名が無くても出来るってことですね。とは言っても名前空間を汚さない以外に
>何かメリットはないものでしょうか、という疑問が。
その答えは "To Mock a Mockingbird " でどうぞ。
0015デフォルトの名無しさん
2008/03/10(月) 21:59:57プログラミングの幅が広がると気がつかんか?
0016デフォルトの名無しさん
2008/03/10(月) 22:01:480017デフォルトの名無しさん
2008/03/10(月) 22:02:14>>997
ありがとうございます。
てんこもりですね。損した気分。
>>999
Y-combinator再考してみます。
>>14
実は昨日届いたんです。ウヒヒ。
パズルとかゲームとか得意ではないんですが
読んで見ます。それにしても小さい本ですね。
0018デフォルトの名無しさん
2008/03/10(月) 22:06:03この順序で読むべし。間を空けるとSeasonedを読むのが辛くなる。
0019デフォルトの名無しさん
2008/03/10(月) 22:07:02コンビネータというからには何かを結びつけて使うんですよね、きっと。
何かの計算結果同士を結びつける。C++のbindみたいな。
>>16
8章までの知識があれば読めるみたいなこと書いてあったんで
難しい9,10章飛ばして突入したら、Y-combinatorが出てきたもんで
慌てて戻った次第です。
0020デフォルトの名無しさん
2008/03/10(月) 22:09:25なるほど、そうですか。Seasonedは11章から始まってるので
二冊で一冊みたいなもんですね。確かにLittleの内容を前提
としてるので忘れないうちに行ってみます。
0021デフォルトの名無しさん
2008/03/10(月) 22:21:45こいつがとても重要。P96の "Bluebird and Mockingbird" で最初の秘密が明らかになる。
P128からの "A Gallery of Sage Birds" ではいろいろなYコンビネータ(この本ではΘ)が登場する。
P193から不動点定理とYコンビネータの関係の説明がある。ここからいよいよコンビネータが明かされ始める。
これ以上はネタばれなのでやめておく。お楽しみに。
0022デフォルトの名無しさん
2008/03/10(月) 22:28:26そうなのじゃ。結びつきこそが鳥達の住む森を生み出しておる。
集積回路のコンピュータ然り、DNAコンピュータ然り、なのじゃ。
そして、人と人の結びつきもまた然りじゃのう。
君はまだまだ若いから、この意味がわかるかのう?
0023デフォルトの名無しさん
2008/03/10(月) 22:39:20大変参考になります。
コンビネータという単語が出てこないので?と思ってました。
>>22
右脳が試されてる気が。。
C++のほうが仕様は膨大なのに簡単
に思える今日この頃。
0024デフォルトの名無しさん
2008/03/10(月) 22:49:51P167のMaster Forestじゃ。
>右脳が試されてる気が。。
読み終わった頃には左脳が試されてると確信する。
そしてプログラムの存在をコンピュータの画面以外でも感じるようになる。
そのときプログラマーとして実世界を相手に仕事をする旅立ちのときがやってくる。
さあ、勇者よ!行くがよい!世界が待っている!
0025デフォルトの名無しさん
2008/03/10(月) 22:55:24R6RSなんて187ページにぎゅうぎゅう詰めですよ
0026デフォルトの名無しさん
2008/03/10(月) 22:56:25Daniel P. Friedman
http://www.cs.indiana.edu/~dfried/
Matthias Felleisen
http://www.ccs.neu.edu/home/matthias/
Little Schemerのサポートページ(誤植・問題集など)
http://www.ccs.neu.edu/home/matthias/BTLS/
0027デフォルトの名無しさん
2008/03/10(月) 23:01:36>計算論 高橋正子って予備知識必要?
かなり必要。定理、証明のスタイル。数学書みたいな感じ。
0028デフォルトの名無しさん
2008/03/10(月) 23:05:14>たかがコンビネータで本一冊書けるってすげーな
書けなかったからパズルと詰め合わせの件。
0029デフォルトの名無しさん
2008/03/10(月) 23:09:550030デフォルトの名無しさん
2008/03/10(月) 23:19:32コンビネーターはそれなりに研究の蓄積があるから、
さすがに「たかが」ということはないんじゃないかな。
1972年までの主要な結果をまとめた Curry & Feys のコンビネーター本は
全2冊でたしか合計900頁以上あったはず。
0031デフォルトの名無しさん
2008/03/10(月) 23:29:11全25章のうち、出だしの6章はコンビネータとは関係ない別の話。
「美女と野獣(Lady or Tiger)」と出だしの6章は関係がある。
7章から25章まで読むとチューリング完全とは何かがわかる。
チューリング完全の範囲でコンビネータでプログラムできる、論理を記述できる。
実はこの本、論理を記述できるようになる25章から出だしの6章に戻り論理パズルを解くという循環構造になっている希ガス。
考えすぎか?
0032デフォルトの名無しさん
2008/03/10(月) 23:32:250033デフォルトの名無しさん
2008/03/10(月) 23:46:54ナール、確かに再びこの森に戻ってくるとか言ってたジャマイカ。
0034デフォルトの名無しさん
2008/03/10(月) 23:49:18ありがとう
>>30
うーん
ぶっちゃけ、言語として見ると「たかが」だと思う。
数学の話になるとLispと関係なくなる感じがする。
0035デフォルトの名無しさん
2008/03/10(月) 23:52:21SKIコンビネータ
スーパーコンビネータ
・コンビネータパーザ
Parsec: Haskellのパーザ記述ライブラリ
http://legacy.cs.uu.nl/daan/download/parsec/parsec.html
みたいな応用もあるよ。
スーパーコンビネータはSimon Peyton Johnの論文と書籍が有名。
0036デフォルトの名無しさん
2008/03/10(月) 23:58:46http://pre.plt-scheme.org/plt/collects/combinator-parser/doc.txt
0037デフォルトの名無しさん
2008/03/11(火) 00:04:31それは無知すぎる。
形なしラムダ算法はLispやSchemeだし、型付ラムダ算法とかはML系の先取り。
ポリモーフィックラムダ算法はオブジェクト指向だし、遅延ラムダ算法はHaskellみたいなことやってる。
つまりコンビネータとSchemeを効果的に組み合わせるとお手軽にそれらが実現できるハズw
素のSchemeが全てじゃないし、コンビネータは小道具としても強力。
0038デフォルトの名無しさん
2008/03/11(火) 00:13:00> それは無知すぎる。
なんでそんな興奮してるの?
The Little Schemerで勉強始めたばかりの人に…
0039デフォルトの名無しさん
2008/03/11(火) 00:14:44・ヤマハスーパーコンビネーターエレキSC700・42
・Super Combinator 800(スーパー・コンビネーター) ミニ・スイッチによるフェイズ・アウトを含む13通りのサウンド・バリエーションからネーミングされた
0040デフォルトの名無しさん
2008/03/11(火) 00:15:380041デフォルトの名無しさん
2008/03/11(火) 00:22:04____
_/ \ \_
((/___))___\))
| |!!! !!| | |!!! !!! !!!| |
| |;;;; ;;;;| | |;;;; ;;;; ;;;;| |
| |;;;; ;;;;| | |;;;; ;;;; ;;;;| |
Λロ二二ロ二Λ二Λ二Λ二Λ二二二二Λ二Λ二Λ二Λ二l
(^×^∩ ∩(´∀` ) (・∀・ ) ∩(ΦλΦ )(ー人ー )
┌〔〔 〔〔V) ヽ〔〔 〔〔 つ〔〔 〔〔 つ ヽ〔〔Э〔〔 つ〔〔 〔〔 つ
(_ノ〈 ||_| (_ノ〈 ||_|(_ノ〈 ||_| (_ノ〈 ||_|(_ノ〈 ||_|
(__) (__) (__) (__) (__)
0042デフォルトの名無しさん
2008/03/11(火) 00:23:11/⌒ヽ)
i三 ∪ たかが....
〜三 |
(/~∪
三三
三三
三三
0043デフォルトの名無しさん
2008/03/11(火) 00:25:46r '´. : : : : : : : : : :ヽ {_
ー亠ー /.: : : : : : : : : : : : : :: ヽ ヽ
二 ,!::: : : : : ,-…-…-ミ:: : :', ⌒)
[ ̄] {:: : : : : :i ,;ノ;´:`ゞ、i: : :.:} ∩─ー、 /
 ̄ .{:: : : : : :| ェェ;;;;;;;ェェ|: : : } / ● `ヽ ―ー
. つ { : : : : ::| ,.、 .| : : :;!/ ( ● ● |つ ,-亠ー
__ ヾ: :: : :i r‐-ニ┐| : : :ノ| /(入__ノ ミ / 廿
/ ゞイ! ヽ二゙ノ イゞ,.‐rニ(_/ ∪ノ / .又
(_, / ̄ \`ー一'/ - -l\___ノ_
__ / /⌒ヽ \//ヽ 二} \_
_/ / / / \//\ ヽ/ :、
(ノ ̄`メ、 | |/ / `´ヽ \/i \
__ | \/ /lヽ ヽ /.| i' i
/ | \/ /| ヽ / | | |
´⌒) | \/ | / | | |
-' | `ー-ノ i | | |
0044デフォルトの名無しさん
2008/03/11(火) 00:27:25l| -‐‐- |l
,イ」_ |ヽ_| l、
/└-.二| ヽ,ゝl
l ,.-ー\/. 、l
| /.__';_..ン、 ビ〜ィ〜ム かがーやーく♪
/ /<二> <二>!゙、
//--─'( _●_)`ーミヘ フラッシュバックに〜ぃ♪
<-''彡、 |∪| 、` ̄ ̄ヽ
/ __ ヽノ Y ̄) | ヤツのかげーー♪
(___) Y_ノ
\ |
| /\ \
| / ) )
∪ ( \
\_)
_人人人人人人人人人人人人人人人_
> たかが♪ たかが♪ たかが♪ <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
ll ll ll ll ll ll
l| -‐‐- |l __ l| -‐‐- |l __ l| -‐‐- |l __
,イ」_ |ヽ_| l、〈〈〈〈 ヽ ,イ」_ |ヽ_| l、〈〈〈〈 ヽ ,イ」_ |ヽ_| l、〈〈〈〈 ヽ
/└-.二| ヽ,ゝl.〈⊃ } /└-.二| ヽ,ゝl.〈⊃ }./└-.二| ヽ,ゝl.〈⊃ }
l ,.-ー\/. 、l | |. l ,.-ー\/. 、l | | l ,.-ー\/. 、l | |
| /.__';_..ン、! ! | /.__';_..ン、! !| /.__';_..ン、! !
/ /<二> <二>!゙、 // /<二> <二>!゙、 // /<二> <二>!゙、 /
//--─'( _●_)`ーミ /.//--─'( _●_)`ーミ / //--─'( _●_)`ーミ /
<-''彡、 |∪| / <-''彡、 |∪| / <-''彡、 |∪| /
/ __ ヽノ / / __ ヽノ / / __ ヽノ /
(___) / (___) / (___) /
0045デフォルトの名無しさん
2008/03/11(火) 00:28:23, ´ , ~  ̄、"ー 、
_/ / ,r _ ヽ ノ
, ´ / / ● i"
,/ ,| / / _i⌒ l| i |
と,-‐ ´ ̄ / / (⊂ ● j'__ |
(´__ 、 / /  ̄!,__,u● |
 ̄ ̄`ヾ_ し u l| i /ヽ、
,_ \ ノ(`'__ノ
(__  ̄~" __ , --‐一~⊂ ⊃_
 ̄ ̄ ̄ ⊂ ̄ __⊃
⊂_____⊃
0046デフォルトの名無しさん
2008/03/11(火) 00:28:280047デフォルトの名無しさん
2008/03/11(火) 00:29:01>>39
この辺でどうよ?
http://www.cse.iitb.ac.in/~as/fpcourse/lambda-lifting.ps.gz
http://citeseer.ist.psu.edu/cache/papers/cs/760/ftp:zSzzSzftp.dcs.gla.ac.ukzSzpubzSzglasgow-fpzSzauthorszSzJim_MattsonzSzspec-eval-thesis.pdf/mattson93effective.pdf
プログラムを独自コンビネータの組み合わせに変換します。
その自由変数消去のアルゴリズムがlambda-lifting。
0048デフォルトの名無しさん
2008/03/11(火) 00:33:38サンクス
ですよね。立ち読みした限りじゃ、漏れにはかなりむずい印象。
計算論入門(渡辺米崎)はやさしいですか?
まだリトル読み終わらない厨房なのですが、、、
モッキンバードは英語だから代わりに何か読みたいなと思ってます。
0049デフォルトの名無しさん
2008/03/11(火) 01:03:44去年でたCommon Lisp入門とか読めば?
後ろの方にラムダ算法入門みたいな章があったよ。
さわりだけでいいんでしょ?
チャーチロッサーの定理とかβ簡約とか出て来るしいいんジャマイカ?
0050デフォルトの名無しさん
2008/03/11(火) 01:15:09とりあえず見てみます。
あれ読んで理解したら次に計算論入門か計算論読めますか?
0051デフォルトの名無しさん
2008/03/11(火) 01:23:43その本は知らないんだけど、ラムダ計算とその意味論に関してだったら、
横内寛文『プログラム意味論』が丁寧かつわかりやすくてよかったですよ。
ただ、このあたりの内容について解説している本はどうしても数学書のスタイル
になってしまうので、そういうのにあまりなじみが無いのなら、小野寛晰『情報代数』
あたりをざっと読んでみるのがいいかもしれないです。この本は、理論計算機科学の
文献で使われる基本的な数学的道具立てについて一通り解説してあって、
なかなか便利です。
0052デフォルトの名無しさん
2008/03/11(火) 01:24:470053デフォルトの名無しさん
2008/03/11(火) 01:28:17井田哲雄「プログラミング言語の新潮流」
http://www.amazon.co.jp/dp/4320023773/
同じ著者で
「計算モデル論入門ーチューリング機械からラムダ計算へ」
というのもあります。これはすごく薄くて簡単な紹介です。
0054デフォルトの名無しさん
2008/03/11(火) 02:01:16どうもありがとう。
とりあえず探して見てみます。
初心者独学なんで情報代数の本は役立ちそうですね。
モッキンバードに書か
0055デフォルトの名無しさん
2008/03/11(火) 02:02:57モッキンバードに書かれてるのと同程度の知識が得られればいいな、
といういい加減な目標です。
0056デフォルトの名無しさん
2008/03/11(火) 04:05:39ttp://d.hatena.ne.jp/koguro/20080309/1205012807
でも観て笑ってろよ
0057デフォルトの名無しさん
2008/03/11(火) 05:51:57あれいいなぁ
0058デフォルトの名無しさん
2008/03/11(火) 10:59:13いつまでたっても助けてもらわないと一歩も前に進めない奴。
0059デフォルトの名無しさん
2008/03/11(火) 11:04:540060デフォルトの名無しさん
2008/03/11(火) 11:07:140061デフォルトの名無しさん
2008/03/11(火) 11:07:590062デフォルトの名無しさん
2008/03/11(火) 11:15:41/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | 初心者・独学を強調しすぎる奴って、一生そのままだよな。
\ `ー'´ / いつまでたっても助けてもらわないと一歩も前に進めない奴。
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwwwwwwwwwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0063デフォルトの名無しさん
2008/03/11(火) 11:19:14/ ̄ ̄^ヽ / ̄ ̄^ヽ
l l ____ l l
_ ,--、l ノ . /_ノ ヽ、_\ 丶 l ,--、 _
,--、_ノ:: `ー':: 、ミー---‐,,l o゚((●)) ((●))゚o l,,‐---ー彡, ::`ー' ::ゝ_,--、
,/ ::: i ̄ ̄ | . /::::::⌒(__人__)⌒::::: \ |  ̄ ̄i ::: ヽ,
/ l::: l::: ll | |r┬-| | ll :::l :::l ^ヽ
l l . l !:: |::: l | | | | | l :::| ::! l l l
| l l |:: l: l . | | | | | l ::l :::| l :l |
| l . } l:::::,r----- l \ | | | / l -----、_::::::l } l |
ヽ :l:::: ト:;;;;;;;;;/-/__........... /. | | | ヽ ...........__ノヽ;;;;;;;ノ ::::l /
| | |
| | |
`ー'´
0064デフォルトの名無しさん
2008/03/11(火) 11:23:09/ :::::\:::/\
/ 。<一>:::::<ー>。 <<58
| .:::。゚~(__人__)~゚j
\、 ゜ ` ⌒´,;/゜
/ ⌒ヽ゚ '"'"´(;゚ 。
/ ,_ \ \/\ \
と___)_ヽ_つ_;_ヾ_つ.;.
0065デフォルトの名無しさん
2008/03/11(火) 11:27:13Steele先生のHistory of Schemeあげるから。
つ http://research.sun.com/projects/plrg/JAOO-SchemeHistory-2006public.pdf
Lisp, Scheme分かる人はp.18から読んでください。
0066デフォルトの名無しさん
2008/03/11(火) 11:44:040067デフォルトの名無しさん
2008/03/11(火) 11:48:220068デフォルトの名無しさん
2008/03/11(火) 11:49:25=> #<Manko>
0069デフォルトの名無しさん
2008/03/11(火) 11:59:39schemeやる女
物理科に来る女のように変人
0070デフォルトの名無しさん
2008/03/11(火) 12:13:32でも意外と多い
0071デフォルトの名無しさん
2008/03/11(火) 12:39:32キモイ率95%
0072デフォルトの名無しさん
2008/03/11(火) 13:22:020073デフォルトの名無しさん
2008/03/11(火) 13:48:490074デフォルトの名無しさん
2008/03/11(火) 14:07:32すごいな!
2chの自称初心者を全員追跡調査したんだ?
一人一人進歩無しに死んだところまでちゃんと確かめたんだよな?
007558
2008/03/11(火) 14:14:33007658
2008/03/11(火) 14:16:11知るかバーか!!てめえで探せっての!!変態野郎が!!
0077デフォルトの名無しさん
2008/03/11(火) 14:17:030078デフォルトの名無しさん
2008/03/11(火) 14:21:18/ ヽ
/ ヽ
| 人_____________ |
/ ─ ─ | .| それがLisperクオリティ
/│(●) (●) / /|
____________ / .│ (__人__) ./ / |
\〜〜 / |__ \ `⌒ ´ /__/___ ノ
\ /___ (\ / )―――
( つ(__/ \ ( | / )
(__フ| \ / ( | / )
⊂―||―、 | /
0079デフォルトの名無しさん
2008/03/11(火) 14:26:39/ / }
_/ノ.. /、
/ < }
ry、 {k_ _/`;, ノノ パンパン
/ / } ;' `i、
_/ノ../、 _/ 入/ / `ヽ, ノノ
/ r;ァ }''i" ̄.  ̄r'_ノ"'ヽ.i ) ―☆
{k_ _/,,.' ;. :. l、 ノ
\ ` 、 ,i. .:, :, ' / / \
,;ゝr;,;_二∠r;,_ェ=-ー'" r,_,/ ☆
0080デフォルトの名無しさん
2008/03/11(火) 14:29:23(´Д` ;)
( ̄ ̄ ̄ ̄┴-
| ( * ;)
/ / ∧ \
/ / / U\ \ キモイヨー
/ / ( ̄) | |\ ( ̄) ((( )))
/ ( ノ ( | | \ ノ ( 〜 (;´Д`)
⊂- ┘( ) └--┘ ( ) 〜 / つ1 _つ
UUUU UUUU 人 Y
し'(_)
0081デフォルトの名無しさん
2008/03/11(火) 14:42:090082Z武
2008/03/11(火) 14:44:18,;f::::::::::::::::::::::::::ヽ:
i/'" ̄ ̄ヾ:::::::::::i:
|,,,,_ ,,,,,,_ |::::::::|:
(。);( ゚)==r─、|: グフィ
{ (__..:: / ノ:
. ', エエエエフ ノ:
/ / } !___/ `i、
_/ノ../、 _/ 入/ / `ヽ,:
/ r;ァ }''i" ̄.  ̄r'_ノ"'ヽ.i ):
{k_ _/,,.' ;. :. l、 ノ: ドクドク
\ ` 、 ,i. .:, :, ' / /:
,;ゝr;,;_二∠r;,_ェ=-ー'" r,_,/:
008358
2008/03/11(火) 14:45:18| ノ ヽ/⌒) あばばばばばば
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/ ∩―−、
.( ヽ |∪| / / (゚) 、_ `ヽ
\ ヽノ / / ( ● (゚) |つ
/ / | /(入__ノ ミ あばばっあびゃばびゃばば
| / 、 (_/ ノ
| /\ \ \___ ノ゙ ─ー
| / ) ) \ _
∪ ( \ \ \
\_)
0084デフォルトの名無しさん
2008/03/11(火) 19:31:25http://blog.bugyo.tk/lyrical/2008/01/_o_lisppostscriptlisp.html
0085デフォルトの名無しさん
2008/03/11(火) 19:44:50やる夫がcommonlisperになりschemeをdisるようになるまでを誰か作ってくれ
008658
2008/03/11(火) 20:00:51∩___∩
≡ | ノ ヽ/⌒))=
-=≡/⌒) (゜) (゜) | .| ≡ 無理でした
≡/ / ( _●_) ミ/ )≡=
≡(( ヽ |∪| /)≡= :,∴・゜・゜・:,∴・゜・゜・
≡\ ヽノ /= :,∴・゜・・∴~・:・∴・・・
≡/ / ,.:∴~・:,゜・~・:,゜・ ,゜・~・:,゜・・∴・゜゜・
=≡(| _つ~~~‘∴・゜゜・・∴~・:,゜・・∴・゜゜・∴~゜゜゜
, ≡| /UJ\ \≡ ~・:,゜・~・:,゜・ ,゜・~・:,゜・・∴・゜゜・
=≡(| / ) ))= ・゜ ・・∴~・:・∴∴~・:・∴・
=(∪ ( \≡ ゜∴・゜・・∴~・:・∴
\_))≡=
0087デフォルトの名無しさん
2008/03/11(火) 20:39:29「やっぱりそれなりにLisp/Schemeの背景について知らないと
面白いAAにもならないから難しいのでは?
ただ単にクマのテンプレ貼られてもなあ」
というのは議論の余地のない given な事実として淀みなく会話が流れる、というのが一般的です。
0088デフォルトの名無しさん
2008/03/11(火) 20:44:110089デフォルトの名無しさん
2008/03/11(火) 20:49:410090デフォルトの名無しさん
2008/03/11(火) 21:11:14| |
\_/
|
/  ̄  ̄ \
/ \ / \ >>87
/ ⌒ ⌒ \ よくぞ逝ってくれた
| (__人__) | 褒美としてLispをAAで語る権利をやる
\ ` ⌒´ / ☆
/ヽ、--ー、__,-‐´ \─/
/ > ヽ▼●▼<\ ||ー、.
/ ヽ、 \ i |。| |/ ヽ (ニ、`ヽ.
.l ヽ l |。| | r-、y `ニ ノ \
l | |ー─ |  ̄ l `~ヽ_ノ____
/ ̄ ̄ ̄ ̄ヽ-'ヽ--' / L i s p /|
.| ̄ ̄ ̄ ̄ ̄ ̄|/| | ̄ ̄ ̄ ̄ ̄ ̄|/| ______
/ ̄L i s p /|  ̄|__」/_ L i s p /| ̄|__,」___ /|
| ̄ ̄ ̄ ̄ ̄|/L i s p  ̄/ ̄ ̄ ̄ ̄|/ L i s p /| / .|
| ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/l ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄|/| /
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
0091デフォルトの名無しさん
2008/03/11(火) 21:14:340092デフォルトの名無しさん
2008/03/11(火) 21:28:220093デフォルトの名無しさん
2008/03/11(火) 21:29:490094デフォルトの名無しさん
2008/03/11(火) 21:41:180095デフォルトの名無しさん
2008/03/11(火) 21:45:440096前スレ846
2008/03/11(火) 21:52:40(http://www.oreilly.co.jp/books/9784873113487/)
3/14発売予定じゃなかったっけ?
先走ったのはO'reilly Japanか佐川急便か?
まあ、早いぶんには良いんだけど(読むのはノンビリw)。
0097デフォルトの名無しさん
2008/03/11(火) 22:16:28正誤表をどうぞ。
http://karetta.jp/book-cover/programming-gauche#H-1p3ukk3
009896
2008/03/11(火) 22:18:56さっそくサポート有難うございます。
0099デフォルトの名無しさん
2008/03/11(火) 22:21:23そこにはいないハズ。
0100デフォルトの名無しさん
2008/03/11(火) 23:02:06マジかよ。アマゾンにしちまったよ。
0101デフォルトの名無しさん
2008/03/11(火) 23:11:07奥付張り紙してある?
010296
2008/03/12(水) 00:03:27フッフッフ、300円余分に支払ったおかげだ(でも読むのはゆっくり)。
>101
奥付に張り紙って何だ?と思ったら確かに貼ってあったよ。
「プログラミングGauche」と書かれたテープみたいなのが。
(透かしてみたら下にはどうも「Gaucheプログラミング」と
印刷されてるみたいw)
0103デフォルトの名無しさん
2008/03/12(水) 00:06:43入れ子になったlambdaの意味が分かりません
(define multirember-f
(lambda (test?)
(lambda (a lat)
(cond
((null? lat) (quote()))
((test? a (car lat))
((multirember-f test?) a
(cdr lat)))
(else (cons (car lat)
((cons (car lat)
((multirember-f test?) a
(cdr lat))))))))
調べてみてブロックというのがこの例なのかなと思っているのですが、
なぜlambdaが二つ必要なのか理解できません
どなたかご教示願います
0104デフォルトの名無しさん
2008/03/12(水) 00:15:10それは当たりですね ♥
…漏れも欲しくなってきた、ミスプリント版w
0105102
2008/03/12(水) 00:27:49これって当たりなのw?
0106デフォルトの名無しさん
2008/03/12(水) 00:45:02multirember-fは引数(この場合の引数は関数test?)を一つとり
関数を返す関数。戻り値の関数は、引数を二つ(aとlat)とる関数。
P127の上から5番目のパラグラフを復習。
0107デフォルトの名無しさん
2008/03/12(水) 02:03:14色々ぬかりない感じがするんだが、良くも悪くも
なんでネット公開止めたん?
それからラムダブックスのサイトから買えるようにしてくれ。
そうでなかったら価格表示やめれ。
0108デフォルトの名無しさん
2008/03/12(水) 04:34:52ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/three-dogmas-of-scheme
その記事の表示的意味論うんぬんの部分に対する住井さんのコメント。
ttp://d.hatena.ne.jp/sumii/20080311/p2
0109デフォルトの名無しさん
2008/03/12(水) 05:02:010110デフォルトの名無しさん
2008/03/12(水) 05:52:19Amazonのほしい物リストで、個人情報(氏名等)がもれる場合があります。
ほしい物リスト(ウィッシュリスト)が未登録ならば、問題ありません。
しかし、自分のアカウントを調べた方が良いです。
http://1505953.blog76.fc2.com/blog-entry-340.html
祭り中?
【祭】Amazonウィッシュリストで個人情報ダダ漏れ中★6
http://namidame.2ch.net/test/read.cgi/news/1205262805/
0111デフォルトの名無しさん
2008/03/12(水) 06:31:15> なんでネット公開止めたん?
契約書に「公開するな」的な一文がある。
オーム社なら(On Lispのように)公開出来たかも知れん
> それからラムダブックスのサイトから買えるようにしてくれ。
> そうでなかったら価格表示やめれ。
中の人に言ってみる
0112デフォルトの名無しさん
2008/03/12(水) 10:09:21最初の文書酷いなあ。
0113デフォルトの名無しさん
2008/03/12(水) 10:32:270114デフォルトの名無しさん
2008/03/12(水) 11:21:380115デフォルトの名無しさん
2008/03/12(水) 12:10:58突っ込みどころは多い(映画館の喩えはいかがなものかと思う)が、言いたいことは理解できる。
0116デフォルトの名無しさん
2008/03/12(水) 12:15:18想像だけど、ネットで公開できなくなるのは本になることの代償じゃないかな。
出版社はボランティアじゃないからね。
個人的には、ネットで公開できなくなるマイナスより、本になるプラスのほうが
勝ってると思う。もちろん、そうは思わない人も多いと思うけど。
どちらにするかは、権利を持っている人が勝手に決めればいいことだ。
0117デフォルトの名無しさん
2008/03/12(水) 13:31:350118デフォルトの名無しさん
2008/03/12(水) 14:44:30献本用に刷ったのにミスプリがあったらしい。
先日のgauche.nightで販売されたのもコレ。
内容は市販されるものと同一のはず。
0119デフォルトの名無しさん
2008/03/12(水) 16:06:26ブベベベベ
0120デフォルトの名無しさん
2008/03/12(水) 16:31:310121デフォルトの名無しさん
2008/03/12(水) 16:46:260122デフォルトの名無しさん
2008/03/12(水) 17:40:42そりゃ、自分がその本を持っている前提ならそうかもしれないけど、
本が入手不可能でネットにもリソースなかったりしたら、ものすごく困る。
0123デフォルトの名無しさん
2008/03/12(水) 18:24:15「本が入手不可能」って状況がよくわからんけど、絶版になればふつう版権は
著者に戻される。著者が望めば公開可能。
0124デフォルトの名無しさん
2008/03/12(水) 18:36:01法律では「出版権の消滅」って概念を定めてて、しかるべき場合には
しかるべき手続きを踏めば出版権を消滅させられることになってるけど。
0125デフォルトの名無しさん
2008/03/12(水) 18:38:240126デフォルトの名無しさん
2008/03/12(水) 22:57:000127デフォルトの名無しさん
2008/03/12(水) 23:06:38これは何と読めばいいですか?
レトレックでOK?
0128デフォルトの名無しさん
2008/03/12(水) 23:52:030129デフォルトの名無しさん
2008/03/13(木) 00:01:130130デフォルトの名無しさん
2008/03/13(木) 00:08:30へぇ。letrecっておけって読むんだ。なんか由来のある当て字?
0131デフォルトの名無しさん
2008/03/13(木) 00:10:000132デフォルトの名無しさん
2008/03/13(木) 00:13:300133デフォルトの名無しさん
2008/03/13(木) 00:40:370134107
2008/03/13(木) 01:09:530135デフォルトの名無しさん
2008/03/13(木) 01:10:380136デフォルトの名無しさん
2008/03/13(木) 01:12:17それバルタン
0137デフォルトの名無しさん
2008/03/13(木) 01:20:35それバクダン
0138デフォルトの名無しさん
2008/03/13(木) 01:27:13|
|⌒彡
|冫、)
|` / ・・・
| /
|/
|
0139デフォルトの名無しさん
2008/03/13(木) 01:28:13|
|
| 彡サッ
|
|
|
|
0140デフォルトの名無しさん
2008/03/13(木) 01:32:230141デフォルトの名無しさん
2008/03/13(木) 01:32:250142デフォルトの名無しさん
2008/03/13(木) 01:33:330143デフォルトの名無しさん
2008/03/13(木) 01:36:27まだseasonedやってるからいいけど
0144デフォルトの名無しさん
2008/03/13(木) 17:01:25書籍発売日の明日以降はどうなるんでしょう?
書籍と立ち読み版はガラっと違うらしいし
存続でしょうか?
0145デフォルトの名無しさん
2008/03/13(木) 18:11:15のですが、Dr SchemeというかRS5Sでは定義されていないキーワード
らしく、どう続けていけばよいか迷っています。これは処理系によって
は使えるキーワードなんでしょうか?Dr Schemeに慣れてしまったため
、これを使い進めて行きたいのですが、ライブラリ?などで対応方法
はありますでしょうか?
0146デフォルトの名無しさん
2008/03/13(木) 18:15:35http://community.schemewiki.org/?seasoned-schemer
0147デフォルトの名無しさん
2008/03/13(木) 18:21:11call/cc
0148デフォルトの名無しさん
2008/03/13(木) 18:23:17↓
letcc
0149デフォルトの名無しさん
2008/03/13(木) 18:25:38○ call-with-current-continuation
0150デフォルトの名無しさん
2008/03/13(木) 18:28:220151デフォルトの名無しさん
2008/03/13(木) 18:38:150152デフォルトの名無しさん
2008/03/13(木) 18:39:49ありがとうございます。そこに記載されているものを取り入れたら
動きました。ただ何のことやら分かりません。
call-with-current-continuation というキーワードが寿命を管理?する
みたいですが。
>>147
>>148
>>149
>>150
DrSchemeでもcall/ccというのはcall-with-current-continuationとしてdefine
されていて使えるみたいです。
>>146さんに教えていただいたソースのcall-with-current-continuation
が重要なキーワードみたいです。
今はよ本読みだけで手一杯なのでletccを道具として使います。
0153デフォルトの名無しさん
2008/03/13(木) 18:40:30(define-syntax letcc
(syntax-rules ()
((letcc var . body)
(call-with-current-continuation
(lambda (var) . body)))))
(define-syntax try
(syntax-rules ()
((try var a . b)
(letcc success
(letcc var (success a)) . b))))
0154デフォルトの名無しさん
2008/03/13(木) 18:57:27これらのキーワードは環境設定か何かを行うときに使うものですか?
Seasoned Schemerでは唐突にletccが出てきて、その定義も示すことなく
(call-with-current-continuation については若干登場してますが)
使用しているので、昔は当たり前のように使われていたんでしょうか?
define-syntaxという語のとおりシンタックス(キーワード)の定義に
使うためのものだとは察しますが。おいおい勉強してみます。
0155デフォルトの名無しさん
2008/03/13(木) 19:05:17ttp://flickr.com/photos/takesako/2328312411/
0156デフォルトの名無しさん
2008/03/13(木) 19:27:430157デフォルトの名無しさん
2008/03/13(木) 21:06:090158デフォルトの名無しさん
2008/03/13(木) 22:20:21モテカワ愛されλ
0159デフォルトの名無しさん
2008/03/13(木) 22:20:52特に閉鎖する予定はないですよ
0160デフォルトの名無しさん
2008/03/13(木) 22:52:54よかったぁ!
じゃあ107が書いてる「ネット公開止めた」書籍って何ですか?
(もちろんヌクヌク本は購入済み、本日発送メールがきました)
0161デフォルトの名無しさん
2008/03/13(木) 23:28:17去年の5月に再構成して、今出てる書籍(フムフム本)と同じ構成になった。
公開版(立ち読み版)→再構成版(非公開)
再構成版は公開版からforkしたもの。
0162デフォルトの名無しさん
2008/03/14(金) 01:39:370163デフォルトの名無しさん
2008/03/14(金) 01:40:080164デフォルトの名無しさん
2008/03/14(金) 01:54:120165デフォルトの名無しさん
2008/03/14(金) 02:52:310166デフォルトの名無しさん
2008/03/14(金) 03:04:040167デフォルトの名無しさん
2008/03/14(金) 03:15:31ありそうです。概念が初めてなので慣れが必要ですね。
早くGauche本到着しないかな。
0168デフォルトの名無しさん
2008/03/14(金) 07:16:33プログラムカウンタを変数に代入できるって何が嬉しいんだろ
0169デフォルトの名無しさん
2008/03/14(金) 08:13:17関数fから呼ばれた関数hも
関数gから呼ばれた関数hも
同じプログラムカウンタを持ちますが
違う継続を持ちます。
0170デフォルトの名無しさん
2008/03/14(金) 08:28:410171デフォルトの名無しさん
2008/03/14(金) 08:30:370172デフォルトの名無しさん
2008/03/14(金) 08:44:45Schemeの継続はさしずめ、「戦士がスライムAを倒して、これから魔法使いがスライムBにメラを唱える」
という戦闘シーンのど真ん中ですらセーブできるRPGみたいなもんだ、とかそんな風に。
0173デフォルトの名無しさん
2008/03/14(金) 09:03:17束縛が保存されるだけだから
ロードした直後に開ける宝箱の中身は違うかもしれない
0174デフォルトの名無しさん
2008/03/14(金) 11:11:41既存の概念に還元して、
新た強い概念を理解しようとする癖は直した方がいいよ。
そうしていると抽象的な思考がなかなか身に付かないから。
0175デフォルトの名無しさん
2008/03/14(金) 11:34:480176デフォルトの名無しさん
2008/03/14(金) 11:35:570177デフォルトの名無しさん
2008/03/14(金) 11:59:380178デフォルトの名無しさん
2008/03/14(金) 12:11:21とりあえず「なんでも継続」を嫁
強いて言うならプログラムカウンタというよりはコンテキストというか...
0179デフォルトの名無しさん
2008/03/14(金) 12:17:07setjmpに還元してるけど、いいの?
0180デフォルトの名無しさん
2008/03/14(金) 12:27:38setjmpのようなものだが、どう違うかもちゃんと書いてあったように
思うけど。
0181デフォルトの名無しさん
2008/03/14(金) 12:38:180182デフォルトの名無しさん
2008/03/14(金) 14:15:08どこかに落ちてないか探したら
GSL for Lisp
とかいうのみつけた。使ってる人は結構いるのでしょうか?
0183デフォルトの名無しさん
2008/03/14(金) 14:31:15Maxima
ところで cl で規模が大きめのベンチマークって何かある?
tak じゃない奴希望。
0184デフォルトの名無しさん
2008/03/14(金) 17:37:36これとか? 使ったことないけど。
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/bench/gabriel/0.html
0185デフォルトの名無しさん
2008/03/14(金) 17:54:390186デフォルトの名無しさん
2008/03/14(金) 18:25:530187デフォルトの名無しさん
2008/03/14(金) 19:22:59どこも近日入荷予定だったorz
0188デフォルトの名無しさん
2008/03/14(金) 19:30:41Schemerならプログレだろ?
0189デフォルトの名無しさん
2008/03/14(金) 20:19:07レンガ積むみたいに端から積んでく感じがいいよね
0190デフォルトの名無しさん
2008/03/14(金) 20:26:330191デフォルトの名無しさん
2008/03/14(金) 21:04:05スタックオーバーフローとかで止まる場合があるじゃないですか。
Schemeの継続ってローカル変数の確保以上にリソースを喰いそうなんですが、
継続のための領域もあふれたりすること、あるんですか?
すごく阿呆な質問だったらすみません…
0192デフォルトの名無しさん
2008/03/14(金) 21:13:41問題なのは継続が必要な時に十分に効率的かどうかって事。
けどそれ以前に継続についてよく学んでから考えてはどう?
知識のない状態で、いきなり効率ばかり考えるくせがあると、
単純具象バカになりやすいから。
0193デフォルトの名無しさん
2008/03/14(金) 21:39:070194デフォルトの名無しさん
2008/03/14(金) 21:43:28不要な継続を後生大事にとっておけばそうなる可能性はある。
そうでない限りGCがなんとかしてくれるであろう。
0195191
2008/03/14(金) 22:12:54ありがとうございます。
どちらかと抽象ばっかり考える癖があるので、ちょっと実装に興味を持っているのです。
でももっとちゃんと理解してからにします。
0196デフォルトの名無しさん
2008/03/14(金) 22:33:36質問する前に
テンプレは読め。
0197デフォルトの名無しさん
2008/03/14(金) 22:43:04書けば1行で済むのに
(do ((i 0 (+ i 1)) (xs '() (cons (call/cc values) xs))) ((> i 10000) xs))
0198デフォルトの名無しさん
2008/03/14(金) 22:53:510199デフォルトの名無しさん
2008/03/14(金) 23:39:04(define-syntax letcc
(syntax-rules ()
((letcc var . body)
(call-with-current-continuation
(lambda (var) . body)))))
このマクロ定義の(letcc var . body)や(lambda (var) . body)に出てくる
ドット記号はどういう意味なのでしょうか?
後者は継続を関数として定義しているように見えますが、varに何か値を与えた
場合、結果はどのように評価されるのでしょうか?
0200デフォルトの名無しさん
2008/03/14(金) 23:43:050201デフォルトの名無しさん
2008/03/14(金) 23:47:56(a b c) : (1 2 3) → ((a . 1) (b . 2) (c . 3))
(a b . c) : (1 2 3 4) → ((a . 1) (b . 2) (c 3 4))
評価しない
0202デフォルトの名無しさん
2008/03/15(土) 01:23:30consセルのドットですね。
>>201
Revised5を見てみましたが基本的なルールがわかりませんでした。
(call-with-current-continuation
(lambda (var) . body))
これは継続の定義で、確かに文法どおり1引数を取る関数
(lambda (var) . body)が書かれてますが、この表記の
意味が理解できません。通常の関数の一つとして
(lambda (var) (* 2 var ))ならば、((lambda (var) (* 2 var )) 10)
のように実行できます。上のマクロだと(letcc hoge 3)などとやると
確かに3に評価されるのですが、(lambda (var) . body))のvarにhoge
が渡されて . body が3になるということですか?
やはり(lambda (var) . body)の表記の意味がわかりません。
0203デフォルトの名無しさん
2008/03/15(土) 01:29:13> >>200
> consセルのドットですね。
それがわかっているのに何故>>199のマクロが理解できないか、
そっちの方が理解できないよ。
もしかして (lambda (a b . restargs) ...) も知らない?
0204デフォルトの名無しさん
2008/03/15(土) 01:54:00thx
0205デフォルトの名無しさん
2008/03/15(土) 04:22:58例えば>>3の http://www.sci.u-toyama.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html には
には
手続き
[[構文]] (lambda <仮引数> <ボディ>)
構文: <仮引数>は下記に示す通りの仮引数のリスト(16)でなければならず、
<ボディ>には一つ以上の式が連続しなければならない。
ってなってるから、
. body
の部分がどういう解釈なのかを聞いてるんだと思うんだが。
0206デフォルトの名無しさん
2008/03/15(土) 04:55:32(lambda (var) . body)
↓↑
(lambda (x) (foo x) (bar x) (baz x))
=(lambda (x) . ((foo x) (bar x) (baz x)))
→body = ((foo x) (bar x) (baz x)))
;;;;;;;;;;;;;;;;;;;
(lambda (var) body)
↓↑
(lambda (x) (foo x) (bar x) (baz x))
ミスマッチエラー
0207デフォルトの名無しさん
2008/03/15(土) 05:40:010208デフォルトの名無しさん
2008/03/15(土) 09:38:41あと、(car '()) がエラーになるのは当然なんだけど、これでエラーが発生している行数って分からないものなの?
手続き型言語だとエラーの行数は極当然の情報だけど、これに一番戸惑っている。
0209デフォルトの名無しさん
2008/03/15(土) 10:18:10どのみちマクロ展開でテキストとの対応が取れなくなるだろうし
0210デフォルトの名無しさん
2008/03/15(土) 11:15:56>>203
>>205
>>206
>(lambda (a b . restargs) ...)
これは分かります。
この場合、2個以上の引数を渡すことが出来て、1番目はaに2番目はbに
残りはリストとしてrestagrsに渡されます。
> (lambda (var) . body)
> ↓↑
> (lambda (x) (foo x) (bar x) (baz x))
> =(lambda (x) . ((foo x) (bar x) (baz x)))
> →body = ((foo x) (bar x) (baz x)))
lambda (x)がS式ということならば理解できます。
戻りますが、
(define-syntax letcc
(syntax-rules ()
((letcc var . body)
(call/cc
(lambda (var) . body)))))
(letcc x 3) が(call/cc (lambda(x) (x 3)))に置き換わって継続x
(今の場合何もしない)が実行されて3という結果を生じるのは間違い
なさそうです。これが正しい理解ならば、xはvarに置き換えられますが、
3が(x 3)になるのが理解できません。bodyが3になるとして、
(lambda (x) . 3)だと意味がわかりませんよね。。
0211208
2008/03/15(土) 11:17:28しかし、それなりの規模のコードを書いているときふとエラーが発生したら何を目印にしてデバッグすればいいの?
行番号がないLISPなりのデバッグ方法ってあるの?
0212デフォルトの名無しさん
2008/03/15(土) 11:18:24(letcc x 3) ==> (call/cc (lambda(x) 3)) かもしれません。
0213デフォルトの名無しさん
2008/03/15(土) 11:40:380214デフォルトの名無しさん
2008/03/15(土) 11:57:16(letcc var . body) → (letcc . (var . body))
(letcc x 3) → (letcc . (x . (3 . '())))
var = x
body = (3)
即ち(letcc x 3)は(call/cc (lambda (x) 3))に置換される。
(call/cc (lambda (x) 3))も(call/cc (lambda (x) (x 3)))も
同じ継続に同じ値を返しているから勘違いしたのでは?
0215デフォルトの名無しさん
2008/03/15(土) 12:01:45(lambda (x) 3) → (lambda . ((x) . (3)))だから
マクロのパターンマッチ時には構文とか関係なく
リストの置換処理のみ行われる
0216デフォルトの名無しさん
2008/03/15(土) 12:03:01(lambda (x) . (3))と書いた方が適切だったか
0217デフォルトの名無しさん
2008/03/15(土) 12:26:40> (letcc var . body) → (letcc . (var . body))
> (letcc x 3) → (letcc . (x . (3 . '())))
理解できました。(パズルのようでした。。)
基本的な文法とともにSeasonedを進めていきたいと思います。
ありがとうございました。
0218デフォルトの名無しさん
2008/03/15(土) 12:37:31>>216
紙に書きながら確認したのですが、確かにbodyが(3)なので
(lambda (x) . (3))になります。
. ( は省略できるので(lambda (x) 3)と同義ですね。
(lambda (x) 3) は要素が lambda、 (x)、 3 のリストということですか。
考え方はC言語のマクロと同じで単にラベル置換するだけでよいと。
スッキリしました。ありがとうございました。
0219デフォルトの名無しさん
2008/03/15(土) 12:50:33して、その方法は?
0220デフォルトの名無しさん
2008/03/15(土) 13:07:28Lisperがバグなんて出すわけないじゃん
0221デフォルトの名無しさん
2008/03/15(土) 14:36:400222デフォルトの名無しさん
2008/03/15(土) 14:54:29関数単位でREPLでテストを繰り返す事に尽きるのかな?
0223デフォルトの名無しさん
2008/03/15(土) 14:57:200224デフォルトの名無しさん
2008/03/15(土) 15:48:39初版第1刷が何部出るか分からなかったから
布教用は買わなかったけど。
0225デフォルトの名無しさん
2008/03/15(土) 15:53:06これがヌクヌク本ですか?
0226デフォルトの名無しさん
2008/03/15(土) 16:03:180227デフォルトの名無しさん
2008/03/15(土) 16:17:59紀伊国屋にはあるみたい。
0228デフォルトの名無しさん
2008/03/15(土) 17:04:400229デフォルトの名無しさん
2008/03/15(土) 17:06:060230デフォルトの名無しさん
2008/03/15(土) 17:49:090231デフォルトの名無しさん
2008/03/15(土) 19:25:180232デフォルトの名無しさん
2008/03/15(土) 20:12:03Lisp/Schemeの初心者勉強会って需要ある?
とりあえずIRCつかってやってみたいと思ってるんだけど
0233デフォルトの名無しさん
2008/03/15(土) 20:26:07ここの人たちは経験豊富だから漏れのような初心者の質問は
申し訳なくて躊躇してしまう。結局答えてもらってるけどw。
他言語みたいに初心者スレがあれば相談しやすいんだが。
でも初心者スレに初心者しか集まってもしょうがないか。
分からなかったら聞くという形式がいいな。会社でも
勉強会とかやっても結局あまり意味は無いから。
0234デフォルトの名無しさん
2008/03/15(土) 20:33:38IRCってやったことないけど
やってみたい
0235デフォルトの名無しさん
2008/03/15(土) 21:28:160236232
2008/03/15(土) 21:34:09irc.scenecritique.com
port 6667
チャンネル #Lisp_Scheme
クライアントはcottonあたりが誰でも使いやすいと思います
(LisperならEmacsでつないだ方がいいかもしれませんが)
なるべくつなぎっぱにしておきますが、サーバメンテナンス後とかは
誰もいない状況になるかもしれません
※IRCはつないだまま離席している人が結構いるので即返答はないことが多いです
0237デフォルトの名無しさん
2008/03/15(土) 21:42:47lambda式はreadの後、evalの前にコンパイルできるけど
その評価された値である手続きはevalより前にはコンパイルできませんよね?
それとも、CLだと「手続きを返す手続きがコンパイルされると、その返される手続きもコンパイルされる」から
「コンパイルされたlambda式は、コンパイルされた手続きを返す」とかになるんでしょうか?
(そもそもCLの#'構文は手続きへと評価される式ではなく、手続きのリテラル表現?)
0238デフォルトの名無しさん
2008/03/15(土) 21:44:56文字コードは?
0239デフォルトの名無しさん
2008/03/15(土) 21:52:20仕様を満たす限りいつコンパイルしてもよい。コンパイルしなくてもよい。
0240デフォルトの名無しさん
2008/03/15(土) 22:06:15すみません、そういう話ですらありませんでした。
勘違いしてました。
237は忘れてくださいorz
0241デフォルトの名無しさん
2008/03/15(土) 22:49:42暇なやつはこっちもつないでみれ
どっちかというと雑談メインな気もするが
0242デフォルトの名無しさん
2008/03/16(日) 10:37:00Webチャットが嫌でなければここ↓で聞くと良いかも。
http://www.lingr.com/room/gauche
0243デフォルトの名無しさん
2008/03/16(日) 13:10:36今確認したら4/8-4/22とかになってた…。何コレ?初版割当分売切れ?(3/9予約した)
0244デフォルトの名無しさん
2008/03/16(日) 13:16:020245デフォルトの名無しさん
2008/03/16(日) 13:36:50cbookには品切れって書いてある。すごい人気本だなw
とりあえず本屋いってくるよ。
0246デフォルトの名無しさん
2008/03/16(日) 13:38:11おれには今尼から到着。注文は1日前の3/8。意外と明日あたりくるかもYO。
0247デフォルトの名無しさん
2008/03/16(日) 13:46:080248デフォルトの名無しさん
2008/03/16(日) 14:03:28ありゃま。店頭にダッシュで買いに行かないと一ヶ月待ちかも。
まあ、あせることもないと思うけど。
おれのは修正された版が到着。
初版第1刷ってなってるけどw
shiroさん、Kahuaチーム、出版社のみなさんご苦労様でした。
とても丁寧な仕事にびっくりです。とても初版第1刷とは思えないです。
出版物って中の人しだいなんだな。
次の版では是非是非コンビネータのネタも入れて欲しいな、このスレ的にはw
あとチャーチ・ロッサーの定理とかチューリング完全性も触れたらよかったかな。
書かないまでも参考文献の紹介とか書くと初学者が勉強しやすいと思う。
0249デフォルトの名無しさん
2008/03/16(日) 14:32:08とっつきやすい本が欲しいのは同意
0250デフォルトの名無しさん
2008/03/16(日) 15:17:40正誤表更新しました。
速報は以下で。
http://tudura.kahua.org/view/006056
>>248
コンビネータを入れるとしても実用的な視点が必要でしょうね。
うまい実例を思いついたら入るかも。
0251デフォルトの名無しさん
2008/03/16(日) 15:43:52コンビネータって実用的な例を紹介するのがネックかもしれませんね。
あくまでもココ最近のこのスレのネタとして流行ってるだけかもしれないしw
Emacsの設定の話なんかも載ってて初学者に優しい構成なのに参考文献が載ってないのは要改善かな。
ある程度わかってくるとググルこともできるけど。現状、最初の言語にSchemeという人が少ないから無問題?
0252デフォルトの名無しさん
2008/03/16(日) 16:37:24(プログラミング経験はほとんど無し)
0253デフォルトの名無しさん
2008/03/16(日) 16:39:44同意
>チャーチ・ロッサーの定理とかチューリング完全性
とかは別に他の解説書を見れば良い。実用的なプログラムをSchemeで書く
というテーマの本の方がよっぽど希少だし、貴重。
0254デフォルトの名無しさん
2008/03/16(日) 16:40:490255デフォルトの名無しさん
2008/03/16(日) 16:41:020256デフォルトの名無しさん
2008/03/16(日) 16:48:04そんなことないと思いますよ。
自分も単なる趣味としてLisp/Schemeでプログラミングを学び初めてみましたが、
そういう趣向でも楽しめています。
将来的に真っ当なプログラマになろうというのだと、ちょっと違うかもしれませんが…。
0257デフォルトの名無しさん
2008/03/16(日) 16:57:46順序はどうあれ手続き型、関数型、オブジェクト指向、並列型などをどのみち学ぶんだし。
やりたくても高価で手が出なかった時代じゃないし、やる気と興味次第でどれから始めてもおk。
0258デフォルトの名無しさん
2008/03/16(日) 17:05:390259243
2008/03/16(日) 17:12:23自分:「在庫確認よろしいですか?フムフムヌクヌクアプアア…」
店員:「…(プッ」
自分:「い、いや、あの、プログラミング ゴーッシュ、G. A. U. C. H. Eという本ですが」
自分:「あ、ISBN番号は...」
店員:(話を遮り)「オライリーの本ですね。ありますよ(はーと)」
有隣堂++
0260252
2008/03/16(日) 17:17:44レスどもです。ちなみに30過ぎのおっさんで、趣味でやろうと思ってます。
Practical Schemeのグレアムの翻訳記事を見て面白そうだと感じました。
先ほど、Gauche本買ってきて読み始めた所ですが、「本書の"主な"対象読者が
Schemeをやった事が無いけど、他のプログラミング経験がある人」と
書いてあって、若干出鼻をくじかれた所です。
0261デフォルトの名無しさん
2008/03/16(日) 17:21:390262デフォルトの名無しさん
2008/03/16(日) 17:24:23http://www.shido.info/lisp/idx_scm.html
が入門者にはおすすめできると思う
0263デフォルトの名無しさん
2008/03/16(日) 17:25:060264デフォルトの名無しさん
2008/03/16(日) 17:40:46丁寧に書いてあるみたいだね。
0265デフォルトの名無しさん
2008/03/16(日) 18:04:120266デフォルトの名無しさん
2008/03/16(日) 18:05:44「18章 構文の拡張」はグレアムの「On Lisp」を考えて記述してあるので、読後On Lispへ進むこともできる。
0267デフォルトの名無しさん
2008/03/16(日) 18:16:05早いなオイ
0268デフォルトの名無しさん
2008/03/16(日) 18:23:00本見たら、制限あるけどwinでも動くってよ
0269デフォルトの名無しさん
2008/03/16(日) 18:25:33(・∀・)人(・∀・)ナカーマ
俺もそんな感じで最近プログラミングに挑戦してみようと思って、まずは
SICPをのろのろ読んでるところです。
学生時代に lambda calculi やら computability theory やらを少しかじってた
ので、Lisp系がとっつきやすいかな、と思ってSchemeに挑戦中なのですが、
そのほかのプログラミング言語の知識がほぼ皆無なので、Gauche本はもう少し
鍛えてからにしようかと思っています。
0270デフォルトの名無しさん
2008/03/16(日) 18:27:53前スレにwin神がうpしたバイナリがある
0271デフォルトの名無しさん
2008/03/16(日) 18:29:08えっ、解説環境はLinuxなの?シーキビだな。
この間うpしてくれたWindows用のGauche使おうと
思ってたのに。
0272デフォルトの名無しさん
2008/03/16(日) 18:29:30漏れもSICP絶賛手間取り中なので、Gauche本読みはだいぶ遅れそう orz
0273デフォルトの名無しさん
2008/03/16(日) 18:30:27MzSchemeやらないか
いまFFIのことを調べたりしてるんだが、意外と簡単そうなので
自分で好きなように拡張できると思う
0274デフォルトの名無しさん
2008/03/16(日) 18:35:30並列して読んでもいいんじゃないか?
Gauche本の方は電車は風呂の中でも読める内容だろうし。
0275デフォルトの名無しさん
2008/03/16(日) 18:43:53自分は逆にSICP読んでもチンプンカンプンで途中で挫折したので、
実践的なCauche本読んでからSICPに移ろうと思ってます。
LLかじってLispにたどり着いた感じ。
0276デフォルトの名無しさん
2008/03/16(日) 18:53:36どっちかって言うとThe Ruby Wayに近い感じだった。
入門者は「第2部 Gaucheの基礎練習」をしっかり読めばSICPとかに進めます。
この本の売りはなんと言っても第3部の実用篇でしょう。
スクリプト言語としての特徴を詳説してます。
CGIあり、データーベースありで、Kahuaの基礎も学べます。
0277デフォルトの名無しさん
2008/03/16(日) 19:00:08公式ページにもWinバイナリ一応あるがな。(´・ω・`)
http://practical-scheme.net/gauche/download-j.html
前スレで上がってたのはslibとかwilikiとか同梱してある分だけ便利だけど。
↓に更にglintも同梱したのがおいてあるぞ。
http://saito.s4.xrea.com/wiliki.scm?Gauche
0278デフォルトの名無しさん
2008/03/16(日) 19:05:28第3部はおもしろいな。15章でSXMLの説明があるのにはたまげた。
0279デフォルトの名無しさん
2008/03/16(日) 19:12:410280デフォルトの名無しさん
2008/03/16(日) 19:16:000281デフォルトの名無しさん
2008/03/16(日) 19:18:070282デフォルトの名無しさん
2008/03/16(日) 19:29:35でも日本語が文字化け。
gosh -V
Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
(modify-coding-system-alist 'process "gosh" '(utf-8 . utf-8))
でダメだったので、以下も追加した。
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
それでも、run-schemeでは文字化けします。
どうすれば日本語表記出来ますか?
0283デフォルトの名無しさん
2008/03/16(日) 19:38:320284デフォルトの名無しさん
2008/03/16(日) 19:42:46Emacs とかライブラリとか全部込み込みのヤツ。
0285デフォルトの名無しさん
2008/03/16(日) 19:58:000286デフォルトの名無しさん
2008/03/16(日) 20:05:52coLinuxを使えばいいじゃない
0287デフォルトの名無しさん
2008/03/16(日) 20:20:070288デフォルトの名無しさん
2008/03/16(日) 21:01:28解決策が見つからなければ、euc-jpのエンコードで再コンパイル→インストールしてGaucheを使います。
0289デフォルトの名無しさん
2008/03/16(日) 21:03:04=> #t
0290デフォルトの名無しさん
2008/03/16(日) 21:07:240291デフォルトの名無しさん
2008/03/16(日) 21:11:16なんか分かってきました。
OSがVine Linuxだからのような気がしてきました。
他のディストリビューションならOKなのかな?
0292デフォルトの名無しさん
2008/03/16(日) 21:15:01ttp://softsupport.seesaa.net/article/25598905.html
Emacs21とかでUTF-8+日本語扱うのに苦労したって人のブログ。
参考になるかわからんが。
たぶん、ディストリビューションの問題じゃないと思われ。
0293デフォルトの名無しさん
2008/03/16(日) 21:15:05emacsがutf-8のBOM付きと無しの両方をちゃんと扱えるか確認してみろ。
0294デフォルトの名無しさん
2008/03/16(日) 21:17:210295デフォルトの名無しさん
2008/03/16(日) 21:17:40しかし肝心の本が届かない。
0296デフォルトの名無しさん
2008/03/16(日) 21:24:00rubyのRSpecみたくプログラムから切り離すのが主流になってるから、
ちょっと逆行してるなぁ。本の最初の方で紹介するのイクナイ。
0297デフォルトの名無しさん
2008/03/16(日) 21:35:28RSpecってナニ?マルチバイト文字の利用をプログラムから切り離すって?
逆行とは? Ruby ではマルチバイトの利用がもっと便利ってこと?
0298デフォルトの名無しさん
2008/03/16(日) 21:42:30わからんならわからんでええやん。逝ってよし。
0299デフォルトの名無しさん
2008/03/16(日) 21:44:34年代モノだよね
0300デフォルトの名無しさん
2008/03/16(日) 21:52:11激同。最近はググレが流行中w
そのうちgoogleもなくなるんだろうか?
0301デフォルトの名無しさん
2008/03/16(日) 21:54:22故に>>296はイミフ。
Rubyが文字列の扱いがCSIなことを言いたいんだろうか?
0302デフォルトの名無しさん
2008/03/16(日) 21:57:34どこが「故に」かオマエがイミフだw
0303デフォルトの名無しさん
2008/03/16(日) 22:09:330304デフォルトの名無しさん
2008/03/16(日) 22:30:52とりあえず>>302に説明希望。
0305デフォルトの名無しさん
2008/03/16(日) 22:31:13あたりを読んでみるとrubyも昔のperlみたくnkfでやってる。
でも特定の条件では上手く動かないらしい。
もしかするとこの辺でRSpecとか?
0306デフォルトの名無しさん
2008/03/16(日) 22:33:06第三者のオレになんで説明希望するの?>>301だろw
0307デフォルトの名無しさん
2008/03/16(日) 22:35:030308デフォルトの名無しさん
2008/03/16(日) 22:42:09と、知ったかぶって引っ込みのつかなくなった>>297 = >>301が言っておりますw
0309デフォルトの名無しさん
2008/03/16(日) 22:55:010310デフォルトの名無しさん
2008/03/16(日) 23:05:340311デフォルトの名無しさん
2008/03/16(日) 23:27:45-''":::::::::::::`''> ゆっくりしていってね!!! <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
|::::::;ノ´ ̄\:::::::::::\_,. -‐ァ __ _____ ______
|::::ノ ヽ、ヽr-r'"´ (.__ ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_ _,.ヘーァ'二ハ二ヽ、へ,_7 'r ´ ヽ、ン、
::::::rー''7コ-‐'"´ ; ', `ヽ/`7 ,'==─- -─==', i
r-'ァ'"´/ /! ハ ハ ! iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ ,' ,ゝ レリイi (ヒ_] ヒ_ン ).| .|、i .||
`! !/レi' (ヒ_] ヒ_ン レ'i ノ !Y!"" ,___, "" 「 !ノ i |
,' ノ !'" ,___, "' i .レ' L.',. ヽ _ン L」 ノ| .|
( ,ハ ヽ _ン 人! | ||ヽ、 ,イ| ||イ| /
,.ヘ,)、 )>,、 _____, ,.イ ハ レ ル` ー--─ ´ルレ レ´
0312デフォルトの名無しさん
2008/03/16(日) 23:57:490313デフォルトの名無しさん
2008/03/17(月) 01:13:55> 他のディストリビューションならOKなのかな?
fedora 8だけど問題ないよ.
"GNU Emacs 22.1.2 (i686-pc-linux-gnu, GTK+ Version 2.12.3)
gosh -V
Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
gosh> (display "日本語表示テストです.")
日本語表示テストです.#<undef>
gosh> (string-ref "Scheme処理系" 8)
#\系
gosh> (list->string (reverse (string->list "アルゴリズム")))
"ムズリゴルア"
gosh>
0314デフォルトの名無しさん
2008/03/17(月) 02:36:32(omaemona itteyoshi)
0315デフォルトの名無しさん
2008/03/17(月) 04:58:440316デフォルトの名無しさん
2008/03/17(月) 07:33:14Emacs21は対応してないってだけでしょ
Mule-UCSを入れないと
0317デフォルトの名無しさん
2008/03/17(月) 08:15:19入れるとビックリするほど遅いが。
0318デフォルトの名無しさん
2008/03/17(月) 11:51:59[+ 1 {+ 3 4}]
みたいに()以外の括弧も使えますよね。
これって単に見た目だけの違いなんでしょうか?
0319デフォルトの名無しさん
2008/03/17(月) 12:34:250320デフォルトの名無しさん
2008/03/17(月) 13:16:020321デフォルトの名無しさん
2008/03/17(月) 13:19:24schemeインタプリタ/コンパイラのためのシステムコールを作る特製の
パッチ当ててるとか?
0322デフォルトの名無しさん
2008/03/17(月) 13:19:450323デフォルトの名無しさん
2008/03/17(月) 13:24:28kernelでブートした後schemeだけで閉じてるってこと?(ってか少し前にlispだけの環境がブートするFDイメージの話があったけどあの系列?)
0324デフォルトの名無しさん
2008/03/17(月) 13:25:45新たにLinuxPC立ち上げてる人いるかなと思って。
0325デフォルトの名無しさん
2008/03/17(月) 13:25:480326デフォルトの名無しさん
2008/03/17(月) 13:29:51schemeは必要ないからそんな事してない。
(Javaはfirefox pluginとか、いろいろと生活環境と同じだと面倒くさい)
/usr/localにsnapshotはいれてある。
0327デフォルトの名無しさん
2008/03/17(月) 13:35:17Pen4 3GHz、メモリ1GBでももう低スペックなのかもしれない。組みなおそうかな。
0328デフォルトの名無しさん
2008/03/17(月) 13:44:100329デフォルトの名無しさん
2008/03/17(月) 13:47:320330デフォルトの名無しさん
2008/03/17(月) 13:49:15みんなでScheme OS作ろうぜ。w
0331デフォルトの名無しさん
2008/03/17(月) 13:57:300332デフォルトの名無しさん
2008/03/17(月) 14:07:450333デフォルトの名無しさん
2008/03/17(月) 14:12:100334デフォルトの名無しさん
2008/03/17(月) 14:24:12これか。世の中おもしろいな。
ttp://slashdot.jp/linux/03/04/29/0742257.shtml
0335デフォルトの名無しさん
2008/03/17(月) 14:48:17>>332
んでもって Schemix は既に中の人が飽きぎみで、>>331 をプッシュしてる
0336デフォルトの名無しさん
2008/03/17(月) 15:58:380337デフォルトの名無しさん
2008/03/17(月) 16:09:280338デフォルトの名無しさん
2008/03/17(月) 16:53:550339デフォルトの名無しさん
2008/03/17(月) 17:45:30Seasoned SchemerのP79の最初のパラグラフの英訳について
Here are our thoughts:
"When a (let ...) has two expressions in its
value part, we must first determine the
value of the first expression. If it has one,
we ignore it and determine the value of the
second expression.
(let ...)構文のvalue part(名前付けの部分ではなく式の並び部分)
についての説明ですが、If it has one, の部分がわかりません。
以下は予想訳ですが、正しいでしょうか?
(予想訳)
(let ...)がvalue partに二つの式を持っているとき、まず最初に
一番目の式を決定(評価するという意味)しなければいけません。
もし????ならば、それを無視して、二番目の式を決定します。
要は二つの式を上から順番に評価していくんだよ、と言いたいのだと
思っているのですが、If it has one, の it と one が何を指してるのかが
わからず理解できません。it が (let ...)、 one が one expression のこと
かなとも思ったのですが、そうすると以降の意味が分からなくなってしまいます。
読まれた方いましたら教えてください。
0340デフォルトの名無しさん
2008/03/17(月) 18:07:49わからない
おわり
0341デフォルトの名無しさん
2008/03/17(月) 18:10:02あー、それそれ、ちょっと使ってみたけど面白かった(大昔のlispマシンの雰囲気味わえるんで)
>>338
MIT GNU Schemeじゃだめなん?
0342デフォルトの名無しさん
2008/03/17(月) 18:21:50逝ってよし
>>340
オマエモナー
0343デフォルトの名無しさん
2008/03/17(月) 18:42:37ng+scmってのはどうなんだろう?
>>339
もしかしたら
(let ((x 0) (y 0))
exp1
exp2)
の値は
exp1を無視してexp2になるってことかな?
0344デフォルトの名無しさん
2008/03/17(月) 18:45:500345デフォルトの名無しさん
2008/03/17(月) 18:59:35If the first expression has a value
じゃないの?
0346デフォルトの名無しさん
2008/03/17(月) 19:00:38そうだと思ってます。
そうだとすると、If it has one, の it は the first expression を指していて
one は、the value を指していると考えれば、辻褄は合いますかね。
(let ...)がvalue partに二つの式を持っているとき、まず最初に
一番目の式を決定(評価するという意味)しなければいけません。
もし一番目の式が値を持つなら、それを無視して二番目の式を決定します。
このように理解しておきます。レスありがとうございました。
0347デフォルトの名無しさん
2008/03/17(月) 19:01:29時間差でした。
レスありがとうございます。
そう理解するようにしました。
0348デフォルトの名無しさん
2008/03/17(月) 19:29:11他の言語でデバッグとかの経験あるんだろうに。
0349デフォルトの名無しさん
2008/03/17(月) 20:28:11英語の理解が正しいかということでしょ?
0350デフォルトの名無しさん
2008/03/17(月) 20:49:470351デフォルトの名無しさん
2008/03/17(月) 21:16:440352デフォルトの名無しさん
2008/03/17(月) 21:18:23まともな奴はこんな2ちゃんなんてやってないだろうし。
0353デフォルトの名無しさん
2008/03/17(月) 21:19:190354デフォルトの名無しさん
2008/03/17(月) 21:38:05一つ目の式の値を持たなければ
二つ目の式の値を決定しようとはしない
意味論的には、
一つ目の式がbottomになれば、つまり値を持たないなら、
二つ目の式の値が何であろうと、let全体はbottomになる。
Schemeはトップレベルを持つので、
このことが言語的にも実質的に意味がある。
>>336
Guile Emacs
http://www.mit.edu/~raeburn/guilemacs/
0355デフォルトの名無しさん
2008/03/17(月) 21:39:32プログラミングGauche買ってきた。
LispとかSchemeっていうとアカデミックで
高尚な言語という印象だけど、文体は平易で読みやすい感じ。
がんばる 私 Gauche
0356デフォルトの名無しさん
2008/03/17(月) 21:52:45>>355ガンガレ
>>277
どうもです。ありがたくいただきます。
なんか俺の環境だとglintうまくビルド出来なかったんだよね。
0357デフォルトの名無しさん
2008/03/17(月) 22:19:58glintモジュールは対象ファイル名を標準入力から受け取る変な仕様で、
起動させるためのシェルスクリプトもshが必要。
なので、>>277のはglintモジュールに引数で対象ファイル名を渡すようにした上で
起動スクリプトをGaucheで書き直してmingw-exifyで変換してコンパイルしてある。
だからもしglint.exeからでなくglintをモジュールとして使うなら
オリジナルと非互換になってしまう。そのへんちょっと注意要。
0358デフォルトの名無しさん
2008/03/17(月) 22:22:590359デフォルトの名無しさん
2008/03/17(月) 22:55:25拡張というか、実装上の都合みたいなものでいくつかscheme本来の意味論から乖離している点はある模様。
↓一例
http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3a%23%3csyntax%3e%e3%82%84%23%3cmacro%3e%e3%81%ae%e8%a9%95%e4%be%a1
このほかにもハイジニックマクロでのリネーム関連でちょっと手抜きになってるところがあって、
マクロを生成するマクロで問題が生じる場合があるってどっかで見た。
syntax-rulesとdefine-macroをあわせて使うと妙な衝突が起こるとかもどこかに書いてあった。
(WiLiKiの方かLingrの方だったか思い出せない)
詳しいことは難しくてわからんかった。
0360デフォルトの名無しさん
2008/03/18(火) 00:06:440361デフォルトの名無しさん
2008/03/18(火) 00:41:400362デフォルトの名無しさん
2008/03/18(火) 00:43:43shiro氏曰く「R6RSならモジュールを分けることで可能」。
R6RSって不評だと思ってたけど、良い事もあるのね。
でもちょっとCLっぽいかも。
>>145-154でもdefine-syntaxがちょこっと出てきてたけど、
遅延とかマクロが判らないうちはこういう使い方しないでしょ?
普通に使う分には>>358の疑問は問題なしと言えるんジャマイカ?
0363デフォルトの名無しさん
2008/03/18(火) 02:21:410364デフォルトの名無しさん
2008/03/18(火) 02:53:02MovitzはLispマシンの雰囲気あるかなあ…。
例えば、どの辺り?
今のところx86の上で直に動いてるちょっと変わったCL処理系って感じだけど…。
0365デフォルトの名無しさん
2008/03/18(火) 03:59:280366デフォルトの名無しさん
2008/03/18(火) 06:14:100367デフォルトの名無しさん
2008/03/18(火) 08:05:36書いてないよ。Meadowでもそのままいけるんじゃない?
0368346
2008/03/18(火) 10:10:11>一つ目の式がbottomになれば、つまり値を持たないなら、
>二つ目の式の値が何であろうと、let全体はbottomになる。
ありがとうございます。
これは理解していませんでした。
0369デフォルトの名無しさん
2008/03/18(火) 19:04:55やってみる
0370デフォルトの名無しさん
2008/03/18(火) 22:02:24>Interlisp-Dとか、Lispマシンと言ったらああいうのの事想像されるんじゃない。
漏れもそういう感じだなあ。
ベアメタルの上でLISPが動いてるだけじゃなくて、
なんというかOSも含めた総合環境が評価されていたのがLispマシンという感じ。
まあ、「bootstrapとかmemrefとかwith-inline-assembly」
あたりにLispマシンを感じるというのも正しいといえば、正しい方向な気もする。
0371デフォルトの名無しさん
2008/03/18(火) 22:16:37ttp://www.biwa.ne.jp/~tanaka/Calc/Texinfo/Texi2html/calc-jp_toc.html
0372デフォルトの名無しさん
2008/03/18(火) 22:18:560373デフォルトの名無しさん
2008/03/18(火) 23:27:21Gaucheネ申登場!てかノリが軽いなw
0374デフォルトの名無しさん
2008/03/18(火) 23:50:200375デフォルトの名無しさん
2008/03/19(水) 00:33:530376デフォルトの名無しさん
2008/03/19(水) 00:36:490377デフォルトの名無しさん
2008/03/19(水) 00:41:37さらに実装はCommon Lispだし。
0378デフォルトの名無しさん
2008/03/19(水) 01:23:23http://sumim.no-ip.com:8080/collab/76
0379デフォルトの名無しさん
2008/03/19(水) 01:29:26http://www2.parc.com/isl/groups/nltt/medley/screenshot.gif
Schemeでもこんな感じのフリーのIDEがあったらぽっくんしあわせだお
0380デフォルトの名無しさん
2008/03/19(水) 01:47:33デジタル・レトロな良い味出てるなあ
0381デフォルトの名無しさん
2008/03/19(水) 02:03:540382デフォルトの名無しさん
2008/03/19(水) 13:21:05懐かしい雰囲気だ。twmの設定をいじりまくってたことを思い出したよ。
0383デフォルトの名無しさん
2008/03/19(水) 13:59:200384デフォルトの名無しさん
2008/03/19(水) 14:04:450385デフォルトの名無しさん
2008/03/19(水) 14:04:520386デフォルトの名無しさん
2008/03/19(水) 14:17:500387デフォルトの名無しさん
2008/03/19(水) 14:33:370388デフォルトの名無しさん
2008/03/19(水) 14:38:01ドゥザーなので出来なくて涙目なんだお…
0389デフォルトの名無しさん
2008/03/19(水) 19:44:01そう思うのは無理もないんだけど、でも、Lispマシンに関しては、
懐古趣味だけで片付けられる話ではないと思うよ。
未だにLispマシンの統合環境の提供する快適さを超える
ものは少ないという人もいるし。
0390デフォルトの名無しさん
2008/03/19(水) 19:54:44結局は専用マシンでしか発達せず、
淘汰されてきたことも忘れてはならない。
Gauche関連開発陣はその反省にたって、
汎用OS上の環境を整備しようとしているように見える。
0391デフォルトの名無しさん
2008/03/19(水) 20:02:31なんで突然そこまで話が飛ぶのかがわからない。
0392デフォルトの名無しさん
2008/03/19(水) 20:16:220393デフォルトの名無しさん
2008/03/19(水) 20:19:33その話は俺が振ったんだ。そうか、それならしょうがないな。
好きなだけ話していいぞ。
0394デフォルトの名無しさん
2008/03/19(水) 20:32:520395デフォルトの名無しさん
2008/03/19(水) 20:46:35例の色本以外にもいいテキストがあれば、
もっと普及しただろうに。> smalltalk
0396デフォルトの名無しさん
2008/03/19(水) 20:55:400397デフォルトの名無しさん
2008/03/19(水) 21:01:400398デフォルトの名無しさん
2008/03/19(水) 21:01:500399デフォルトの名無しさん
2008/03/19(水) 21:09:56ああ、こういうのを「ハック」っていうんだろうな、と思った。
0400デフォルトの名無しさん
2008/03/19(水) 21:17:020401デフォルトの名無しさん
2008/03/19(水) 21:19:330402デフォルトの名無しさん
2008/03/19(水) 21:22:56あ、ホントだ。これからもよろしくお願い致します。
0403デフォルトの名無しさん
2008/03/19(水) 21:24:49しかもまわりにSchemeやってる人はゼロ。そんなの覚えて
役に立つの?なんてこともある。だからこのスレは貴重なんです。
0404デフォルトの名無しさん
2008/03/19(水) 21:25:540405デフォルトの名無しさん
2008/03/19(水) 21:36:54クロージャとオブジェクトの微妙な関係(1)
川合史朗
ttp://www.ibm.com/developerworks/jp/opensource/library/itm-progevo3/index.html
プログラミング言語の進化を追え: 第4回 大人のためのブラックボックス読解講座
クロージャとオブジェクトの微妙な関係(2)
川合史朗
ttp://www.ibm.com/developerworks/jp/opensource/library/itm-progevo4/index.html
0406デフォルトの名無しさん
2008/03/19(水) 21:40:03最近、Seasoned Schemerに話題が移ってるな。
0407デフォルトの名無しさん
2008/03/19(水) 21:45:21それわかる。Excel使ってるとき、ココでSchemeが使えればと思うことがある。
特に入れ子になった=if( , , )文とかみるとcondがあってホスイ。
0408デフォルトの名無しさん
2008/03/19(水) 21:51:06ええ、今そちらを進めていますので。すいません。
0409デフォルトの名無しさん
2008/03/19(水) 22:04:20schemersでそ
0410デフォルトの名無しさん
2008/03/19(水) 22:08:12SIAG (Scheme in a Grid)は廃れちゃったな。
http://siag.nu/siag/
>>409
複数、かな?
0411デフォルトの名無しさん
2008/03/19(水) 22:11:090412デフォルトの名無しさん
2008/03/19(水) 22:23:39そんな素敵なものがあったなんて!
0413デフォルトの名無しさん
2008/03/19(水) 23:16:33OpenOffice.orgやfirefoxのscheme bindingが欲しいなあ
0414デフォルトの名無しさん
2008/03/20(木) 00:30:56勉強中の漏れにはスゲー勉強になった
0415デフォルトの名無しさん
2008/03/20(木) 03:50:57使いもんにならないと思いませんか?
0416デフォルトの名無しさん
2008/03/20(木) 04:15:30Google Japan から検索してるからでしょ。US のを使ったら良いよ。
0417デフォルトの名無しさん
2008/03/20(木) 04:21:230418デフォルトの名無しさん
2008/03/20(木) 09:52:30マクロの出番がないなら、Javascript 辺りが説明用の言語としては良かったかも。
on~ で処理をつないでいくからクロージャはよく使う。
0419デフォルトの名無しさん
2008/03/20(木) 10:10:55プロトタイプ指向じゃ食い付きが悪いだろ。
0420デフォルトの名無しさん
2008/03/20(木) 10:25:510421デフォルトの名無しさん
2008/03/20(木) 12:26:07それ俺だ
0422デフォルトの名無しさん
2008/03/20(木) 12:46:03俺はさくっとMac買ってきた。
0423デフォルトの名無しさん
2008/03/20(木) 13:47:280424デフォルトの名無しさん
2008/03/20(木) 13:53:220425デフォルトの名無しさん
2008/03/20(木) 14:19:03Windowsがいいとはいわんが、移植性は大事だよな
0426デフォルトの名無しさん
2008/03/20(木) 14:26:09次に native thread の移植でつまづくの二段がまえだからな。
0427デフォルトの名無しさん
2008/03/20(木) 14:32:40(define (tree-walk walker proc tree)
(walker (lambda (elt)
(if (list? elt)
(tree-walk walker proc elt)
(proc elt)))
tree))
この中のlambdaの引数eltの意味が分かりません。
defineの中に出てきてない引数がいきなり出てきている点が
いまいち納得できません。
単純なlambda式なら理解できるのですが、少し複雑になってくると、
理解できないです。
このeltはどういう意味なんでしょうか?
0428デフォルトの名無しさん
2008/03/20(木) 14:43:45インデントが見づらいよ。下のようにすれば、elt が出てきてる所はすべて lambda 式の中に入ってて、
lambda 式の引数が elt だって理解できるんじゃね?
(define (tree-walk walker proc tree)
(walker (lambda (elt)
(if (list? elt)
(tree-walk walker proc elt)
(proc elt)))
tree))
0429デフォルトの名無しさん
2008/03/20(木) 14:44:06(define (hoge x) (hage x)) は (define hoge (lambda(x) (hage x))) の構文糖衣であることを思い出せ。eltはいきなり出てきたんじゃなくてそこで導入されたんだよ!
0430デフォルトの名無しさん
2008/03/20(木) 14:50:43ありますでしょうか。
0431デフォルトの名無しさん
2008/03/20(木) 14:53:23emacsにscheme-complete.elを導入する
0432デフォルトの名無しさん
2008/03/20(木) 15:03:26slime + eclipse か slime + emacs
そこまで充実してなくていいなら、tag ファイル作るのが簡単で良い。
0433デフォルトの名無しさん
2008/03/20(木) 15:13:24そこで誰かがC#でIronSchemeを作ると言う罠。
0434デフォルトの名無しさん
2008/03/20(木) 15:14:15(define tree-walk
(lambda (walker proc tree)
(walker (lambda (elt)
(if (list? elt)
(tree-walk walker proc elt)
(proc elt)))
tree)))
little schemerみたいに言うと、
tree-walkは3引数関数で最初の引数はwalker。
このwalkerは関数(lambda (elt))と treeを引数にとる2引数関数。
tree-walkの結果は関数walkerの実行結果。
で、いいんですか?
0435デフォルトの名無しさん
2008/03/20(木) 15:27:50最初の障壁は GC の実装じゃないかな
0436デフォルトの名無しさん
2008/03/20(木) 15:48:55ttp://www.codeplex.com/IronScheme
0437デフォルトの名無しさん
2008/03/20(木) 15:54:30/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ 今日もまた、SICP
| (__人__) | タンポポのせる
\ ` ⌒´ / 仕事が始まるお…
0438デフォルトの名無しさん
2008/03/20(木) 15:54:510439デフォルトの名無しさん
2008/03/20(木) 17:22:06>>426
>>435
最初の壁は、単純に人的リソース不足では?
0440デフォルトの名無しさん
2008/03/20(木) 17:55:01ことがあるので教えてください。
昔からJavaなどの言語で見た目が綺麗なコードって、関数型風っていうんでしょうか。
あまり手続きをずらずら並べた感じのものでは無いという印象を持ってました。
こういうJavaなどの手続き言語によって書かれた美しいコードは、Schemeなどの
関数型言語のラムダ式を基礎としたものと等価と考えてよいのでしょうか?
きちんと構造化されており、変数のスコープも最小限度になっているコードという
のはSchemeによって書かれたコードと等価な気がするんですが、勘違いでしょうか。
0441デフォルトの名無しさん
2008/03/20(木) 18:17:03勘違いです。
0442デフォルトの名無しさん
2008/03/20(木) 18:37:05パターン�@ let式とset!式の間にlambda式がある
define gobbler
(let ((x......
(lambda (food)
(set! x ......
パターン�A let式とset!式の間にlambda式が無い
define nibbler
(lambda (food)
(let ((x......
(set! x ......
P101の So why is it unimaginable? に対する回答がlet式とset!式の間に
lambda式が存在していないからだよとなっていますが、これが何故いけない
のでしょうか?上記パターン�@が良くてパターン�Aがいけない理由を教えて
ください。
また、P100の What is the value of nibbler? に対する回答がUnimaginable
となっていますが、僕はIt is a function.と答えられる気がするのですが
どうでしょうか?
よろしくお願いします。
0443デフォルトの名無しさん
2008/03/20(木) 18:46:34世の中に広まっている変な物に迎合できる人材は、好きな物を好きなように
作りたい人材に比べて貴重だということだね。w
0444デフォルトの名無しさん
2008/03/20(木) 19:07:52あんまり関係ない。
>>426
signalと非構造化例外の扱い
0445デフォルトの名無しさん
2008/03/20(木) 20:01:46その次の段階でなんか壁があるでしょ
0446デフォルトの名無しさん
2008/03/20(木) 20:05:53GC に signal 使うでしょ。
0447デフォルトの名無しさん
2008/03/20(木) 23:36:47おれはLittle SchemerのためにPalm Z22買ってLispMe入れた。Littleだけど快適。
0448デフォルトの名無しさん
2008/03/21(金) 00:11:220449デフォルトの名無しさん
2008/03/21(金) 00:16:38http://tillanosoft.com/ce/ngj.html
0450デフォルトの名無しさん
2008/03/21(金) 00:25:130451デフォルトの名無しさん
2008/03/21(金) 00:26:360452デフォルトの名無しさん
2008/03/21(金) 00:29:490453デフォルトの名無しさん
2008/03/21(金) 00:37:48まじか!
ttps://webmail.iro.umontreal.ca/pipermail/gambit-list/2006-October/000870.html
今からDS買ってくる!
0454デフォルトの名無しさん
2008/03/21(金) 00:44:58マジコンも用意しないといけないんじゃね?
0455デフォルトの名無しさん
2008/03/21(金) 00:50:03この上でGauche動くかな?
0456デフォルトの名無しさん
2008/03/21(金) 00:53:310457デフォルトの名無しさん
2008/03/21(金) 00:56:300458デフォルトの名無しさん
2008/03/21(金) 01:10:320459デフォルトの名無しさん
2008/03/21(金) 01:11:420460デフォルトの名無しさん
2008/03/21(金) 01:13:07アイポン(笑)
0461デフォルトの名無しさん
2008/03/21(金) 01:17:450462デフォルトの名無しさん
2008/03/21(金) 01:29:330463デフォルトの名無しさん
2008/03/21(金) 01:33:300464デフォルトの名無しさん
2008/03/21(金) 01:40:320465デフォルトの名無しさん
2008/03/21(金) 01:47:21「指、きたッスwwww」
0466デフォルトの名無しさん
2008/03/21(金) 01:52:44大切りかよw
Squeak on NEO1973とか見るとSchemeも期待できそう。
http://www.lshift.net/blog/2007/08/23/squeak-and-openembedded
http://russell-allen.com/squeak/faure/screenshots/index.html
0467デフォルトの名無しさん
2008/03/21(金) 01:55:49○ 大喜利
0468デフォルトの名無しさん
2008/03/21(金) 02:02:490469デフォルトの名無しさん
2008/03/21(金) 02:08:590470デフォルトの名無しさん
2008/03/21(金) 02:10:320471デフォルトの名無しさん
2008/03/21(金) 02:12:410472デフォルトの名無しさん
2008/03/21(金) 02:17:34( ゚∀゚)彡 Scheme VM!Scheme VM!
⊂彡
0473デフォルトの名無しさん
2008/03/21(金) 02:24:480474デフォルトの名無しさん
2008/03/21(金) 02:32:470475デフォルトの名無しさん
2008/03/21(金) 02:33:480476デフォルトの名無しさん
2008/03/21(金) 02:37:360477デフォルトの名無しさん
2008/03/21(金) 06:43:32どんな使い方してるんだろ。
0478デフォルトの名無しさん
2008/03/21(金) 08:45:570479デフォルトの名無しさん
2008/03/21(金) 08:48:080480デフォルトの名無しさん
2008/03/21(金) 09:02:50自分は自宅鯖にOpenBSDザウルスを使ってる
モバイルの意味ねー
0481デフォルトの名無しさん
2008/03/21(金) 09:25:13USのDRMだかの絡みでマジコンはそろそろ日本でも消える、
というか任天堂がマジコン販売店に内容証明郵便送りまくってるから
買うならお早めにどうぞ。
ちなみにPythonも動いてる。
でもキーボード無いから単体じゃ開発は無理だぞw
0482デフォルトの名無しさん
2008/03/21(金) 11:55:550483デフォルトの名無しさん
2008/03/21(金) 12:46:40DSのPythonは本家じゃなくてStacklessが移植されてる。
本家はnative threadとか色々めんどいし。
0484デフォルトの名無しさん
2008/03/21(金) 13:00:120485デフォルトの名無しさん
2008/03/21(金) 15:50:15Schemeコードも一旦パーサーでANSI Cに書き出してやれば直ぐに動かせる?
0486デフォルトの名無しさん
2008/03/21(金) 15:56:390487デフォルトの名無しさん
2008/03/21(金) 16:16:16「何してんの?」
「踊ってやってんじゃン」
「だからなんで?」
「ランバダって書いてるじゃン」
「え?・・・Lambdaのことか?」
「ランバダ!ランバダ!イェー!」
「・・・Lambdaのバカ・・・」
0488デフォルトの名無しさん
2008/03/21(金) 16:16:56やってみりゃわかる
0489デフォルトの名無しさん
2008/03/21(金) 16:23:27Cを高級アセンブラみたいに位置づけて考えるならそうだね。
gccのポータビリティーでかなり吸収できる。
0490デフォルトの名無しさん
2008/03/21(金) 16:38:550491デフォルトの名無しさん
2008/03/21(金) 16:50:46より安価なハードに今後も移行していくんだろうな。将来性があるのはLinuxベースのLiMoとかNEOか。
0492デフォルトの名無しさん
2008/03/21(金) 16:53:470493デフォルトの名無しさん
2008/03/21(金) 17:03:04Zaurusは大抵の処理系が何もしなくても動くだろ。
0494デフォルトの名無しさん
2008/03/21(金) 17:13:08なにもしなくても動けば結構なんだが、実際は結構手を加えてる。
0495デフォルトの名無しさん
2008/03/21(金) 17:16:250496デフォルトの名無しさん
2008/03/21(金) 17:18:120497デフォルトの名無しさん
2008/03/21(金) 17:22:120498デフォルトの名無しさん
2008/03/21(金) 17:23:21http://www.rainer-keuchel.de/wince/maxima-ce.html
コレはイイ!
0499デフォルトの名無しさん
2008/03/21(金) 17:26:21それで動かなければ何もしなくても動くとは言えない罠w
0500デフォルトの名無しさん
2008/03/21(金) 18:23:22Scheme ⇒ define:letrec
Common Lisp ⇒ defun:Labels
0501デフォルトの名無しさん
2008/03/21(金) 19:23:56ANSI Cが引き受けてるって事じゃなくて、
処理系書く時には、メモリ利用、速度、起動速度などの効率を考えて、
いろいろ工夫をしたくなる。例えばANSI C未定義の振る舞いを利用したり、
プラットフォーム依存のAPIを使ったり。ANSI Cの範囲内でやるのを重視するか、
他のことを重視するかは処理系設計の問題。
ANSI Cがやるべきことを、ANSI Cが引き受けてるのは何でも同じ。
>>493
それが意外と動かない。
バイトオーダーが違うだけで駄目な処理系も多いし、
ヒープをダンプする仕組みがあると結構苦労する。
それから、過去レスで、メモリ空間の配置の違いで起きる
GCのバグが発見されたことがあったでしょ。
0502デフォルトの名無しさん
2008/03/21(金) 19:27:20下の二行を書く意味が分からない。
その対比は危険だという記事の主旨とは反するのに。
0503デフォルトの名無しさん
2008/03/21(金) 19:35:11開発者があらかじめ手を加えてるから動くものと
POSIX+ANSI-Cの範疇で書いてるから動くものとある罠。
PS2LinuxでUnix系を覚え
Debian玄箱を鯖に使い
OpenBSD-Zaurusを現在常用する為
必要以上に移植性を気にするようになってしまった。
PPC-OSXもXPもi386-Debianも持ってるんだけど
メジャー所の環境でしか動かないorバイナリしか提供されないものに食指が動かない。
0504デフォルトの名無しさん
2008/03/21(金) 20:18:57後者は「自分で作れるでしょ」ってことで放置されているのでは?
0505デフォルトの名無しさん
2008/03/21(金) 21:04:57動かない環境に移植するのもまた楽し。
0506デフォルトの名無しさん
2008/03/21(金) 21:08:060507デフォルトの名無しさん
2008/03/21(金) 21:32:45>>503はそんなこと言われなくても楽しんでる人間だと思うが?
0509デフォルトの名無しさん
2008/03/21(金) 21:49:250510デフォルトの名無しさん
2008/03/21(金) 21:56:070511デフォルトの名無しさん
2008/03/21(金) 22:08:34大人の世界では「ナカーマ」というのをああやって言い合うらしいYO!
0512デフォルトの名無しさん
2008/03/21(金) 22:10:090513デフォルトの名無しさん
2008/03/21(金) 22:12:05二重否定と言えば、俺はremove-if-notをpreserve-ifに直したくなるなあ。
*-if-not系は混乱しちゃうんだな。
0514デフォルトの名無しさん
2008/03/21(金) 22:16:25「混乱する様な部分は歴史が古い証拠
どっかの古参リスパがそう言っていましたよ
0515デフォルトの名無しさん
2008/03/21(金) 22:21:32これはおいらのWZero3[es] で動きますか?
0516デフォルトの名無しさん
2008/03/21(金) 22:32:304番目:「And it is what ・・・」
0517デフォルトの名無しさん
2008/03/21(金) 22:33:58ちょっと手を加える。そのサイトのどっかに書いてある。
0518デフォルトの名無しさん
2008/03/21(金) 22:39:230519デフォルトの名無しさん
2008/03/21(金) 22:41:24>>448
0520デフォルトの名無しさん
2008/03/21(金) 22:41:24お前が作らないから出てこないんだよ
0521デフォルトの名無しさん
2008/03/21(金) 22:42:440522デフォルトの名無しさん
2008/03/21(金) 22:45:18どうでもいい。ホンットどうてもいい。
0523デフォルトの名無しさん
2008/03/21(金) 22:48:03『"historucally reason" てのは
「海より深いわけがあって」と訳すんだ』
って, 教えてくれた先輩がいたのを思い出した
0524デフォルトの名無しさん
2008/03/21(金) 22:49:19もみ子じゃありません
0525デフォルトの名無しさん
2008/03/21(金) 22:57:040526デフォルトの名無しさん
2008/03/21(金) 22:59:240527デフォルトの名無しさん
2008/03/22(土) 00:43:11http://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html
の継続の説明と
>>214さんのレス見れば意味はワカルよ。define-syntaxとかの使い方はワカっとらんけど。
16章あたりは、おれには変態コードにしか映っていないw
Schemerシリーズって初心者onlyが対象ではない気もする。
C言語で言うとK&Rみたいなもんか。
>>516
左側
And it is what we got.
右側
Amazing! We did not do any intersecting at all.
0528デフォルトの名無しさん
2008/03/22(土) 00:44:010529デフォルトの名無しさん
2008/03/22(土) 01:38:36>16章あたりは、おれには変態コードにしか映っていないw
Y! (=Y-bang)
0530デフォルトの名無しさん
2008/03/22(土) 02:34:51Schemerシリーズ読んでも実践的には意味が無いってこと?
0531デフォルトの名無しさん
2008/03/22(土) 02:39:580532デフォルトの名無しさん
2008/03/22(土) 03:11:45変態に対する偏見は捨てましょう。
0533デフォルトの名無しさん
2008/03/22(土) 03:15:28わかった。俺も変態になる!
0534デフォルトの名無しさん
2008/03/22(土) 05:04:140535デフォルトの名無しさん
2008/03/22(土) 11:32:520536デフォルトの名無しさん
2008/03/22(土) 13:00:21>左側
>And it is what we got.
>右側
>Amazing! We did not do any intersecting at all.
ありがとうございます。
0537デフォルトの名無しさん
2008/03/22(土) 13:49:44Little Schemerの9章でYコンビネータの理解が不十分だったからちょっとムズかった。
その後にも>>529の書いてる変種のYコンビネータが出て来る。
Seasoned Schemerの主題は継続とクロージャーの理解。
これがわかると>>405のクロージャとオブジェクトも理解できる。CLOSに発展する話。
さらにReasoned SchemerでProlog入門を勉強した。Little Schemerの10章の発展版。
3冊通して話が出来てるからSICPとはまた違った楽しみがある。読んでよかった。
0538デフォルトの名無しさん
2008/03/22(土) 13:52:480539デフォルトの名無しさん
2008/03/22(土) 14:11:580540デフォルトの名無しさん
2008/03/22(土) 14:13:020541デフォルトの名無しさん
2008/03/22(土) 14:17:16((lambda (f) (f f)) (lambda (f) (lambda (n) (if (= n 0) 1 (* n ((f f) (- n 1)))))))
でいいじゃん
0542デフォルトの名無しさん
2008/03/22(土) 14:20:36それでいいんじゃん。Littleは使い方ではなく仕組みを説明する本。勘違いするな。
0543デフォルトの名無しさん
2008/03/22(土) 14:23:570544デフォルトの名無しさん
2008/03/22(土) 14:37:33これらは、全て「遅延評価」を評価戦略におくプログラミング言語であり、「純粋関数型言語」と呼ばれるグループです。
ISWIM は、ラムダ計算の関数型コアを命令型言語の糖衣構文で包んだものである。
変更可能な変数と代入と強力な制御機構として Landin の J 演算子を追加してある
(J演算子は継続を可能としたもので、Scheme の call/cc は J 演算子を簡略化したものである)。
ラムダ計算に基づいているので、ISWIM は高階関数とスコープ変数を備えている。
このラムダ計算と等価なコンビネータ理論にYコンビネータは含まれます。
だからSchemeの継続の説明にYコンビネータが使われます。
0545デフォルトの名無しさん
2008/03/22(土) 14:44:03まで読んだ
0546デフォルトの名無しさん
2008/03/22(土) 14:44:40しかし,1965 年 Peter Landin は J 演算子という 汎用の脱出演算子を発明した。
John Reynolds はより単純だが同等に強力なコンストラクト を 1972 年に記述した。
Sussman と Steele によって 1975 年版 Scheme 報告書に 記述された catch 特殊形式は,Reynolds のコンストラクトと正確に 同じであるが,
ただしその名前は MacLisp の中のある汎用性の低いコンストラクトに由来している。
何人かの Scheme 実装者は,catch コンストラクトの完全な強力さを, 特別な構文のコンストラクトによるかわりに,
手続きによって用意できることに気付き,名前 call-with-current-continuation が 1982 年に新造された。
一部の人々は call/ccやletcc という名前をかわりに使っている。
0547デフォルトの名無しさん
2008/03/22(土) 14:48:050548デフォルトの名無しさん
2008/03/22(土) 15:04:170549デフォルトの名無しさん
2008/03/22(土) 15:16:370550デフォルトの名無しさん
2008/03/22(土) 15:30:03(・∀・)人(・∀・)ナカーマ
でもまだp.40ぐらい。
0551デフォルトの名無しさん
2008/03/22(土) 15:32:200552デフォルトの名無しさん
2008/03/22(土) 15:36:50パターン�@はgobblerの定義時の1回だけxが導入される。
パターン�Aはnibblerが呼び出されるたびにxが導入される。
0553デフォルトの名無しさん
2008/03/22(土) 16:29:46レスありがとうございます。
gobblerも呼び出す度に、let式で毎回xには評価された値がセットされる
わけではないということなのでしょうか?
ただ、パターン�@もパターン�Aも結果的に効果は同じのように思えるのですが
nibblerとgobblerを比較して何を言おうとしてるのかわかりません。
P101に以下のQAがあります。
Q
So what was the use of (let ...)
何がlet式を使用したのか?
A None. If (let ...) 省略 , they don't help us to remember things.
何も使用していない。もし、let式とset!式が間にlambda式無しで使用されるならば
あるものを記憶することの役には立たない。
パターン�@だと値を保持しておくことができて、パターン�Aではできないと
いう意味だと思いますが、そうすると、パターン�@(gobbler)を呼び出す度に、
毎回xには評価された値がセットされるわけではなく、gobblerを実行する度にxには
最後にset!された値が保持されているということになるのでしょうか?
0554552
2008/03/22(土) 17:07:20その本もって無いから意図はわからんが、
そのふたつのパターンの効果は同じではない。
たとえばこういう定義をしたとして、
(define gobbler
(let ((x 1))
(lambda ()
(set! x (+ x 1))
x)))
(define nibbler
(lambda ()
(let ((x 1))
(set! x (+ x 1))
x)))
それぞれを何度か評価してみると出てくる値は違う。
(gobbler) ⇒ 2
(gobbler) ⇒ 3
(gobbler) ⇒ 4
(nibbler) ⇒ 2
(nibbler) ⇒ 2
(nibbler) ⇒ 2
これがわかってないってことはlambdaがわかってないってことだぞ。
100ページまで読んでその程度とはずいぶんのんびりした本だな。
0555デフォルトの名無しさん
2008/03/22(土) 17:26:34たびたびありがとうございます。
例に挙げていただいたgobblerのほうでは
let式でのxへの1のセットはgobbler定義時に一度だけ
ということですね。nibblerには疑問ありません。
let式の内部名(x)に評価された値(1)がいつセットされるのかがわかってませんでした。
>100ページまで読んでその程度とはずいぶんのんびりした本だな。
いえ、著者は説明してるはずですが自分が読解できてないだけです。。
0556デフォルトの名無しさん
2008/03/22(土) 17:49:23思ってたのですが違うんですね。変数のスコープとか
let式の評価のタイミングとかが分かってないと思います。
0557デフォルトの名無しさん
2008/03/22(土) 18:00:59ttp://www.geocities.jp/m_hiroi/func/abcscm10.html
0558552
2008/03/22(土) 18:01:46Cとかと違って寿命は無い。
無限に存在し続ける(かのように振舞う)。
これはJavaScriptとかでも同じ。
無限エクステントと呼ばれている。
0559デフォルトの名無しさん
2008/03/22(土) 18:32:35ありがとうございます。
もうクロージャという領域の話しなんですか。
確認しておきます。
>>558
>Cとかと違って寿命は無い。
>無限に存在し続ける(かのように振舞う)。
なるほど。Cでいえば関数ローカルのなstatic変数
みたいなものですかね。
0560552
2008/03/22(土) 18:37:55> なるほど。Cでいえば関数ローカルのなstatic変数
> みたいなものですかね。
「みたいなもの」とかいう形で理解するのはやめた方がいいぞ。
本質的に違うものを置き換えて理解してるとそっちのスタイルに
引きずられる。中途半端にしかわからんようになって破綻する。
0561デフォルトの名無しさん
2008/03/22(土) 18:49:470562デフォルトの名無しさん
2008/03/22(土) 19:00:090563デフォルトの名無しさん
2008/03/22(土) 20:08:120564デフォルトの名無しさん
2008/03/22(土) 20:19:24確かに対比すると混乱するのでやめます。
gobblerとnibblerの違いは>>557のクロージャの説明で理解できました。
関数gobblerを定義する。
クロージャ
→lambda式
→環境 (x = 1)
を生成する。
gobblerを一度実行する(クロージャ実行)と、lambda式を評価し環境を(x = 2)に更新する。
gobblerを再度実行する(クロージャ実行)と、lambda式を評価し環境を(x = 3)に更新する。
関数nibblerを定義する。
クロージャ
→lambda式
→環境なし(局所変数は無いので)
を生成する。
nibblerを一度実行(クロージャ実行)すると、lambda式を評価する。
nibblerを再度実行(クロージャ実行)すると、lambda式を評価する。
ということですね。
0566デフォルトの名無しさん
2008/03/22(土) 20:33:51あれ、単にデモ用に作っただけなので、glintには入っていません。
0567デフォルトの名無しさん
2008/03/22(土) 20:34:31nibblerではlambda式を評価するときに環境(常に x = 1)があります。
(その環境の下でlambda式が評価される)
0568デフォルトの名無しさん
2008/03/22(土) 21:03:17(lambda (x) ......))
のような大域関数を定義するということは、クロージャを生成してる
と考えてよいのですか?
0569デフォルトの名無しさん
2008/03/22(土) 21:11:19クロージャに名前をつけているだけでした。
0570デフォルトの名無しさん
2008/03/22(土) 21:14:13shiroさんカワイソスw
gobblerは環境(x=1)を持ったlambda式を定義して
それにアクセスすることによりx=2,3,4...となっている。
nibblerは単にlambda式の中にローカルな変数を作ってるだけね。
0571デフォルトの名無しさん
2008/03/22(土) 21:23:550572デフォルトの名無しさん
2008/03/22(土) 21:40:36あれ、キャラが一人歩きしてるじゃん。変なオジサンというキャラで。てか狙ってるだろw
あの機能は実装してくっ付けるとシュールでいいんジャマイカ?
気分害したら何なのでキャラは変更できるようにしておくとかw
0573デフォルトの名無しさん
2008/03/22(土) 21:54:30理解できました。ありがとうございました。
0574デフォルトの名無しさん
2008/03/22(土) 21:58:050575デフォルトの名無しさん
2008/03/22(土) 22:05:42動かすのにWebカメラが必要なのと、あまりに実用性
なさ過ぎなのでglintには含めることはないのですが、
あのキャラクタ表示プログラム自体はGauche-ARToolKitの
example/avatar/ に入っています
(さすがに顔はへのへのもへじに変更してありますが)。
avatar.scmを起動するとポート12345で待ち受けるので、
telnetなりなんなりで接続して以下のコマンドを送りつけると
いろいろ動きます。
(show-avatar) ;; キャラクタを表示する
(hide-avatar) ;; キャラクタを非表示にする
(show-text) ;; テキスト画面を表示する
(hide-text) ;; テキスト画面を非表示にする
(clear-text) ;; テキストを消去する
(say n text) ;; n行目にtextを表示する(UTF-8で送れば日本語もOK)
(right-arm n) ;; 右手をn度上に上げる(0が水平)
(left-arm n) ;; 左手をn度上に上げる(0が水平)
(head n) ;; 頭をn度回転させる(0が正面)
あと、256x256のSGI RGB Imageフォーマットで
face.rgbを作れば顔のテクスチャが変わります。
Wavefront形式のOBJ&MTLフォーマットを読める
ようにしてあるので、自分でモデリングすることも
一応できます(プログラムも変えないと駄目だけど)。
デモではglintの出力結果を正規表現で日本語に変換して
適当なモーションを付けてavatar.scmにつなげました。
0576デフォルトの名無しさん
2008/03/22(土) 22:22:01思った以上に細かく動かせるので笑えました。
プレゼンの隠し味的に使うのが流行ると面白いですね。
0577デフォルトの名無しさん
2008/03/22(土) 22:22:34Lispコミュニティはアカデミックで凄い感じの人が多いけど、
glintの中の人は別の意味ですごいなw
次回も期待してるぜ!
0578デフォルトの名無しさん
2008/03/22(土) 22:32:19「使ってみたくなるlint」というのは斬新ですね。
0579デフォルトの名無しさん
2008/03/23(日) 20:47:32ここだとずいぶん人気があるんだね。驚いたよ。
0580デフォルトの名無しさん
2008/03/23(日) 20:55:48よろすく
0581デフォルトの名無しさん
2008/03/23(日) 21:37:19gaucheでもって、Cで言う
printf("%10.3f", x);
みたいなことは、どうやればできるのでしょうか。
schemeの勉強がてら、stlファイルを読んで、vtkファイルを生成したろ、と
思ったんですが、バイナリファイルを読むのは簡単だったのに、ASCIIファイルを
書き出すのにつまづいてます....orz
0582552
2008/03/23(日) 21:53:25http://practical-scheme.net/gauche/man/gauche-refj_174.html
要するにお前らは学ぶ気なんて無いんだな。
0583デフォルトの名無しさん
2008/03/23(日) 22:27:34学ぶ気が無いとかイライラするのもどうかと思うよ。
マターリいこうぜ。
まぁ本当にただの教えて君だったらスルーすればいいだけのこと。
0584デフォルトの名無しさん
2008/03/23(日) 22:50:49そこは現実世界じゃない。早く目を覚ませ。
0585デフォルトの名無しさん
2008/03/23(日) 22:54:100586デフォルトの名無しさん
2008/03/23(日) 22:54:58「gauche(のformat)には、実数のフォーマット出力機能はないから
SLIBのprintf系使っとけ」ってことですね。どもです。
「せっかくformatがあるのに、部分的にprintfかぁ」
っと思ったら、gaucheのformatには無い「F」のフォーマット指定子がSLIBのformatには
あることを見付けました。
http://www-swiss.ai.mit.edu/~jaffer/slib_4.html#SEC57
(use slib)
(require 'format)
(format #f "~10,3F" 32.4)
=> " 32.400"
formatかprintf系か、どちらかで統一してコードを書いていけばよいのだと思いますが、
とりあえず、formatで統一して書いてみることに挑戦してみてから、どちらがいいか
考えてみます。
0587デフォルトの名無しさん
2008/03/23(日) 23:01:52Scheme ⇒ define:letrec :無限エクステント
Common Lisp ⇒ defun:labels:無限エクステント
Emacs Lisp ⇒ defun:labels:ダイナミックスコープ
>>442-573みたいな話はLisp系でも処理系によって結果が異なるからポートするときは要注意!
安易にdefine⇒defunとかletrec⇒labelsとかやりがちw
0588デフォルトの名無しさん
2008/03/23(日) 23:25:430589デフォルトの名無しさん
2008/03/23(日) 23:29:53それがこのスレに重要?
0590552
2008/03/23(日) 23:41:44Gaucheに限るならwriteをカスタマイズすることも出来るでよ。
(define-class <num10-3> ()
((n :init-keyword :n :init-value 0 :getter n)))
(define-method num10-3 ((num <number>))
(make <num10-3> :n num))
(define-method write-object ((object <num10-3>) (port <port>))
(let ((num (n object)))
(format port "~10d." (truncate->exact num))
(format port "~d" (- (truncate->exact (* 1000 num))
(* (truncate->exact num) 1000)))))
(format #f "~a" (num10-3 32.4))
0591デフォルトの名無しさん
2008/03/23(日) 23:45:52ある意味重要かも。
ちゃんとマニュアル読めばわかるはずなんだけど、
クラス指向のオブジェクトシステムとは全然違うって
ことを意識してないと絶対混乱する。
0592デフォルトの名無しさん
2008/03/23(日) 23:54:530593デフォルトの名無しさん
2008/03/23(日) 23:58:07>ちゃんとマニュアル読めばわかるはずなんだけど、
くやしいのうw
0594デフォルトの名無しさん
2008/03/24(月) 00:00:48-― ̄ ̄ ` ―-- _
, ´ , ~  ̄、"ー 、
_/ / ,r _ ヽ ノ
, ´ / / ● i"
,/ ,| / / _i⌒ l| i |
と,-‐ ´ ̄ / / (⊂ ● j'__ |
(´__ 、 / /  ̄!,__,u● |
 ̄ ̄`ヾ_ し u l| i /ヽ、
,_ \ ノ(`'__ノ
(__  ̄~" __ , --‐一~⊂ ⊃_
 ̄ ̄ ̄ ⊂ ̄ __⊃
⊂_____⊃
0595デフォルトの名無しさん
2008/03/24(月) 00:01:480596デフォルトの名無しさん
2008/03/24(月) 00:02:01ちがう人だよ
0597デフォルトの名無しさん
2008/03/24(月) 00:03:37スレタイ読める?
0598583
2008/03/24(月) 00:04:02あと俺は592じゃないよ。
0599デフォルトの名無しさん
2008/03/24(月) 00:04:21○ >>583 = >>591
0600デフォルトの名無しさん
2008/03/24(月) 00:05:120601583
2008/03/24(月) 00:07:300602デフォルトの名無しさん
2008/03/24(月) 00:14:15それ!
0603デフォルトの名無しさん
2008/03/24(月) 00:21:100604デフォルトの名無しさん
2008/03/24(月) 00:25:33特定の言語によらない抽象的なものの考え方が必要なんだ
0605デフォルトの名無しさん
2008/03/24(月) 00:36:220606デフォルトの名無しさん
2008/03/24(月) 00:40:46そうやって相手は馬鹿だから…と納得しようとすることこそが馬鹿の壁なんだよ
よくある誤解だけど
0607デフォルトの名無しさん
2008/03/24(月) 00:50:030608デフォルトの名無しさん
2008/03/24(月) 01:24:470609デフォルトの名無しさん
2008/03/24(月) 01:25:030610デフォルトの名無しさん
2008/03/24(月) 01:28:260611デフォルトの名無しさん
2008/03/24(月) 01:33:530612デフォルトの名無しさん
2008/03/24(月) 06:05:24まぁ、そんなんで「押しつけられた!」とか思う奴がいたらビョーキだし、
ビョーキの人の言うことを気にして「何も意見を言わない」方針をとったってしょうがないからね。
0613デフォルトの名無しさん
2008/03/24(月) 07:11:24正直、
> YコンがSchemeの働きを理解するために重要
ってことはない。
しかしYコンビネータさえ理解できない人間は、
Schemeを使いこなすのは厳しいだろう。
0614デフォルトの名無しさん
2008/03/24(月) 07:14:09その「Schemeを使いこなす」はどの程度を言うのかはっきりさせてくれないと
肯定も否定もしようがない。
0615デフォルトの名無しさん
2008/03/24(月) 07:19:22それはλカリキュラスの仕組みであって、
Schemeは再帰にYコンビネタ使ってないしねえ。
0616デフォルトの名無しさん
2008/03/24(月) 07:24:330617デフォルトの名無しさん
2008/03/24(月) 09:22:340618デフォルトの名無しさん
2008/03/24(月) 18:06:10読んでないなw
0619デフォルトの名無しさん
2008/03/24(月) 18:14:00発送されたああああああ
0620デフォルトの名無しさん
2008/03/24(月) 18:29:132刷だったら激しく嫉妬w
0622デフォルトの名無しさん
2008/03/24(月) 21:29:36ミスプリの修正は間に合ってなくて、でも追加(glintとか)があって第二版になってたらいいのにw
0623デフォルトの名無しさん
2008/03/24(月) 21:42:310624デフォルトの名無しさん
2008/03/24(月) 22:40:330625デフォルトの名無しさん
2008/03/24(月) 23:03:36トイ・プログラミング以外で、
Yコンビネーターで再帰関数定義する人なんてほとんどいないでしょう?
0626デフォルトの名無しさん
2008/03/24(月) 23:09:37質問が頓珍漢w
0627デフォルトの名無しさん
2008/03/24(月) 23:14:05そういう形式が便利なこともある。
直接Yコンビネータな形でプログラムを書かなくても、
使われて無いとか、役に立たないってことは無いんだよ。
0628デフォルトの名無しさん
2008/03/24(月) 23:22:300629デフォルトの名無しさん
2008/03/24(月) 23:29:56具体的にはどういう使い方?
0630デフォルトの名無しさん
2008/03/25(火) 00:00:08食べようとして跳び上がるが、ぶどうの房はみな高い所にあり、届かない。
何度跳躍してもついに届かず、キツネは怒りと悔しさで、
「どうせこんなぶどうは、すっぱくてまずいだろう。誰が食べてやるものか」
と捨て台詞を残して去ってゆく。
手に入れたくてたまらないのに、いくら努力しても手が届かない対象(人、物、地位、階級など)がある場合、
その対象を価値の無いもの、低級で自分にふさわしくないものとみなす事であきらめ、心の平安を得る。
フロイトの心理学において防衛機制、合理化の例として有名。
また、英語圏において"Sour Grapes"は「負け惜しみ」を意味する熟語にもなっている。
0631デフォルトの名無しさん
2008/03/25(火) 00:14:200632デフォルトの名無しさん
2008/03/25(火) 00:19:220633デフォルトの名無しさん
2008/03/25(火) 00:33:520634デフォルトの名無しさん
2008/03/25(火) 00:37:110635デフォルトの名無しさん
2008/03/25(火) 00:48:580636629
2008/03/25(火) 00:50:53Yコンビネタをコンパイラでうまく使ったケースを教えてくれ。
昔、SKIYコンビネタの処理系や
Lisp1.5風で再帰だけYコンビネータ使う処理系を作ったことあるが、
Yコンビネタに変換するところが一番面倒。
プログラマがYコンビネタを明示的に使うのはプログラミングが面倒だし。
しかも再帰の展開遅くてメリットなし。
環境/シンボルテーブル・ルックアップで、
再帰を実現した方がよい。
部分計算でインタプリタからコンパイラを導出するような研究でも、
Yコンビネタを有効に使ったのはまだ見たことない。
面白いのがあれば論文を教えて。
0637デフォルトの名無しさん
2008/03/25(火) 00:53:220638デフォルトの名無しさん
2008/03/25(火) 00:54:54↓
0639デフォルトの名無しさん
2008/03/25(火) 01:13:080640デフォルトの名無しさん
2008/03/25(火) 01:14:000641デフォルトの名無しさん
2008/03/25(火) 01:23:530642デフォルトの名無しさん
2008/03/25(火) 01:24:07http://citeseer.ist.psu.edu/cache/papers/cs/140/http:zSzzSzwww.maths.bath.ac.ukzSz~ak1zSzpaperszSzinfer.pdf/kind93practical.pdf
0643デフォルトの名無しさん
2008/03/25(火) 02:09:350644デフォルトの名無しさん
2008/03/25(火) 02:14:480645デフォルトの名無しさん
2008/03/25(火) 02:29:12Yコンビネータを絡めてkwsk
0646デフォルトの名無しさん
2008/03/25(火) 04:25:04ttp://citeseer.ist.psu.edu/mcadams01practical.html
Yはプログラムの構造を柔軟にし,部品化を促進するためのグルーだという話ですね
0647デフォルトの名無しさん
2008/03/25(火) 04:44:39"recursive monadic bindings"に萌えた
0648デフォルトの名無しさん
2008/03/25(火) 05:33:42正直、そういう用途なら hook とか advice みたいな仕組みのほうが有効だと思う。
直接呼び出す場合ならいいけど、間に他の関数が入ったりすると困難になりそう。
そういう使いかたは思いつかなかったから、面白かったけどね。
0649デフォルトの名無しさん
2008/03/25(火) 10:15:49|Y|
0650デフォルトの名無しさん
2008/03/25(火) 12:32:000651デフォルトの名無しさん
2008/03/25(火) 13:22:590652デフォルトの名無しさん
2008/03/25(火) 13:35:300653デフォルトの名無しさん
2008/03/25(火) 13:49:160654デフォルトの名無しさん
2008/03/25(火) 14:52:420655デフォルトの名無しさん
2008/03/25(火) 18:54:120656デフォルトの名無しさん
2008/03/25(火) 20:36:270657デフォルトの名無しさん
2008/03/25(火) 22:05:410658デフォルトの名無しさん
2008/03/25(火) 22:13:49すれ違いになるジャン。
ってか、人それぞれだろ。
0659デフォルトの名無しさん
2008/03/25(火) 22:22:01いいと思うのは、型の存在かなぁ。
自分は関数型まだまだ初心者なんですけど、Lisp、Schemeの人々って
型についてはどう考えてるんでしょうか?Schemeは凄い美しいと思うんですけど
その辺の融通無碍なところは現実の開発の時に結構厄介じゃないかな、とか
思ってしまうのですが。
0660デフォルトの名無しさん
2008/03/25(火) 22:45:01何が言いたいのかわからんが、common lispは型指定できるし、
高度な最適化がされるコンパイラでは型推論もするぞ。
Scheme の処理系独自で型を指定して高速化するような処理系もある。…とおもった。
0661デフォルトの名無しさん
2008/03/25(火) 22:54:15CommonLispの型は高速化(チューニング)の手段と考えられていると思う。
それぞれの言語で型に対する姿勢も違う。
0662デフォルトの名無しさん
2008/03/26(水) 00:26:570663デフォルトの名無しさん
2008/03/26(水) 00:33:15http://codepad.org/
コードを書いて実行した時のURLを記録しておけば、
実行結果も一緒にさらす事が出来て幸せです。
0664デフォルトの名無しさん
2008/03/26(水) 00:54:55((lambda (x) (+ x 1)) 0)
結果がでない orz
0665デフォルトの名無しさん
2008/03/26(水) 01:02:27(display がぬけてる
0666デフォルトの名無しさん
2008/03/26(水) 01:03:01Schemeインタプリタみたく、評価した式の値も表示してくれるのかと思いきや、
Outputに出てくるのはstdoutに書き出した内容だけなのね;
0667デフォルトの名無しさん
2008/03/26(水) 01:40:53(define Y
(lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg)))))))
(define (Fact my-fact)
(lambda (n)
(if (= n 0)
1
(* n (my-fact (- n 1))))))
(define fact (Y Fact))
(define (Fib my-fib)
(lambda (n)
(if (<= n 1)
1
(+ (my-fib (- n 1))
(my-fib (- n 2))))))
(define fib (Y Fib))
(display (fib 10))
(display "\n")
(display (fact 10))
0668デフォルトの名無しさん
2008/03/26(水) 03:30:520669デフォルトの名無しさん
2008/03/26(水) 05:48:47「何その括弧だらけのソース(笑)、もっとゲームとか実用的なもの作ればぁ?」
どう対応すればいいですか・・・
0670デフォルトの名無しさん
2008/03/26(水) 06:09:160671デフォルトの名無しさん
2008/03/26(水) 06:39:410672デフォルトの名無しさん
2008/03/26(水) 06:47:00ゲームに対して「実用」っていう表現が出てくるのが実に子供らしいと思った。
0673デフォルトの名無しさん
2008/03/26(水) 07:30:37レISP
LISP
0674デフォルトの名無しさん
2008/03/26(水) 08:28:530675デフォルトの名無しさん
2008/03/26(水) 09:06:210676デフォルトの名無しさん
2008/03/26(水) 12:22:590677デフォルトの名無しさん
2008/03/26(水) 12:39:44「不自由なHSPなんかでここまでやるか」
と
「わざわざLispなんかでここまでやるか」
はベクトル一緒のような気もする
0678デフォルトの名無しさん
2008/03/26(水) 13:30:50http://www.amazon.co.jp/dp/4627836708/
この本はどうですか?
Schemeを習得するのに価値ある本?
0679デフォルトの名無しさん
2008/03/26(水) 13:48:22Schemeでゲームとか実用的なものを作れば良いのでは?w
0680デフォルトの名無しさん
2008/03/26(水) 13:51:490681デフォルトの名無しさん
2008/03/26(水) 14:00:45お友達は「実用的」と認めてくれるかなw?
0682デフォルトの名無しさん
2008/03/26(水) 14:02:170683デフォルトの名無しさん
2008/03/26(水) 15:24:40つ ttp://jp.franz.com/base/seminar/2005-11-18/SeminarNov2005-Abe.pdf
0684デフォルトの名無しさん
2008/03/26(水) 16:29:16グラフィックスバリバリ(笑)のゲームを作るしかない。
いかに有用なツールを作っても、彼らには興味がない。
なぜならゲーム以外のことに興味が向いてないから。
だからグラフィックスバリバリ(笑)のゲームを作るしかない。
まあ相手にしないという手もある。
0685デフォルトの名無しさん
2008/03/26(水) 16:46:37Schemeのスコープはレキシカルスコープだということですが、
lambda関数の仮引数や、そのlambda式の中でdefineやletを使用して
局所的に定義された変数は全て、関数実行中だけ存在していて、
関数終了後は消滅すると考えてよいのですか?
例
(define func
(lambda (x)
(define z ....)
(let ((y ....))
....)))
x, y, z は func 実行中だけ存在している??
0686デフォルトの名無しさん
2008/03/26(水) 16:54:320687デフォルトの名無しさん
2008/03/26(水) 16:59:59他から参照されてないなら、関数から抜けてGCされるまで存在する。
スタックに割り当てられるような場合は抜けるときに消えるかもしれんが処理系依存。
でも普通ダイナミックスコープなlispでも局所定義された変数は関数抜けたら消えるぞ。
0688デフォルトの名無しさん
2008/03/26(水) 17:09:38寿命は無限で、スコープは有限ということがわかりました。
0689デフォルトの名無しさん
2008/03/26(水) 17:11:40消滅しない。そういうのを無限エクステントという。
長くなるのであまり説明したくないけど、
仮に、そのfuncからx y zを含むクロージャ
(lambda (w) (list w x y z))とかを返したりすれば、
x y zはスタックからひっぺがされ、そのクロージャから
見える無限の領域(具体的にはヒープなど)に引き込まれる。
これは振舞いの説明であって、x y zを複製するという意味ではない。
C言語やPascalなどは関数呼び出しが終わってスタックが
撒き戻るとそのローカル変数なども無効になってしまうが、
schemeでは参照が残る限り有効になる。
0690デフォルトの名無しさん
2008/03/26(水) 17:15:19(let ((y ...))
(lambda (x)
....)))
のような場合、yはクロージャの環境として必要なので、
GCの対象ではないですよね?
0691デフォルトの名無しさん
2008/03/26(水) 17:17:29処理系依存とかいい加減なこと言うなよ。
0692デフォルトの名無しさん
2008/03/26(水) 17:18:27なるほど。
C言語との違いがわかりました。
0693デフォルトの名無しさん
2008/03/26(水) 17:19:25どの時点で?
lambda 式内部でも y が参照されないことが明確なら GC されるかもしれないし、
されないかもしれないし。
0694デフォルトの名無しさん
2008/03/26(水) 17:25:46GCを意識する必要はない。
スタックが撒き戻るから云々みたいなことを考えなくて良い。
C言語とかしらないアホな子でも扱えるようになってる。
0695デフォルトの名無しさん
2008/03/26(水) 17:28:33非常にヤバイコードを書くかもしれない。
この子天才なんじゃね?と親は大喜び。
0696デフォルトの名無しさん
2008/03/26(水) 17:29:28GCされるとかされないとか、意味論的には考える必要ない。
効率や実装技術を語りたければ、考える必要がある。
Lisp/Schemeは明示的なオブジェクト消去操作のない言語なので、
(処理系依存のmemハック系関数は除く)
参照方法があるものは必ず存在する。
0697デフォルトの名無しさん
2008/03/26(水) 17:33:09> Lisp/Schemeは明示的なオブジェクト消去操作のない言語なので、
古めの lisp は makunbound か fmakunbound で消去できるんじゃないか?
0698デフォルトの名無しさん
2008/03/26(水) 17:34:27(define func
(lambda (x)
(define y 'yyy)
(let ((z g))
(lambda ()
(list x y z)))))
gにset!を適用し値を変更すると、funcが呼び出されるたびに
zが変わるということはlambda関数内部のdefineやletは
関数呼び出しのたびに評価されているということですね。
(define func
(let ((z g))
(lambda (x)
.........
とは動きが違いますね。
この場合はlet式がlambda関数の外部に
あるためlet式の評価は(define func ....)
の評価時に一度だけになるということですね。
0699デフォルトの名無しさん
2008/03/26(水) 17:37:37グラフィックバリバリ(笑)なら、まさにLispの得意分野だな。
かつてシンボリックスは世界のCG界を支配してたわけだし。(やや誇張)
0700デフォルトの名無しさん
2008/03/26(水) 17:42:550701デフォルトの名無しさん
2008/03/26(水) 17:44:55もしGCされたらyは、その時点での最新の値で再評価されるということですよね。
(この場合、yは大域の何かを参照しているとして)
>>694
GCされてしまったら値が無効になるので、保存されていた値が
消えてしまうのでは?と思いましたが、lambda関数の外部のlet
の場合は再評価すれば済みますね。
ありがとうございました。
0702デフォルトの名無しさん
2008/03/26(水) 17:48:05>参照方法があるものは必ず存在する。
理解できました。
0703デフォルトの名無しさん
2008/03/26(水) 18:12:29funcはクロージャを返す。その時点での環境を考えれば
GC云々を考慮しなくても大丈夫でした。
0704デフォルトの名無しさん
2008/03/26(水) 18:14:48オブジェクトを消すのとは違うじゃん。
0705デフォルトの名無しさん
2008/03/26(水) 18:36:06HtDP p.554
(define x 5)
(display (+ (begin (set! x 11) x) x))
(newline)
⇒22
0706デフォルトの名無しさん
2008/03/26(水) 18:42:47HtDP p.7
(display (- #i1.0 #i0.9))
(newline)
⇒0.09999999999999998
結果に#iが付いてない。DrSchemeだと付いてる。Gaucheではどうなんだろ?
0707デフォルトの名無しさん
2008/03/26(水) 19:20:28Little Schemer→Seasoned Schemer→SICP or HtDP or Simply Scheme or Schemeによる記号処理入門
0708デフォルトの名無しさん
2008/03/26(水) 20:25:35と、gauche始めたばかりの初心者(みんな試しちゃうよね?)
0709デフォルトの名無しさん
2008/03/26(水) 20:26:070710デフォルトの名無しさん
2008/03/26(水) 20:32:57Quack使えば?
ttp://lambda.s55.xrea.com/Scheme.html
0711デフォルトの名無しさん
2008/03/26(水) 20:51:32Gaucheでは返り値に#iの表示はない。知りたければinexact?を使えばいい。
(display (inexact? (- #i1.0 #i0.9)))
(newline)
⇒#t
0712デフォルトの名無しさん
2008/03/26(水) 21:07:520713デフォルトの名無しさん
2008/03/26(水) 21:48:45マクロが使えたw
(define-syntax log-expr
(syntax-rules ()
[(log-expr form)
(let ((result form))
(print 'form " => " result)
result)]
))
↓
(fact 10) => 3628800
(fib 10) => 89
0714デフォルトの名無しさん
2008/03/27(木) 01:23:11よくみるとバックスラッシュが¥マークになってた。
.emacsの設定が反映されなかった。よくみると.emcasになってた。
これが今日一日の俺の成果。もう寝る。
0715デフォルトの名無しさん
2008/03/27(木) 01:26:210716デフォルトの名無しさん
2008/03/27(木) 01:30:12>よくみるとバックスラッシュが¥マークになってた。
全角になってたって事か…
0717デフォルトの名無しさん
2008/03/27(木) 01:42:190718デフォルトの名無しさん
2008/03/27(木) 01:43:110719デフォルトの名無しさん
2008/03/27(木) 02:41:30Gaucheじゃないらしい。SRFIがuseできない。
ttp://codepad.org/GAIimBRt
0720デフォルトの名無しさん
2008/03/27(木) 08:43:52plt みたいだね。
http://codepad.org/GQuSoQ3U
0721デフォルトの名無しさん
2008/03/27(木) 16:04:060722デフォルトの名無しさん
2008/03/27(木) 17:31:080723デフォルトの名無しさん
2008/03/27(木) 17:40:25ttp://www7.axfc.net/uploader/93/so/File_4927.zip.html
0724デフォルトの名無しさん
2008/03/27(木) 20:09:49×
(use srfi-13)
(use util.list)
○
(require (lib "13.ss" "srfi"))
(require (lib "pregexp.ss" "mzlib"))
(require (lib "list.ss" "mzlib"))
(require (lib "string.ss" "mzlib"))
0725デフォルトの名無しさん
2008/03/27(木) 20:58:06ttp://fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy
0726デフォルトの名無しさん
2008/03/27(木) 22:36:210727デフォルトの名無しさん
2008/03/27(木) 22:46:160728デフォルトの名無しさん
2008/03/28(金) 01:29:12どうもありがとうございます。
0729デフォルトの名無しさん
2008/03/28(金) 01:59:34ありがとうございます。
0730デフォルトの名無しさん
2008/03/28(金) 21:37:58(define counter)
という式が出てくるのですが、これ文法違反ではないんですか?
Dr Schemeで試すとエラーになります。
0731デフォルトの名無しさん
2008/03/28(金) 22:30:06>>724
�d。でもまだ動かない orz
0732デフォルトの名無しさん
2008/03/29(土) 01:44:270733デフォルトの名無しさん
2008/03/29(土) 02:09:510734デフォルトの名無しさん
2008/03/29(土) 09:19:570735デフォルトの名無しさん
2008/03/29(土) 09:43:34マクロ書きたくねー ('A`)
0736デフォルトの名無しさん
2008/03/29(土) 11:40:56何を説明したいのかよくわからないんだけど、kons、kdr、kar
っていうcons、cdr、karもどきは何を言いたいの?
0737デフォルトの名無しさん
2008/03/29(土) 12:13:110738デフォルトの名無しさん
2008/03/29(土) 13:23:08ようわからん。おれにはまだ早いな。
6章のShadowとかいうやつからの続きみたいだけど、文法の説明も少ないし
別の本で勉強してから読み直すわ。17章までは良かったのにな。
0739デフォルトの名無しさん
2008/03/29(土) 13:29:31この本もお勧めだけど、Schemer×3, SICPでお腹一杯かな?
あとSRFI-9のサンプルコード。SRFI-9の実装によってはまんま。
0740デフォルトの名無しさん
2008/03/29(土) 13:46:07>あとSRFI-9のサンプルコード。SRFI-9の実装によってはまんま。
18章はよく使われる重要なテクニックなの?
単なる頭の体操用かと思ってた。
だったら、もう少し頑張って読まなきゃなあ。
この本途中でやめると、下手するとLittle Schemerを再読する必要があるから
面倒なんだよな。
0741デフォルトの名無しさん
2008/03/29(土) 14:23:490742デフォルトの名無しさん
2008/03/29(土) 16:10:30mewやgdb-modeなどの便利アプリはない
0743デフォルトの名無しさん
2008/03/29(土) 16:15:390744デフォルトの名無しさん
2008/03/29(土) 16:18:250745デフォルトの名無しさん
2008/03/29(土) 22:49:58宮..腰,佳奈死.ねよ.ロバ.面し,やがっ.てwww.
宮..腰,佳奈死.ねよ.ロバ.面し,やがっ.てwww.
宮..腰,佳奈死.ねよ.ロバ.面し,やがっ.てwww.
宮..腰,佳奈死.ねよ.ロバ.面し,やがっ.てwww.
0746デフォルトの名無しさん
2008/03/30(日) 12:09:20SICPでも出て来る普通の話題だから理解した方がいいね。
Reasoned Schemerの伏線にもなってるし。
0747デフォルトの名無しさん
2008/03/30(日) 12:40:18前スレだったかにも書いたが、
Schemerシリーズに単なる頭の体操はない。
この道の碩学らしく重要なテクニックを激しく単純化して書いてる。
単純化しすぎて初学者にはなにがなんだか分からないくらいに。
その辺の塩梅が素晴らしいから長く読まれている。
Littleなんて第四版だし。ドリル形式の本が第四版w
0748デフォルトの名無しさん
2008/03/30(日) 12:49:4318章の発展的話題がMOPになるね。
0749デフォルトの名無しさん
2008/03/30(日) 15:35:31"Doing encapsulation right is a commitment not just to abstraction of state,
but to eliminate state oriented metaphors from programming."
Alan Kay, "Early History of Smalltall"
0750デフォルトの名無しさん
2008/03/30(日) 15:37:31× "Early History of Smalltall"
○ "Early History of Smalltalk"
0751デフォルトの名無しさん
2008/03/30(日) 15:49:560752デフォルトの名無しさん
2008/03/30(日) 16:29:070753デフォルトの名無しさん
2008/03/30(日) 16:39:12http://d.hatena.ne.jp/batukau/20080321
http://d.hatena.ne.jp/batukau/20080322
http://d.hatena.ne.jp/batukau/20080324
http://d.hatena.ne.jp/batukau/20080325
0754デフォルトの名無しさん
2008/03/30(日) 16:51:12ttp://codepad.org/v4fo6RPn
0755デフォルトの名無しさん
2008/03/30(日) 16:58:04行コメントの ; を使うとエラーするので悩んだのですが
改行コードに CR を使うとだめなようです
Schemeの改行コードは LF がないといけないんでしょうか
0756デフォルトの名無しさん
2008/03/30(日) 17:12:50初学者用の本じゃないってことだな。
0757デフォルトの名無しさん
2008/03/30(日) 17:16:5618章のヒントもください
0758デフォルトの名無しさん
2008/03/30(日) 17:18:50かなりスパルタ。本が人を選ぶ。
0759デフォルトの名無しさん
2008/03/30(日) 17:24:25ホレ!動かして理解しろYO!
http://codepad.org/z5fBZv58
18章のヒント
0760デフォルトの名無しさん
2008/03/30(日) 17:33:29おまえら頭いいな
>>759
thx
クロージャ自体の概念は理解してるんだが。何を言いたいのかが
読み取れないのは俺の感性が鈍いんだろうか。
0761デフォルトの名無しさん
2008/03/30(日) 17:41:58ココは章全体を見て物を考えるようになっている。前にもそういう章はあった。
鈍いんじゃなくて、ちょっと近視眼的。ストーリーがある文章は通して読まないと意味が取れない。
0762デフォルトの名無しさん
2008/03/30(日) 18:04:39http://codepad.org/StzeQu0l
ちょっと増やしてみた。
0763デフォルトの名無しさん
2008/03/30(日) 18:11:26つか、Mac OS Xというか*NIX系で一般的なのはLFな訳で、
せめてCRLFを使えという話。
0764デフォルトの名無しさん
2008/03/30(日) 18:12:58頭の訓練だから耐えろ
耐えれば出来るようになる
0765デフォルトの名無しさん
2008/03/30(日) 18:34:430766デフォルトの名無しさん
2008/03/30(日) 18:59:51http://codepad.org/u6PYnaxS
konsCとsame?を追加した。
0767デフォルトの名無しさん
2008/03/30(日) 19:07:44shadowsのクロージャについてどうなってるか良く考えないと危ないよってことか。遷移状態って説明のページがあるみたいだ。
0768デフォルトの名無しさん
2008/03/30(日) 19:26:14http://codepad.org/WoOMFp2X
>>766のkar, kdr, konsとの比較対照用
0769デフォルトの名無しさん
2008/03/30(日) 19:28:37by Arthur C. Clarke
(1953)
0770デフォルトの名無しさん
2008/03/30(日) 19:43:31とりあえず進めということか。
>>768
参考にさせてもらいます。
>>764
せっかく17章までは理解できるんだが
それともプログラミングGaucheを先にやったほうが良いかな?
0771デフォルトの名無しさん
2008/03/30(日) 21:09:5517章は良くわかっていないんじゃないか?どこでset!を使うかという話がメイン。
・counter (p.133-136)⇒kounter(p.145-149)の対応は説明できる?
・18章の各kons(p.146とp.147)とで何が違う?
・add-at-end(p.144)とadd-at-end-too(p.145)とで何が違う?
特にadd-at-end-too(p.145)の中のkonsを各kons(p.146とp.147)にしたらどう変わるか?
2つの章の対応関係が理解できれば18章は理解できるはず。
0772デフォルトの名無しさん
2008/03/30(日) 21:49:4617章に疑問はない。
18章の最初に出てくるkons kar kdrが唐突でよくわからん。
0773デフォルトの名無しさん
2008/03/30(日) 21:52:27おまえムリなんじゃねw
0774デフォルトの名無しさん
2008/03/30(日) 21:54:38>>771が書いてくれてるp.146とp.147に書いてあるよ。
0775デフォルトの名無しさん
2008/03/30(日) 21:56:09ちょっとだけそう思い始めてるw
0776デフォルトの名無しさん
2008/03/30(日) 21:59:53>>768のから見て行くと理解しやすいのでは?
konsで何を返してkarで何を引数にしているか考えると良いかも。
Do you know about lambda the ultimate?
0777デフォルトの名無しさん
2008/03/30(日) 22:07:59要領よくカンニングするのが得意な人は本を読めばいいけど、このスレにはいないと思う
0778デフォルトの名無しさん
2008/03/30(日) 22:17:04なに、この挑戦的な態度w
0779デフォルトの名無しさん
2008/03/30(日) 22:37:490780デフォルトの名無しさん
2008/03/30(日) 22:40:11SchemerシリーズでScheme始めたばかりだからなあ。
まだまだだわ。
0781デフォルトの名無しさん
2008/03/30(日) 22:42:59konsがクロージャ返してるのはわかるけど、
konsを参考にkarとkdrを書けと言われてもわからなかった。
ヒントみながら考えることにする。
0782デフォルトの名無しさん
2008/03/30(日) 23:02:14SchemerシリーズはScheme始めるのには向かない
0783デフォルトの名無しさん
2008/03/30(日) 23:27:27はいはい邪道邪道('A`)
0784デフォルトの名無しさん
2008/03/31(月) 00:31:04>konsを参考にkarとkdrを書けと言われてもわからなかった。
じゃ、Little Schemerのところの理解不足が原因じゃん。
0785デフォルトの名無しさん
2008/03/31(月) 01:00:52それは全然違う。
0786デフォルトの名無しさん
2008/03/31(月) 01:11:01そうだよな。Scheme(あるいはLisp)で何かプログラムを書けるように
なりたいと思った時にまずSICP及びSchemerシリーズやTo Mock a
Mockingbirdを一通り読めと言われたらそれは何か違うんじゃ無いかと思う。
いったんLispなりSchemeなりでそこそこ何か書けるようになってから
もう一度、理解を深めるのに読むのが正しい読み方なんじゃないかと。
0787デフォルトの名無しさん
2008/03/31(月) 02:24:57俄然やる気が出てくると思う。実用的な何かが作りたい。
深遠な部分はそれからやりたい。
0788デフォルトの名無しさん
2008/03/31(月) 03:14:33Little Schemerはやるべき。
0789デフォルトの名無しさん
2008/03/31(月) 05:01:26フムフム本をおすすめします
0790デフォルトの名無しさん
2008/03/31(月) 05:17:500791デフォルトの名無しさん
2008/03/31(月) 08:11:180792デフォルトの名無しさん
2008/03/31(月) 08:28:30動作原理→概念
0793デフォルトの名無しさん
2008/03/31(月) 11:43:08ソースを読んで理解するというより、ある時ふと「こうすれば作れるんじゃね?」
と思いついて、あらためて本を読んでみるとその通りのことが書かれている感じ
『なんでも継続』にも、継続渡し形式をそれと知らずに使った経験があるはずだ
というくだりがある
その経験がないなら、いったん脱落して他のことをやるほうが近道かもしれない
0794デフォルトの名無しさん
2008/03/31(月) 11:53:14それはない。
機構を理解しても、フレームワークは推測できない。
0795デフォルトの名無しさん
2008/03/31(月) 11:55:00「closures as objects」はSchemeの元々の目的だね。
Actor理論研究のための処理系だったから。
0796デフォルトの名無しさん
2008/03/31(月) 17:06:23簡単に言うとActor理論とはなんですか。
0797デフォルトの名無しさん
2008/03/31(月) 17:17:56Actor Induction and Meta-evaluation (1973) カール・ヒューイット
http://www.cypherpunks.to/erights/history/actors/actor-induction.pdf
アラン・ケイの(メッセージングによる)オブジェクト指向から派生した概念。
だと思う。
0798デフォルトの名無しさん
2008/03/31(月) 19:37:42今携帯なんでアドレス出ませんが。
0799デフォルトの名無しさん
2008/04/01(火) 01:10:08米澤明憲
Specifying Software Systems with High Internal Concurrency Based on Actor Formalism
情報処理学会 昭和55年度論文賞 英文論文誌 vol. 2 no. 4 pp. 208-218.
ってのがありますが。
米澤先生ってMIT から78年頃戻られているので、
その直後のPaperじゃないかな。
0801デフォルトの名無しさん
2008/04/01(火) 03:03:45厨房の俺にはちっともわからんw
0802デフォルトの名無しさん
2008/04/01(火) 03:44:30その後にABCLって言語をやってます。
"An object-Based Conccurent Language"の略になっていますが、
元々は"Actor Based Conccurent Language"を考えて、
そこから生まれていると思います。
Actorとは別の計算モデルとして発展させたので、
"An object-Based"としたのでしょう。
その辺の経緯は日本ソフトウェア科学会の受賞記事にくわしいです。
(どこかにPDFがあったはず) アメリカではABCL/1のことを
"Actor Based Conccurent Language"と呼んでいたりします。
0803デフォルトの名無しさん
2008/04/01(火) 03:51:30http://web.yl.is.s.u-tokyo.ac.jp/yl/fellow3.pdf
0804デフォルトの名無しさん
2008/04/01(火) 04:06:25http://d.hatena.ne.jp/niitsuma/20080331/1206990062
pymacsを使えばdefmacroがpythonで使えるんじゃないかと思ったのですが,やっぱり難しい気もします.何か方法はあるのでしょうか?
0805デフォルトの名無しさん
2008/04/01(火) 06:54:12つxyzzy
0806デフォルトの名無しさん
2008/04/01(火) 07:15:31wikipediaに結構くわしく書いてあった。
0807デフォルトの名無しさん
2008/04/01(火) 12:39:56http://www.wizforest.com/OldGood/flex/#simula
0808デフォルトの名無しさん
2008/04/01(火) 15:36:49論文のネタならHaskellのほうがいいんじゃないか
0809デフォルトの名無しさん
2008/04/01(火) 18:02:02karetta.jp/images/3/Gauche-win32-0.8.13.exe
置き場所が決まったら消すかも。
0810デフォルトの名無しさん
2008/04/01(火) 20:01:30それはない
0811デフォルトの名無しさん
2008/04/01(火) 22:26:120812デフォルトの名無しさん
2008/04/01(火) 22:35:29グレアムのArcみたく既存のScheme上にヤドカリ出来る。Seasoned Schemerの20章とかSICPの最後もそういう趣旨だなぁ。
実現したいネタが無い人っているの?「うは、夢が広がりんぐ」ってよく言ってるのもネタだろw
0813デフォルトの名無しさん
2008/04/01(火) 22:50:44そういう小ネタから論文書けたり実用的なプログラム作れちゃう人もいるんだろな。ええな〜w
0814デフォルトの名無しさん
2008/04/01(火) 23:16:260815デフォルトの名無しさん
2008/04/01(火) 23:58:37書かなければ、それなりに評価されるんじゃねえか?w
0816デフォルトの名無しさん
2008/04/02(水) 01:09:150817デフォルトの名無しさん
2008/04/02(水) 01:16:13Schemeの上に言語を作るのもいいけど
C/C++の上にSchemeを埋め込んで使う話題が増えると嬉しいのだが
0818デフォルトの名無しさん
2008/04/02(水) 10:17:50おっつー。
0819デフォルトの名無しさん
2008/04/02(水) 16:55:28パソコン蛾ぶっこ割れた
0820デフォルトの名無しさん
2008/04/02(水) 17:39:210821デフォルトの名無しさん
2008/04/02(水) 18:09:50俺の居住地域は時差の関係で今日がエイプリルフールなのさ
0822デフォルトの名無しさん
2008/04/02(水) 18:14:40アラスカかハワイにでも住んでるのか?
0823デフォルトの名無しさん
2008/04/02(水) 18:28:490824デフォルトの名無しさん
2008/04/02(水) 20:14:47ttp://wolf-dieter-busch.de/makelisp.htm
0825デフォルトの名無しさん
2008/04/02(水) 20:21:49今日が4月1日、はないな
0826デフォルトの名無しさん
2008/04/02(水) 21:27:56昨日の世界からネットにつないでいる
0827デフォルトの名無しさん
2008/04/02(水) 22:41:05ttp://codezine.jp/a/article/aid/739.aspx
0828デフォルトの名無しさん
2008/04/02(水) 23:00:21http://courses.cs.vt.edu/~cs1104/LISP/lisp.html
Lisp in AWK
ttp://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/awk/0.html
0829デフォルトの名無しさん
2008/04/02(水) 23:08:500830デフォルトの名無しさん
2008/04/02(水) 23:09:44http://www.lisp.se/emacs-cl/
0831デフォルトの名無しさん
2008/04/02(水) 23:18:040832デフォルトの名無しさん
2008/04/02(水) 23:23:150833デフォルトの名無しさん
2008/04/02(水) 23:26:33ttp://codezine.jp/a/article/aid/1492.aspx
0834デフォルトの名無しさん
2008/04/02(水) 23:46:31ttp://www.defmacro.org/ramblings/lisp-in-haskell.html
0835デフォルトの名無しさん
2008/04/02(水) 23:57:41ttp://sourceforge.net/projects/ocul
0836デフォルトの名無しさん
2008/04/03(木) 00:04:56ttp://www.intelib.org/
0837デフォルトの名無しさん
2008/04/03(木) 00:11:32ttp://www.zogotounga.net/comp/squeak/lispkit.htm
0838デフォルトの名無しさん
2008/04/03(木) 00:12:220839デフォルトの名無しさん
2008/04/03(木) 00:20:220840デフォルトの名無しさん
2008/04/03(木) 01:29:16ライブラリの充実まで含めて「非toy」であろうとすると、難しいもんなぁ。
0841デフォルトの名無しさん
2008/04/03(木) 02:11:07LISPのwiki書いた奴都合良すぎ
最近のAMDうざみたい
0842デフォルトの名無しさん
2008/04/03(木) 02:38:46http://clisp.cons.org/
0843デフォルトの名無しさん
2008/04/03(木) 05:29:38そりゃまあ、Common Lisp じゃなくて Lisp だもんなあ。
何に文句言ってるんだ?
0844デフォルトの名無しさん
2008/04/03(木) 13:16:59他は手作業で生成したファイルをいじらないといけないのばっかり。
boost.clispは非常に欲しい
0845デフォルトの名無しさん
2008/04/03(木) 15:20:09CLOSないとか使えなさすぎる
0846デフォルトの名無しさん
2008/04/03(木) 16:06:43Lispという呼び方がCommonLispの略称だと思ってたんじゃない?
0847デフォルトの名無しさん
2008/04/03(木) 19:11:220848デフォルトの名無しさん
2008/04/03(木) 19:54:15それ、時々抵抗示す人を見るけど、こだわり過ぎるのもどうかと思うし、
長ったらしいフルネームをいちいち書けということなら、日下部陽一的にキモいと思うよ。
パーマネントカールがパーマに、携帯電話が携帯になる世界に生きてるんだから、慣れな。
0849デフォルトの名無しさん
2008/04/03(木) 20:03:46WikiとWikipediaはユーザ書き換え可能ページ全体と固有名詞の違いがあるんでこだわりと言うよりも分けてくれないと混乱があるからやめてくれの意味がデカイと思う
○○ってWikiにあったと言われるときと○○とWikipediaにあったと書く時の違いがでかいのと一緒
0850デフォルトの名無しさん
2008/04/03(木) 20:04:260851デフォルトの名無しさん
2008/04/03(木) 20:33:260852デフォルトの名無しさん
2008/04/03(木) 20:36:020853デフォルトの名無しさん
2008/04/03(木) 20:37:250854デフォルトの名無しさん
2008/04/03(木) 20:52:53間違えてる馬鹿はWikipedia以外のWikiを知らないだけだろ。
0855デフォルトの名無しさん
2008/04/03(木) 20:54:19Gauche などの Scheme処理系で、何かの関数の定義(ソースコード)を表示す
る方法はないでしょうか?
ソースを検索するのではなく、関数名だけから取得する方法があったら便利か
と思うのですが。
ちなみに統計処理用言語 GNU R は、対話コンソールに関数名を入力すると、
その関数定義(そーす)がそのまま表示されます。なかなか便利です。
0856デフォルトの名無しさん
2008/04/03(木) 21:05:060857デフォルトの名無しさん
2008/04/03(木) 21:08:19IPアドレスのことIPって言う人も多いし、もうどうでもよくなってきた
0858デフォルトの名無しさん
2008/04/03(木) 21:10:42携帯電話は携帯と呼ぶぜ!
0859デフォルトの名無しさん
2008/04/03(木) 21:15:59まさにそこが携帯のケースとは違うところだな
0860デフォルトの名無しさん
2008/04/03(木) 21:31:22CommonLispのfunction-lambda-expressionみたいなの?
Gaucheにはないんじゃないかなぁ
disasmの出力のコメント部分を眺めて推測するしかないかも
0861デフォルトの名無しさん
2008/04/03(木) 22:00:31Lisp/Scheme shellなら出来そうだけど、Gaucheとかでやる意味が訳ワカメ
0862デフォルトの名無しさん
2008/04/03(木) 22:02:430863デフォルトの名無しさん
2008/04/03(木) 22:11:57スクリプト言語はテストが大事ですから
0864デフォルトの名無しさん
2008/04/03(木) 22:15:430865デフォルトの名無しさん
2008/04/03(木) 22:20:140866デフォルトの名無しさん
2008/04/03(木) 22:23:43「間違えてる」っていう認識が世間的には既におかしいし、
その「知らないまま使う奴が多い」というのこそ、浸透の証なわけだよ。
最後の最後まで抵抗を示し続けるのもいいけど、あんまり無差別に頑張るなよ。
2chでいちいち「レスって何ですか?」って食ってかかる奴を想像すればいい。
世間的には、「Wikipediaと言え!」も、それと同じ位置にもう来ているから。
0867デフォルトの名無しさん
2008/04/03(木) 22:23:49テストと関数定義(そーす)がそのまま表示されることにどんな関係を想定してるの?
そこがわからんけど、うまい使い方ならGauche/Kahuaの中の人が考えてくれそう。
0868デフォルトの名無しさん
2008/04/03(木) 22:26:10Scheme的には仕様外です。
そういうものに依存しないほうがいいのでないという考え。
処理系依存で相当機能を持つものがあるかどうか知りません。
R?RS準拠ではない小さい処理系ならば、
reflection系のものはほぼ必ず持っていますが。
0869デフォルトの名無しさん
2008/04/03(木) 22:27:41浸透してることと間違えてることと馬鹿であることはすべて独立した概念なので
何も矛盾している点は無い。
そこまで馬鹿を擁護しなきゃいかん理由がさっぱり理解できない。
頑張ってるのは君のほうでは?
0870デフォルトの名無しさん
2008/04/03(木) 22:28:49このスレはこのスレであって世間一般ではないのだから、
世間がどうのこうのというご高説もちゃんちゃらおかしい。
0871デフォルトの名無しさん
2008/04/03(木) 22:33:56環境変数が設定できなくて困っています
ホームディレクトリの.profileに
変更前:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bi
n:$HOME/bin; export PATH
変更後:
PATH=/usr/local/kahua/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/lo
cal/bin:/usr/X11R6/bin:$HOME/bin; export PATH
と追加してみましたが
追加してみたのですが、rehashしてもログインしなおしても認識されません
どこが間違ってるんでしょうか
(スレ違いな気もしますがどこが妥当か分からないorz・・・)
0872デフォルトの名無しさん
2008/04/03(木) 23:13:02基本的には出来ないと思ったほうがいい。
実行時にはVM用のコードにコンパイル済みだから
ソースの形式で保持してない。
0873デフォルトの名無しさん
2008/04/03(木) 23:25:57認識されないとは?
環境変数に反映されてないってことですか?
シェルの種類は?
OSは?
>>872
Schemeはdefunじゃなくてdefineだから
シンボルとソースコードの関連付けはできないだろうけど
手続き自体に保持しておくことは可能じゃないですか?
Gaucheのdisasmだってある程度のソースコード情報は出力するし。
0874デフォルトの名無しさん
2008/04/03(木) 23:31:38すみません。忘れてました。
OSはFreeBSD6.3
シェルはcsh
です
0875デフォルトの名無しさん
2008/04/03(木) 23:36:16exportじゃなくてsetenvじゃなかったっけ?
0876デフォルトの名無しさん
2008/04/03(木) 23:40:34× .profile
○ .login
ただし,ログインシェルのみ
0877デフォルトの名無しさん
2008/04/03(木) 23:42:30UNIX板のくだ質スレ推奨
お題は「PATH環境変数の設定方法」
0878デフォルトの名無しさん
2008/04/03(木) 23:43:34> 浸透してることと間違えてることと馬鹿であることはすべて独立した概念なので
> 何も矛盾している点は無い。
そう、そこなんだよね。
なのに>>854は「間違えてることと馬鹿であること」を強調してるけど、意味が無い。
> そこまで馬鹿を擁護しなきゃいかん理由がさっぱり理解できない。
なんでこれが擁護になるのかがさっぱり理解できない。
「いちいちwikiという言い方に突っ込んだりするのは、今やもう痛いよね」というのが擁護? 意味不明。
0879デフォルトの名無しさん
2008/04/03(木) 23:45:19だったらスルーしないとね。
ネチっこい嫌味を書き込んで、わざわざ同じ穴の狢に成り下がって何がしたいんだか。
自爆が趣味なの?
0880デフォルトの名無しさん
2008/04/03(木) 23:48:25単に略してWikiと言っているつもりなのかWikiというシステムと混同しているのかで意味が違ってくる。
0881デフォルトの名無しさん
2008/04/03(木) 23:55:23たとえ自分は正解を知っていても、知らない人間が増えることで、その影響を受けざるを得ないこともある。
0882デフォルトの名無しさん
2008/04/03(木) 23:55:25このスレでLisp=Common Lispと言い張るのは違うと思うよ。
0883デフォルトの名無しさん
2008/04/03(木) 23:58:15気にしないやつはCLer。たまにfuncallが必要になるんだ。
0884デフォルトの名無しさん
2008/04/04(金) 00:05:58> 気にしないやつはCLer。たまにfuncallが必要になるんだ。
そこがまたかわいい所なんだぜ
0885デフォルトの名無しさん
2008/04/04(金) 00:12:58そうだ、その話だったんだ、もう忘れてたよ。w
>>883
CLerだがちゃんと区別して使ってるよ。
0886デフォルトの名無しさん
2008/04/04(金) 00:33:31無名関数
アナフォリックマクロ
ポイントフリースタイル
0887デフォルトの名無しさん
2008/04/04(金) 01:05:36良く分かんないんだけど、
gosh>(add-load-path "~/")
じゃダメなのかしら?
0888デフォルトの名無しさん
2008/04/04(金) 05:03:41>なにも付けずに「Lisp」というときは一般的にCommon Lispのことを指し示している場合が多い。
これか。
そういや一時期のCommonLisperは非常にうざかったな。
どうせ過疎るのにスレを乱立させるわ、
ここのスレタイも勝手にC(略)Lisp Schemeに変えるわ。
CommonLisp以外のLispを排除しようと必死だった。
0889デフォルトの名無しさん
2008/04/04(金) 09:56:07Common-LispもSchemもLispの仲間なんだし。
0890デフォルトの名無しさん
2008/04/04(金) 10:01:38過去のCLの併合アプローチは失敗だったから、
もしかするとモデルとしてのschemeの存在がなかったら、
Lisp自体が消えてたかもしれない。(少なくとも日本では)
CLで盛り上がってますよ的な話は聞いた事ないしね。
2chのム板でそれなりに認知されて、1スレを1ヶ月で使い切る
ようなペースになったのも、やはりschemeの方の功績みたいだし。
ただSchemerにとっても、CLの後ろ盾があるから安心して
使えるみたいな心理はあると思う。
SBCLのWindows版がようやくまともに動くようになったっぽいから、
これからWin使いのLISPユーザーが増えてくれるとありがたいね。
0891デフォルトの名無しさん
2008/04/04(金) 10:05:080892デフォルトの名無しさん
2008/04/04(金) 10:28:39もしかして脅しですか?
CLerは怖いなあ。
↓本職の893さん、どうぞ
0893デフォルトの名無しさん
2008/04/04(金) 10:42:22いてまうぞこら。
俺はSchemeからLispの世界に入ってCLに移行した少数派。
0894デフォルトの名無しさん
2008/04/04(金) 10:44:51どうしても荒らしたいんだなw
0895デフォルトの名無しさん
2008/04/04(金) 10:46:57どっちも好きな俺からすれば、迷惑な話。
0896デフォルトの名無しさん
2008/04/04(金) 10:53:54CLの話題になると荒れる、みたいな流れを作りたいのかな?
0897デフォルトの名無しさん
2008/04/04(金) 10:55:010898デフォルトの名無しさん
2008/04/04(金) 10:57:090899デフォルトの名無しさん
2008/04/04(金) 10:57:35リンク切れとか。
0900デフォルトの名無しさん
2008/04/04(金) 11:00:10隔離スレもあるんだし。
と極右になってみるテスト。
つーか実質そうなってるからね。別にここで話すこともないし。
0901デフォルトの名無しさん
2008/04/04(金) 11:04:48お前がそうしたいと思ってるから、そういう風に見えるんだろ
0902デフォルトの名無しさん
2008/04/04(金) 11:34:270903デフォルトの名無しさん
2008/04/04(金) 11:41:530904デフォルトの名無しさん
2008/04/04(金) 11:46:560905デフォルトの名無しさん
2008/04/04(金) 11:47:320906デフォルトの名無しさん
2008/04/04(金) 12:05:310907デフォルトの名無しさん
2008/04/04(金) 13:23:34おれは親切だから教えてやるが、おまえの頭、狂ってるよ
0908デフォルトの名無しさん
2008/04/04(金) 13:24:47Schemeを隔離するのが良いと思うけど、Common Lisp専用スレ立てるんでもいいよ。
0909デフォルトの名無しさん
2008/04/04(金) 13:37:41入門スレなのに変に難しい話題になることがあるが…。
0910デフォルトの名無しさん
2008/04/04(金) 13:46:090911デフォルトの名無しさん
2008/04/04(金) 13:46:47知らない無知な人間のように見えるけどな。
そういう人間が多いなら分離がいいんじゃね?
0912デフォルトの名無しさん
2008/04/04(金) 13:55:11分離の必要ない
荒しが調子に乗るだけ
R6RSは分離、CLOSは分離、きりがない
0913デフォルトの名無しさん
2008/04/04(金) 13:58:320914デフォルトの名無しさん
2008/04/04(金) 14:03:01Portable syntax-case
http://www.cs.indiana.edu/chezscheme/syntax-case/
0915デフォルトの名無しさん
2008/04/04(金) 15:12:34みたいな
0916デフォルトの名無しさん
2008/04/04(金) 15:15:170917デフォルトの名無しさん
2008/04/04(金) 15:27:42Lisp方言のSchemeのスレという意味でスレタイがLisp Schemeになってるのかと思ってた
0918デフォルトの名無しさん
2008/04/04(金) 15:35:10別にこのままでもいいけど
0919デフォルトの名無しさん
2008/04/04(金) 15:36:51LispとSchemeのスレです。と>>1に書いとけ。
0920デフォルトの名無しさん
2008/04/04(金) 15:49:48まるでSchemeがLispじゃないみたいな言い方だなw
0921デフォルトの名無しさん
2008/04/04(金) 15:52:26SchemeがLispならば>>915みたいなスレタイが良い
SchemeがLispでないならば、スレは分けたほうが良い
んじゃないか?
0922デフォルトの名無しさん
2008/04/04(金) 16:00:460923デフォルトの名無しさん
2008/04/04(金) 16:04:09明らかに変なスレタイだから、直しましょうって話をしてるんだけど。
0924デフォルトの名無しさん
2008/04/04(金) 16:09:590925デフォルトの名無しさん
2008/04/04(金) 16:32:38Common LispはLispだが
SchemeはLispじゃないという黒い人もいるんだから
Lisp Scheme PartXXでいいと思う。
0926デフォルトの名無しさん
2008/04/04(金) 16:43:21じゃ、しょうがないな。勝手にしろ。
0927デフォルトの名無しさん
2008/04/04(金) 17:05:45名前にLispが入っていないから
タイトルに明示的にSchemeを入れている
という解釈でいいと思う
そしたら分離も改名もしなくていい
0928デフォルトの名無しさん
2008/04/04(金) 17:12:39で、一つわかったことがある。
おまえら暇なんだな。
0929デフォルトの名無しさん
2008/04/04(金) 17:22:31名前にLispが入っていないから
タイトルに明示的にRubyを入れている
ついでにスレを隔離しているという解釈でいいと思う
0930デフォルトの名無しさん
2008/04/04(金) 17:24:26ワシも暇じゃが
おまいもひまじゃのぉ
0931デフォルトの名無しさん
2008/04/04(金) 17:33:21最初は本当にScheme使いしかいなかった。
SchemeはLisp族だから、ついでに頭にLispを付けた。
当時、Lispスレはマ板の方にあったし、
スレタイをム板の素人にも判るように配慮しただけ。
今みたいに上だ下だの議論も無かったからね。
スレタイのLispがCommonLisp限定だ、なんて意図も全く無い。
0932デフォルトの名無しさん
2008/04/04(金) 17:34:440933デフォルトの名無しさん
2008/04/04(金) 17:38:050934デフォルトの名無しさん
2008/04/04(金) 17:40:320935デフォルトの名無しさん
2008/04/04(金) 17:55:470936デフォルトの名無しさん
2008/04/04(金) 17:57:520937デフォルトの名無しさん
2008/04/04(金) 17:58:42みたいなのが別にあれば解決するでしょ。
【入門】とか半端なのしかないから居心地悪くなって
ここにたむろうわけだし。
おまえら全くセンスねーですな。
0938デフォルトの名無しさん
2008/04/04(金) 18:02:28はいぱー何とかのネタ振った奴責任重大だぞ
流れを本流へ戻せw
0939デフォルトの名無しさん
2008/04/04(金) 18:02:31それは知ってますけど
Lisp族総合スレみたいなものでしょ、ここ
0940デフォルトの名無しさん
2008/04/04(金) 18:10:14closっぽいことできますか?
私はmaximaのためにclisp使ってます
0941デフォルトの名無しさん
2008/04/04(金) 18:12:56ここで喧々囂々やってるよりはいいんじゃねーの。
CommonLispに限らず、維持するつもりがあるなら立てればいいよ。
933みたいな処理系のスレでも。
0942デフォルトの名無しさん
2008/04/04(金) 18:19:31は同じなの?
0943デフォルトの名無しさん
2008/04/04(金) 18:26:52それなら、初心に返ってここはScheme限定(限定というのが悪ければ、Schemeの話題を優先)。
Common Lispはそれなりに需要があるのだからスレを立てる、でも良いかもね。
というわけで、今まで出た意見の中では>>937に賛成かな。
0944デフォルトの名無しさん
2008/04/04(金) 18:27:42まあ同じ。
違うといえば違うんだが、それを言ったらCLのlambdaとSchemeのlambdaも違う。
0945デフォルトの名無しさん
2008/04/04(金) 18:29:15テンプレ追加あったらよろしく。
次スレ
Lisp Scheme Part21
http://pc11.2ch.net/test/read.cgi/tech/1207300697/
0946デフォルトの名無しさん
2008/04/04(金) 18:35:28実力行使乙w
0947デフォルトの名無しさん
2008/04/04(金) 18:36:52いや別にいいんだけど、結局総合スレって位置づけでいいの?
そこだけでも決めてたらテンプレもすっきりしたかもしれないのに
0948デフォルトの名無しさん
2008/04/04(金) 18:38:380949デフォルトの名無しさん
2008/04/04(金) 18:44:45ここの話し合いにも使ってくれ。
みんな頭固すぎだよ。
0950デフォルトの名無しさん
2008/04/04(金) 18:49:240951デフォルトの名無しさん
2008/04/04(金) 19:02:200952デフォルトの名無しさん
2008/04/04(金) 19:23:27Lisper同士どんだけ仲悪いのか、と。
0953デフォルトの名無しさん
2008/04/04(金) 19:33:22激同
0954デフォルトの名無しさん
2008/04/04(金) 20:03:41ちょっとpythonかじってみる
0955デフォルトの名無しさん
2008/04/04(金) 20:06:15近親憎悪みたいなもんなだけに門外漢が見るとばかばかしいし、専門で取り組んでる奴はむかっ腹たてるんだよな〜
0956デフォルトの名無しさん
2008/04/04(金) 20:06:39スレの分割や統廃合が円満に行われてるところなんて、
これまで見たことがない。この程度ならぬるい方。
不満があるからこういう話になるんだし、不満があれば揉めもするだろ。
0957デフォルトの名無しさん
2008/04/04(金) 20:11:36いや別に仲悪い訳じゃないんじゃない?
煽られてる人が騒いでるだけよw
そもそも両方使う人は多いしね。
0958デフォルトの名無しさん
2008/04/04(金) 20:19:42pythonのlambdaは式は書けるけど文は書けない
0959デフォルトの名無しさん
2008/04/04(金) 20:23:16schemeはasdlやcffiありますか?
asdf
→ありません。(処理系依存でモジュール等あり)
cffi
→あります。(処理系依存)
closっぽいことできますか?
→できます。(処理系依存)
「プログラミングGauche」に色々詳しく書いてますので、おすすめです。
ちなみにmaximaのためにclisp使うんだったら知る必要はないでしょうが、
CLでも、cffi、asdfは、オプションであり標準のものではありません。
0960デフォルトの名無しさん
2008/04/04(金) 20:48:26まぁ当たり前なんだが、その「当たり前」が順当に形になっててちょっと吹いた。
0961デフォルトの名無しさん
2008/04/04(金) 21:09:45勉強中には静かにROMってるんだから精神的に成熟してる住人が多数派なのは確かだ。
しかもたまに鋭い指摘があって勉強になる。最近、若干スレの流れが速くて困るけど。
0962デフォルトの名無しさん
2008/04/04(金) 21:38:58> cffi
> →あります。(処理系依存)
ffi が処理系依存で、cffiはそれのラッパじゃねーの?
0963デフォルトの名無しさん
2008/04/04(金) 22:14:34そのとおりです…、としか言えないw
0964デフォルトの名無しさん
2008/04/04(金) 22:15:400965デフォルトの名無しさん
2008/04/04(金) 22:30:19Seasoned Schemerの18章の謎(というかテーマ)は内部表現の「記述量」ってことか。
ようやく腑に落ちた。つまり「この問題を解決するにはどうすればいい?」ということを考えさせてる訳だったのか。
答えはGCなんだろうけど。でもGCまで踏み込んでないのは教育的配慮?
19章はコルーチン。20章はインタープリターの作成。Littleの10章でも似たことをやったけど今度は継続とかも実装した。
読んでよかったYO!
0966デフォルトの名無しさん
2008/04/04(金) 23:01:32訳本がないと立ち読みもできん
0967デフォルトの名無しさん
2008/04/05(土) 00:02:53つhttp://books.google.com/books?id=vKIvIXSxcCgC&printsec=frontcover
0968デフォルトの名無しさん
2008/04/05(土) 00:52:32thx
継続を実装ってそういうことか
素のcall/ccを使わないとしたらどれくらい短く書けるのかな
0969デフォルトの名無しさん
2008/04/05(土) 01:18:54てか、Littleの8章のYコンビネータとSeasonedの18章の記述量問題を入門者が一読して理解できたならこの本の狙いは成功だろ常考。
Scheme入門だけじゃなくてCS入門の本だから永い間読み継がれているんだろな。
0970デフォルトの名無しさん
2008/04/05(土) 01:52:260971デフォルトの名無しさん
2008/04/05(土) 01:57:45自分的にかなりおなかいっぱいに…
この先苦痛になるのでは、と考えると怖くて
0972デフォルトの名無しさん
2008/04/05(土) 10:36:350973デフォルトの名無しさん
2008/04/05(土) 12:44:188章(Yコンビネータ)→16章(Y!コンビネータ)
18章(bons)→20章(set)
0974デフォルトの名無しさん
2008/04/05(土) 12:51:48ttp://lambda-the-ultimate.org/node/1393
The Reasoned Schemer
ttp://lambda-the-ultimate.org/node/1104
0975デフォルトの名無しさん
2008/04/05(土) 13:04:23>Seasoned Schemerの18章の謎(というかテーマ)は内部表現の「記述量」ってことか。
>ようやく腑に落ちた。つまり「この問題を解決するにはどうすればいい?」ということを考えさせてる訳だったのか。
>答えはGCなんだろうけど。でもGCまで踏み込んでないのは教育的配慮?
>19章はコルーチン。20章はインタープリターの作成。Littleの10章でも似たことをやったけど今度は継続とかも実装した。
ソレ系の本格的な教科書がある。言語はStandard MLだけどね。
Andrew W. Appel "Compiling With Continuations"
ttp://www.amazon.co.jp/exec/obidos/ASIN/052103311X/
0976デフォルトの名無しさん
2008/04/05(土) 13:05:040977デフォルトの名無しさん
2008/04/05(土) 13:43:29maximaからでもcffiやasdfは使えます
使えるようにconfigureしてからmakeするだけです
逆にclispで
(in-pckage maxima)
でmaximaのコマンド使えないかなあ
schemeとcommon lispのインターフェイスあればschemeからmaxima使えていいんだけどなあ
0978デフォルトの名無しさん
2008/04/05(土) 13:44:250979デフォルトの名無しさん
2008/04/05(土) 14:26:47>>824-842
Lisp in Perl ttp://wolf-dieter-busch.de/makelisp.htm
Scheme in JavaScript ttp://codezine.jp/a/article/aid/739.aspx
Lisp in JavaScript ttp://courses.cs.vt.edu/~cs1104/LISP/lisp.html
Lisp in AWK ttp://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/awk/0.html
lisp in elisp byte-code -- emacs-cl ttp://www.lisp.se/emacs-cl/
pylisp , pyscheme
Lisp in Ruby ttp://codezine.jp/a/article/aid/1492.aspx
Lisp in Haskell ttp://www.defmacro.org/ramblings/lisp-in-haskell.html
Lisp in OCaml ttp://sourceforge.net/projects/ocul
Lisp in C++ ttp://www.intelib.org/
Lisp in Squeak ttp://www.zogotounga.net/comp/squeak/lispkit.htm
Common Lisp in C http://clisp.cons.org/
埋め込み言語によって抽象化を最高に活用できるが,それは魔法ではない.
それは本物の・・・コンパイラを書くこととは違うのだ.
Paul Graham
ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/prolog.html
0980デフォルトの名無しさん
2008/04/05(土) 15:00:35それ最近ペーパーバックで復刊したんだね。
その後のCPS関連研究まとめ。
http://www.soe.ucsc.edu/~cormac/papers/best-pldi.pdf
その中で一番有名なもの, ANF
http://research.microsoft.com/~akenn/sml/CompilingWithContinuationsContinued.pdf
0981デフォルトの名無しさん
2008/04/05(土) 16:01:280982デフォルトの名無しさん
2008/04/05(土) 18:02:52対応している処理系ならばslimeに一票
0983デフォルトの名無しさん
2008/04/05(土) 19:28:35ttp://research.microsoft.com/~akenn/sml/CompilingWithContinuationsContinued.pdf
コレの中でMLj(Standard ML/New Jergey)はモナド使ってるって言ってるみたい。
つまり、CPSに関してはSMLもGaucheなんかもHaskellと同じでWadlerのモナドを使う方法ってことかな?
LittleとSeasonedに出てくるコンビネータとCPSの入門的勉強から学問的なCSの世界までの距離を理解するのに好適な論文ですね。
KennedyはMSの人間だけどF#はCPSに関して新しいことを試みてるのかなぁ?
0984デフォルトの名無しさん
2008/04/05(土) 20:43:02"Compiling With Continuations"は、
ちょっと物足りないところと、うまく整理しきれてないところがあるので、
The Essence of Compiling with Continuations
http://citeseer.ist.psu.edu/flanagan93essence.html
がお勧め。
0985デフォルトの名無しさん
2008/04/05(土) 21:05:44実物見てから買いたい方ドゾー。
0986デフォルトの名無しさん
2008/04/05(土) 21:06:530987デフォルトの名無しさん
2008/04/05(土) 21:18:19それ見てて思った。中間言語としてANFに変換してるけど、このANFはたぶんBOEHMの木構造と関係がありそうだ。
このANFの段階でOptimizeするってことは、ソースコードからANFでもそのままOptimizeされない記述はインラインアセンブラとして働くってことだね。
つまり、Yコンビネータをはじめとするコンビネータ形式で書かれたソースコードはインラインアセンブラとして働くってこと?
ということは、Lambdaを持ってる言語(λ演算評価機として等価)ならコンビネータ形式で書ければ全く等価なプログラムを書けるってことだ。
Littleでチャ−チ・ロッサーが出てきたの覚えてる?>読んだ人
0988デフォルトの名無しさん
2008/04/05(土) 21:28:14いい感じなんだけど、いまいち敷居が高いんだよねw
986はDylanの処理系は何を使ってるの?
0989デフォルトの名無しさん
2008/04/05(土) 22:05:08忘れてた。w
0990デフォルトの名無しさん
2008/04/05(土) 22:09:070991デフォルトの名無しさん
2008/04/05(土) 22:15:340992デフォルトの名無しさん
2008/04/05(土) 22:16:330993デフォルトの名無しさん
2008/04/05(土) 22:39:30あるディレクトリ内のファイル一覧を表示するとか。
0994デフォルトの名無しさん
2008/04/05(土) 22:48:36マニュアル読むよろし
0995デフォルトの名無しさん
2008/04/05(土) 22:50:12そこでdirectory-foldですよ。
0996デフォルトの名無しさん
2008/04/05(土) 22:55:18無限エクステントってSeasonedの20章に出てくるmulti-extentのことか。
0997デフォルトの名無しさん
2008/04/05(土) 23:03:55[liθp]
0998デフォルトの名無しさん
2008/04/05(土) 23:18:49New Oxford American Dictionary, 2nd Edition によると
/lisp/ だそうですよ。
0999デフォルトの名無しさん
2008/04/05(土) 23:26:441000デフォルトの名無しさん
2008/04/05(土) 23:27:5110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。