09/04/24 19:12:39
※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※
■過去スレ
Part25: スレリンク(tech板)
Part24: スレリンク(tech板)
Part23: スレリンク(tech板)
Part22: スレリンク(tech板)
Part21: スレリンク(tech板)
Part20: スレリンク(tech板)
Part19: スレリンク(tech板)
Part18: スレリンク(tech板)
Part17: スレリンク(tech板)
Part16: スレリンク(tech板)
Part15: スレリンク(tech板)
Part14: スレリンク(tech板)
Part13: スレリンク(tech板)
Part12: スレリンク(tech板)
Part11: スレリンク(tech板)
Part10: スレリンク(tech板)
Part09: スレリンク(tech板)
Part08: URLリンク(pc5.2ch.net)
Part07: URLリンク(pc5.2ch.net)
Part06: URLリンク(pc3.2ch.net)
Part05: URLリンク(pc3.2ch.net)
Part04: URLリンク(pc.2ch.net)
Part03: URLリンク(pc.2ch.net)
Part02: URLリンク(pc.2ch.net)
Part01: URLリンク(piza2.2ch.net)
■テンプレート置き場
URLリンク(wiki.fdiary.net) (id:guest pass:cl)
2:デフォルトの名無しさん
09/04/24 19:14:30
■仕様関連
□The final public draft of the ANSI X3.226-1994 (英語)
URLリンク(lispm.dyndns.org)
□CLtL2: Common Lisp the Language 2nd edition (英語)
URLリンク(www-2.cs.cmu.edu)
□CLHS: Common Lisp Hyper Spec (英語)
URLリンク(www.lispworks.com)
□Common Lisp Quick Reference (英語)
URLリンク(clqr.berlios.de)
□R5RS: Revised(5) Report on the Algorithmic Language Scheme (英語)
URLリンク(swiss.csail.mit.edu)
□R5RS: Revised(5) Report on the Algorithmic Language Scheme (日本語)
URLリンク(www.sci.u-toyama.ac.jp)
□ERR5RS: A proposal for an Extended R5RS Scheme (英語)
URLリンク(scheme-punks.cyber-rush.org)
□R6RS: Revised(6) Report on the Algorithmic Language Scheme (英語)
URLリンク(www.r6rs.org)
■Lisp全般に関する情報源
□LISP - Wikipedia (日本語)
URLリンク(ja.wikipedia.org)
□Association of Lisp Users (英語): 米国のLispユーザ会です。
URLリンク(www.alu.org)
□日本Lispユーザ会 (日本語): 各種処理系や関連書籍の一覧等。
URLリンク(jp.franz.com)
□LispUser.net (日本語): Lisp関連の有用な情報がまとめられています。Common Lispの話題が中心。
URLリンク(lispuser.net)
□John McCarthy's Home Page (英語): Lispの生みの親、John McCarthyのサイト。
URLリンク(www-formal.stanford.edu)
□どう転んでもLisp (日本語): 竹内郁雄氏による発表のスライドです。
URLリンク(jp.franz.com)
3:デフォルトの名無しさん
09/04/24 19:15:21
■Common Lispに関する情報源
□Common Lisp - Wikipedia (日本語)
URLリンク(ja.wikipedia.org)
□CLiki (英語): Common Lisp関連のリソースが集積されています。
URLリンク(www.cliki.net)
□Common-Lisp.net (英語): 多くのプロジェクトがホスティングされています。
URLリンク(common-lisp.net)
□CMU Common Lisp Repository (英語): 新旧様々なプログラムが置いてあります。
fURLリンク(ftp.cs.cmu.edu)
□The EncyCMUCLopedia (英語): CMUCL関連文書。CMUCLユーザーでなくとも有益なはず。
URLリンク(www.isr.ist.utl.pt)
□The Common Lisp Cookbook (英語): いわゆるCookbookです。
URLリンク(cl-cookbook.sourceforge.net)
■Schemeに関する情報源(1)
□Scheme - Wikipedia (日本語)
URLリンク(ja.wikipedia.org)
□プログラミング言語Scheme (日本語): Schemeの人はまずここを見ましょう。
URLリンク(www.sci.u-toyama.ac.jp)
□Scheme-users.jp (日本語): Schemeユーザのためのハブサイトです。
URLリンク(scheme-users.jp)
□Schemeへの道 (日本語): Schemeの入門サイト。
URLリンク(www.stdio.h.kyoto-u.ac.jp)
□独習Scheme三週間 (日本語): Schemeの教科書。
URLリンク(www.sampou.org)
□Practical Scheme (日本語): Scheme処理系「Gauche」の作者である川合史朗氏のサイト。
Paul Grahamの「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されています。
URLリンク(practical-scheme.net)
4:デフォルトの名無しさん
09/04/24 19:16:06
■Schemeに関する情報源(2)
□Bibliography of Scheme-related Research (英語): Scheme関連の論文リンク集。
URLリンク(library.readscheme.org)
□Scheme Hash (英語): S式でXMLを使えるようにするSXML等。
URLリンク(okmij.org)
□(Scheme) (Lisp) (日本語): 各種Scheme処理系をCygwin上でビルドする方法など。
URLリンク(www.geocities.co.jp)
□SLIB (英語): Scheme用のライブラリとして有名なSLIBのサイトです。
URLリンク(swiss.csail.mit.edu)
□Scheme Requests for Implementation (英語): いわゆる「SRFI」のサイトです。
URLリンク(srfi.schemers.org)
□継続関連
□なんでも継続 (日本語)
URLリンク(practical-scheme.net)
□Schemeへの道:継続 (日本語)
URLリンク(www.stdio.h.kyoto-u.ac.jp)
□継続の使い方 (日本語)
URLリンク(www.geocities.co.jp)
□継続の使用法 (日本語)
URLリンク(www.ice.nuie.nagoya-u.ac.jp)
□Kahua: 継続ベースのアプリケーションサーバ。
URLリンク(www.kahua.org)
5:デフォルトの名無しさん
09/04/24 19:16:50
■Common Lisp関連の書籍
□Common Lisp: A Gentle Introduction to Symbolic Computation (英語):
Common Lispを使った非常に丁寧なプログラミング入門書。
全文がpdf形式でダウンロードできます。
URLリンク(www.cs.cmu.edu)
□Common Lisp: An Interactive Approach (英語):
人工知能の大家、Stuart ShapiroによるCommon Lispの教科書。
全文がpdf形式でダウンロードできます。
URLリンク(www.cse.buffalo.edu)
□On Lisp (英語/日本語):
LispハッカーPaul Grahamが、Lispの力の源泉であるマクロプログラミングを解説。
URLリンク(ssl.ohmsha.co.jp)
URLリンク(user.ecc.u-tokyo.ac.jp) (日本語訳HTML版)
URLリンク(www.paulgraham.com) (英語原文がダウンロード可)
□Practical Common Lisp (英語/日本語):
S式の羅列で現実的な問題をどう解くのか、そのギャップに悩まされてる人に。
全文がオンラインで読めます。日本語版は『実践Common Lisp』として出版されています。
URLリンク(www.gigamonkeys.com)
URLリンク(ssl.ohmsha.co.jp)
URLリンク(pcl.lispuser.net) (日本語版非公式サポートページ)
6:デフォルトの名無しさん
09/04/24 19:17:50
■Scheme関連の書籍
□Structure and Interpretation of Computer Programs (英語/日本語):
通称「SICP」として知られる計算機科学の教科書。全文がオンラインで読めます。
日本語版は『計算機プログラムの構造と解釈』として出版されています。
URLリンク(mitpress.mit.edu)
URLリンク(sicp.ipl.t.u-tokyo.ac.jp) (日本語版サポートサイト)
□Programming Languages: Application and Interpretation (英語):
ブラウン大学で使われている、Schemeを使ったプログラミング言語論の教科書。
SICPでは触れられていない継続についても、Webアプリと関連づけて詳述されています。
URLリンク(www.cs.brown.edu)
全文がpdf形式でダウンロードできます。
□How to Design Programs (英語):
Schemeを使った優れたプログラミング入門書。全文がオンラインで読めます。
URLリンク(www.htdp.org)
□The Little Schemer/The Seasoned Schemer (英語):
Schemeの教科書として定評のある「Schemerシリーズ」のサポートページです。
URLリンク(www.ccs.neu.edu)
URLリンク(www.ccs.neu.edu)
□The Scheme Programming Language (英語):
Schemeの入門書。全文がオンラインで読めます。
URLリンク(www.scheme.com)
□入門Scheme (日本語):
幻となったScheme入門書。全文がダウンロードできます。
URLリンク(www4.ocn.ne.jp)
□プログラミングGauche (日本語):
Scheme処理系言語「Gauche」の初の解説書!
URLリンク(ssl.ohmsha.co.jp)
URLリンク(karetta.jp) (立ち読み版)
URLリンク(karetta.jp) (サポートページ)
7:デフォルトの名無しさん
09/04/24 19:39:39
■Common Lispの実装
□Steel Bank Common Lisp: 代表的な処理系。CMUCLより派生。
URLリンク(www.sbcl.org)
□CMUCL: カーネギーメロン大学で開発された処理系。
URLリンク(www.cons.org)
□GNU CLISP: バイトコード変換系。
URLリンク(www.clisp.org)
□Clozure CL: OpenMCLから改名されました。
URLリンク(trac.clozure.com)
□Embeddable Common Lisp: Cで書かれたプログラムへの埋め込みが可能な処理系。
URLリンク(ecls.sourceforge.net)
□Armed Bear Common Lisp: JVM上で動く処理系。JVMバイトコード変換系。
URLリンク(armedbear.org)
□Allegro Common Lisp: 代表的な商用処理系。無料試用版も有り。
URLリンク(www.franz.com)
□LispWorks: 商用処理系。無料試用版も有り。
URLリンク(www.lispworks.com)
□Corman Common Lisp: Windows専用の商用処理系。無料試用版も有り。
URLリンク(www.cormanlisp.com)
□Scieneer Common Lisp: CMUCLより派生した商用処理系。非商用利用なら無料。
URLリンク(www.scieneer.com)
8:デフォルトの名無しさん
09/04/24 19:41:04
■Schemeの実装(1)
□Gauche: マルチバイト文字に対応したR5RS準拠処理系。川合史朗氏作。
URLリンク(practical-scheme.net)
URLリンク(jp.youtube.com) (川合氏によるGaucheに関するトーク)
□PLT Scheme: DrScheme、MzSchemeなどのR5RS準拠および独自拡張のScheme処理系。
URLリンク(www.plt-scheme.org)
□Scheme48: R5RS準拠のバイトコードインタプリタ。
URLリンク(www.s48.org)
□Gambit-C: R5RS準拠処理系。
URLリンク(dynamo.iro.umontreal.ca)
□Chicken: R5RS準拠処理系。スタンドアロン実行ファイルが簡単に作成可能。
URLリンク(www.call-with-current-continuation.org)
□Stalin: 激烈な最適化を施す処理系。人間の書くCコードより速いという噂。
URLリンク(cobweb.ecn.purdue.edu)
fURLリンク(ftp.ecn.purdue.edu) (Stalinの最適化技術を解説した論文)
□Bigloo: CLR用のコードを吐けるようになったらしい。
URLリンク(www-sop.inria.fr)
□Guile: R5RS準拠のGNU公式拡張用言語。もちろんSLIBも使えます。
URLリンク(www.gnu.org)
□JScheme: Javaで書かれたR4RS準拠処理系。Javaインターフェイスをサポート。
URLリンク(jscheme.sourceforge.net)
9:デフォルトの名無しさん
09/04/24 19:42:17
■Schemeの実装(2)
□Chez Scheme: R6RS準拠の商用処理系。インタプリタはフリー。
URLリンク(www.scheme.com)
□IronScheme: Microsoft DLR上で動作するR6RS準拠処理系。ERR5RSもサポート予定。
URLリンク(www.codeplex.com)
□Ypsilon Scheme System: 藤田善勝氏が開発中のR6RS準拠処理系。
URLリンク(www.littlewingpinball.net)
□Mosh: higepon氏が開発中のR6RS準拠処理系。
URLリンク(code.google.com)
□SECDR-Scheme: SECD machine modelに基づく実装。
URLリンク(lily.fan.gr.jp)
□LispMe: Palm上で動く処理系。これもSECD virtual machine。
URLリンク(www.lispme.de)
□Minischeme: 1ファイルに凝縮された処理系。
URLリンク(tinyscheme.sourceforge.net)
□TinyScheme: Minischemeを色々弄ったもの。
URLリンク(tinyscheme.sourceforge.net)
□Schemix: Linuxのkernelへのパッチで/dev/として扱えるTinyScheme。
URLリンク(www.abstractnonsense.com)
□Bit: Minischemeよりも小さい(?)バイトコード変換系。
URLリンク(www.iro.umontreal.ca)
□KI-Scheme, AM-Scheme, etc...
URLリンク(www.nifty.com)
10:デフォルトの名無しさん
09/04/24 19:43:13
■その他のLisp実装
□awklisp: Awkで書かれたわずか500行のLispインタプリタ。
URLリンク(www.accesscom.com)
□CAMPUS LIsP Lemon version: Cでわずか1000行。
URLリンク(www-masu.ist.osaka-u.ac.jp)
□Lisp interpreter in AS3: ActionScriptで書かれたLispインタプリタ。
URLリンク(www.solve-et-coagula.com)
□newLISP: Lispライクな軽量スクリプト言語。
URLリンク(www.newlisp.org)
□Arc: Paul Grahamが開発中の新しいLisp。
URLリンク(arclanguage.org)
□Clojure: MLやHaskellの特長を取り入れた新しいLisp。JVMバイトコード変換系。
URLリンク(clojure.org)
□Qi: MLやHaskellの特長を取り入れた新しいLisp。型の定義にシーケント計算表記を用います。
URLリンク(www.lambdassociates.org)
□GOO: DylanとSchemeの影響を受け、OOPをサポートした新しいLisp。
URLリンク(people.csail.mit.edu)
□Liskell: Lispの顔をしたHaskell。
URLリンク(liskell.org)
11:デフォルトの名無しさん
09/04/24 19:46:03
■コミュニティ、イベント関連
□初心者が集うIRC
布教してくれる先生も大募集です。
irc.scenecritique.com:6667 #Lisp_Scheme
□Shibuya.lisp
東京地区、特に渋谷周辺半径2万キロのLisp系プログラマによる非営利団体。
第3回テクニカルトークは2009年7月4日開催予定です。
URLリンク(shibuya.lisp-users.org)
□GaucheNight 第2回 (2008年3月8日)
「SchemeとGaucheとλとS式を愛するすべての人に贈るマクロな一夜」
出演:川合史朗、伊藤篤、山下伸夫、笹田耕一、ひげぽん、zick、
黒田寿男、えんどうやすゆき、ほか
URLリンク(practical-scheme.net)
□GaucheNight 第1回 (2007年5月9日)
出演:川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
伊東勝利、久井亨、小黒直樹、ほか
URLリンク(practical-scheme.net)
□黒田寿男氏関連 (黒板の人)
スレリンク(tech板:901-909番)
URLリンク(www.bookshelf.jp)
□Schemeのマクロに関する黒田氏の所感
URLリンク(cl-www.msi.co.jp)
□それに対する川合史朗氏の応答
URLリンク(practical-scheme.net)
□それに対する黒田氏の再反論
URLリンク(cl-www.msi.co.jp)
□それに対する川合氏の応答
URLリンク(practical-scheme.net)
□その他、黒田氏によるLisp関連のエッセイがこちらで読めます。
URLリンク(cl-www.msi.co.jp)
12:デフォルトの名無しさん
09/04/24 19:59:27
■2ch関連
□Meadow memo: 2ちゃんねるログ: dat落ちした過去スレの一部が閲覧できます。
URLリンク(www.bookshelf.jp)
□2ch上にあるLisp関連のスレ
【入門】Common Lisp その6【質問よろず】
スレリンク(tech板)
Emacs Lisp 3
スレリンク(tech板)
【GNU】スクリプト言語 Guile【scheme】
スレリンク(tech板)
【SICP】計算機プログラムの構造と解釈 Part2
スレリンク(tech板)
【普通のやつらの】 Arc Language 0 【上を行け】
スレリンク(tech板)
【魔法】リリカル☆Lisp【言語】
スレリンク(tech板)
【CGI】実用比較Lisp vs C/C++【GUI】
スレリンク(tech板)
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
スレリンク(tech板)
Lisp@UNIX版
スレリンク(unix板)
Lisperこそ真のプログラマーよ!!
スレリンク(prog板)
LISPってさ~
スレリンク(sim板)
【数式処理システム】 Maxima 【Common Lisp】
スレリンク(math板)
■スレ上でSchemeのコードを晒す場合は、こちらをご利用ください。
URLリンク(codepad.org)
13:デフォルトの名無しさん
09/04/24 20:32:17
1おつ
>>11
> □Shibuya.lisp
> 東京地区、特に渋谷周辺半径2万キロのLisp系プログラマによる非営利団体。
> 第3回テクニカルトークは2009年7月4日開催予定です。
> URLリンク(shibuya.lisp-users.org)
これ、参加しようかな
場所は、東京だよね?
料金は無料なんだね
>2/1日 21:00時より募集を開始した60名枠の観覧募集ですが、予想以上に速いペースで約2時間後の23時前に定員に達しました!
の状況をみると、財務処理とか大変になるかもだけど、資料代と称して1,000円ぐらいお金をとって欲しい感じだな
14:デフォルトの名無しさん
09/04/24 20:36:36
>>1('-')乙 これは1乙じゃなくていちもつなんだからね!
15:デフォルトの名無しさん
09/04/24 22:34:11
>>1乙
16:デフォルトの名無しさん
09/04/24 23:42:33
(乙 ( >>1))
17:デフォルトの名無しさん
09/04/24 23:45:02
CL-USER> (eval >>1)
乙
CL-USER>
18:デフォルトの名無しさん
09/04/24 23:52:59
>>1乙
19:デフォルトの名無しさん
09/04/25 01:11:27
>>1乙……っ!!!
20:デフォルトの名無しさん
09/04/25 01:25:36
>>1
これはポニーテールがうんたらかんたら
21:デフォルトの名無しさん
09/04/25 11:23:43
前スレのつづき
落ちそうなのでこっちで(もう話も終わると思うけど)
ここのスレはLispとSchemeの合同スレであり、派生したいヤツは勝手に派生してくれって話なのかな?
22:デフォルトの名無しさん
09/04/25 12:59:32
もてたいためのリスプハッカー
あなた動機が不純なんだわ
フムフムヌクヌクアプアア
いつも手にして歩いてる
R6にはケチつけて
スーパーハカーを気取っているけど
何かが違うわ
かっこ かっこ かっこ かっこ
かっこ かっこ かっこばかり 先ばしり
リスプハッカー・ウィドウ
リスプハッカー・ウィドウ
いい加減にして schemeあなたの物じゃない
23:デフォルトの名無しさん
09/04/25 13:00:30
人目気にするリスプハッカー
言語仕様をANSIにしてる
再帰するのがエクスタシー
呼べばnilまで帰らない
もしも誰かに聞かれたら
SICPはとうに読み終えました いい本でした
かっこ かっこ かっこ かっこ
かっこ かっこ かっこつけて 泣きたいわ
リスプハッカー・ウィドウ
リスプハッカー・ウィドウ
いい加減にして lispはcommon一つじゃない
24:デフォルトの名無しさん
09/04/25 13:09:38
ロックンロールウィドウって解説つけなくてもわかるオッサンばかりのスレ
25:デフォルトの名無しさん
09/04/25 17:00:45
おっさんですがわかりません><
26:デフォルトの名無しさん
09/04/25 23:14:16
>>25
つURLリンク(www.youtube.com)
27:デフォルトの名無しさん
09/04/25 23:22:45
>>26
このころ、二十歳なんだって
すごいね
copperpony (7 か月前) 表示 非表示 +12 スパムとしてマーク 返信
20歳でこの凄みは21世紀の日本でも完全に大スターになれる。
こんなに迫力があるロック歌手が今いない
舞台映えするし美人で宝塚でも大スターになれそう
28:デフォルトの名無しさん
09/04/25 23:56:25
ひとつ賢くなった
29:デフォルトの名無しさん
09/04/26 08:25:46
山口百恵だったんだ、「カッコ、カッコ…」の所だけは聞いたことがあった。
30:デフォルトの名無しさん
09/04/26 09:37:39
アン・ルイスの曲だから、本人も歌ってるよ。
31:デフォルトの名無しさん
09/04/27 20:34:33
6変数関数の3,5番目の変数だけ束縛したカリー化がしたい
metabangに入ってるかと思ったらなかった
違うテクニックを使うのが普通なんでしょうか
32:デフォルトの名無しさん
09/04/27 20:54:14
cut?
33:デフォルトの名無しさん
09/04/27 21:39:39
Internet(YouTube, Web browsing, mail, etc)レベルの利用のコンピュータに関心のある人が初めてプログラミング言語を習うとして
Schemeは挫折せずにこなせるレベルだよね?
初学言語がC, Pythonと比較するとどうなんだろうなあ。
学習時間(20時間、200時間、2000時間、20000時間)にみるプログラミング自体のおもしろさの度合いの推移
懼20時間以降は他の言語に浮気してもかまわない。むしろ推奨する。また浮気言語も含めた学習時間とする。
だから、何?と聞かれても特にないけど
34:デフォルトの名無しさん
09/04/27 21:41:32
うほっ、文字化けした
Internet(YouTube, Web browsing, mail, etc)レベルの利用のコンピュータに関心のある人が初めてプログラミング言語を習うとして
Schemeは挫折せずにこなせるレベルだよね?
初学言語がC, Pythonと比較するとどうなんだろうなあ。
学習時間(20時間、200時間、2000時間、20000時間)にみるプログラミング自体のおもしろさの度合いの推移
・20時間以降は他の言語に浮気してもかまわない。むしろ推奨する。また浮気言語も含めた学習時間とする。
だから、何?と聞かれても特にないけど
35:デフォルトの名無しさん
09/04/27 22:12:24
>>31 let f a b c d e f = b f a c d eみたいなのを一瞬考えたが
Lispにカリー化はないので、マクロで引数の順序かえたらいい
>>34
最初につまづくのは再帰によるループと、かっこの扱い(car,cdr,cons,list関連)
それがクリア出来そうならschemeが一番おすすめ。覚えることも他言語より少ない
ただ、これらは結構序盤にある山なのでそこが問題
個人的な経験からいえば
簡単に結果がわかる&ループがある言語から
入った方が初心者には優しいんじゃ無かろうか
その中だとCとPythonだが、Cはすすめにくい
Cはポインタ関連のわかりにくさと
副作用が多いプログラミングスタイルなので
例えばクイックソートなんかのアルゴリズム系は
関数型言語に比べてかなり理解しにくい
ただ、情報量は多い
PythonはLLなので
初心者にもさわりやすいとは思う
あと、わりとlispに近いと聞く
ただ、情報量はまだそれほど多くないかな?
しかし、Google効果で広まりつつあるようには思う
慣れてしまえば、プログラミング自体の楽しさは
Cに比べれば圧倒的にschemeかな
あと、世の中にあるコードは良質なものが多いし
いいプログラミングスタイルが身につく(ハッカーが多いので)
pythonはやったことないんでわからん
36:デフォルトの名無しさん
09/04/27 22:16:46
>ただ、情報量はまだそれほど多くないかな?
そうでもなさそうだった
俺のおすすめルートは
やる気ある -> scheme
そうでない -> python
または python -> scheme
37:デフォルトの名無しさん
09/04/27 22:18:01
宝石が好き
-> 金、銀、perl
38:デフォルトの名無しさん
09/04/27 22:18:48
Ruby
39:デフォルトの名無しさん
09/04/27 22:20:42
>>37
ブルーダイヤで洗濯しまくる
40:デフォルトの名無しさん
09/04/27 22:26:30
perlは好きだけど
初心者にすすめるならrubyかな
perlは変なスタイルのプログラムが非常に多いから。
同じことがrubyにも言えるかもしれないが
perlよりはマシだろう、多分
41:デフォルトの名無しさん
09/04/27 22:31:49
>>39
オサーン乙
42:デフォルトの名無しさん
09/04/27 22:39:28
>>35
「初心者」というのは才能に関しても、興味の強さに関しても、
もちろんその他いろいろな特性(我慢強さとかね)に関しても
非常に広いスペクトルを持った集合だと思う。
なので、大雑把に「初心者」でくくるのでなく、もっと細かく
カテゴリー分けしないと、初学に最適な言語をアサインするのは難しいと思う。
最初のアサインに失敗するとプログラミング自体が嫌いになってしまうしね。
>>34
>Internet(YouTube, Web browsing, mail, etc)レベルの利用のコンピュータに関心のある人
同上。
43:デフォルトの名無しさん
09/04/27 22:41:52
最近は入門言語がオブジェクト指向なんだよね。
みんな偉いなあ。
おいら、最初にオブジェクト指向(といっても C++ ですがw)を知ったとき、
大喜びしたのはいいけど、どうでもいいことでもクラス設計からはじめるから、
とても効率悪かったなぁ。
(その後、テンプレートを知り、以下同文。)
最近の入門者はそういう罠(?)にははまらないんだろうか。
はじめっからオブジェクト指向だと、大喜びも何もないだろうから、
そんなくだらんことはしないのかな。
44:デフォルトの名無しさん
09/04/27 22:46:08
>はじめっからオブジェクト指向
便利さがあって当たり前の世代はまだ出会ったこととが無いけど、
たぶんニュータイプでしょう
45:デフォルトの名無しさん
09/04/27 22:59:29
そういう意味では、アセンブラ何それ?おいしいの?って世代は多いでしょ
46:デフォルトの名無しさん
09/04/27 23:02:32
話をlispっぽく戻すと(?)
pythonの__hoge__系関数はCLOSの総称関数的だよね。
47:デフォルトの名無しさん
09/04/27 23:18:28
perl、 rubyは大体同じようなもの。
javaもまあ、大差ない。Cほど簡単ではないが。
しかしPythonはちょっと難しい。明らかにワンランク上。
Schemeとなったら、さらにもうワンランク上の難しさだね。
読み方が。
48:デフォルトの名無しさん
09/04/27 23:27:28
Lisp/Schemeって日本で一番流行ったのっていつ?
人工知能で注目された時代?
それともずっとマイナー?
49:デフォルトの名無しさん
09/04/27 23:27:41
単純なメモ帳ではプログラミングの開始もできないのはごくわずかでもない初心者に敬遠させてるよね
50:デフォルトの名無しさん
09/04/27 23:30:33
確かに。
最初から gauche を正しく読めた人は少ないかも知れん。
51:デフォルトの名無しさん
09/04/27 23:31:37
>>39のネタがわかった時点で>>41もおっさんだw
52:デフォルトの名無しさん
09/04/27 23:45:16
>>35
> 最初につまづくのは再帰によるループと、かっこの扱い(car,cdr,cons,list関連)
> それがクリア出来そうならschemeが一番おすすめ。覚えることも他言語より少ない
> ただ、これらは結構序盤にある山なのでそこが問題
いわゆるループはC的(手続き型言語的)考えた方なのかなと個人的に思うんだけどなあ
初学言語がSchemeだったら違う見え方になるのかなと思うし
> PythonはLLなので
> 初心者にもさわりやすいとは思う
> あと、わりとlispに近いと聞く
> ただ、情報量はまだそれほど多くないかな?
Webドキュメントはみやすいと思う
訳書は少ないかな
最近、入門書のクズ本が増えてきたみたいだけど
まあ、メジャーや注目度の証なのかなもしれないけど
vimとかの選択肢も多少あるけど、半強制的にemacsを触ることになるのがすごく良い気もするんだけどなあ
どうなんだろう
学習コストが高いからこそ最初がいいと思うんだよなあ
"難しいんではなく学習コストがある"というのは明確に伝えるべきだけど
コンピュータに関心のある10代の子は、どのくらい忍耐力がないんだろうなあ
53:デフォルトの名無しさん
09/04/27 23:49:32
>>49
初学者だとしても単純なメモ帳でプログラミングする感覚はよくわからないけど
ダウンロードして、ダブルクリックするだけですぐ使える環境は、さすがにあるんじゃないの?
開発環境として主流でないだけで
54:デフォルトの名無しさん
09/04/27 23:51:21
>>49
メモ帳でも書けるじゃない。Emacsやviを使うともっと楽に書けるってだけで。
他の言語に比べて、メモ帳で書きづらいのは確かだけどさ。
でも、Emacsやviを使ってると、括弧のお陰で移動が凄い楽だから、
トントンってところな気がする。
55:デフォルトの名無しさん
09/04/27 23:57:43
ループは言う程簡単じゃない
小学生のときN88のFor Nextを理解するのに恐しいぐらい時間かけた気がする
さらに正確に書こうと思ったらホーア論理の初歩を知っておかないと
慣れるまでまともに動作するコードが書けないから
56:デフォルトの名無しさん
09/04/28 00:00:40
>>55
恐ろしいくらいベーマガのソースコードを打ち込んだんですね。
わかります。
57:デフォルトの名無しさん
09/04/28 00:03:08
男ならEdwin
58:デフォルトの名無しさん
09/04/28 00:26:20
>>55
ネットない時代だと悲惨だよね
なんの言語でもいいけど、入門書なんてなかった気がする
現行PCが30万~40万する時代だからなあ
東京の人は別なのかもしれないが
ダウンサイジングってあるけど、これが超緩やかで2109年ぐらいが今のPC・ソフトの価格だったらどうだったんだろうなあ
お金儲けに走りすぎて、その副作用がすご過ぎる気がするなあ
大量生産・大量消費は人を幸せにしてきたか?
59:デフォルトの名無しさん
09/04/28 00:28:21
>>55
俺はBASIC→機械語(Z80)→PASCALつまみ食い→LISP…てな順にやってきたけど
FOR NEXTやIF THEN (GOTO)でループには苦労しなかったな。
PASCALで初めて再帰を知ったときはちょっと感動した。
当時のBASICじゃローカル変数なんて当然無いから配列で擬似的にスタックを作ったりしたけど
GOSUBやFOR NEXTのネスティングは16重までだったから再帰なんて無謀だったなw
60:デフォルトの名無しさん
09/04/28 00:44:44
C
int i;for(i=0;i<10;++i){printf("hello");}
scheme
(let loop ((s 0))
(if (< s 10) (begin (print "hello") (loop (+ 1 s)))))
python
for i in range(10):print("hello")
pythonは今インストールして0から勉強して30分ぐらいで上の式を作った
(他言語の前提知識がなければもっと時間かかると思う)
どうやらこれはpython3.0系という新しい非互換のバージョンらしく
新しいバージョンの情報は検索であまりヒットしなくて苦労した
初心者はこっちには手を出さない方が良さそうに思う
61:デフォルトの名無しさん
09/04/28 01:03:47
Haskell
replicateM_ 10 $ print "hello"
しかしモナドとかあるから論外ですね
62:デフォルトの名無しさん
09/04/28 01:12:08
Ocaml
for i=0 to 9 do (print_string "hello";) done;;
でもOcamlも初心者向きじゃないかな
63:デフォルトの名無しさん
09/04/28 01:42:59
JavaScript
for(var i = 0; i < 10; i++){alert("hello");}
ほとんどCと同じだな。
文法はシンプルだしブラウザ上で動くから入門向けにはいいんじゃないかな
this周りに若干癖があるけど
64:デフォルトの名無しさん
09/04/28 01:52:14
Ruby
10.times { puts "hello" }
65:デフォルトの名無しさん
09/04/28 02:00:05
こうして見比べるとやっぱり Ruby は入門用としてはよろしくないような
気がしてきた。
Ruby で入門した後、他の言語を勉強する時に、多分、苦労するぞ。
プログラミング言語は一個できたらそれで十分、
というのだったら、Ruby でも良いとは思うんだけど。
(もっとも、そういう人が Ruby を使えるようになるかについては、
これまた、疑問なんだけど。)
66:デフォルトの名無しさん
09/04/28 02:13:44
perl
print "hello" for (0..9);
67:デフォルトの名無しさん
09/04/28 02:17:50
>>64
>10.times
なにそれ
コンピュータの常識や他の言語を意識して、言語仕様を決めるべきだと思うけど
その言語の性格上、現在の記述法が妥当であって統一感があればいいと思うけどなあ
Perlが流行ったのって正規表現が強力だったから?
広告宣伝に莫大なお金が投じられたわけでもないんだよね?
68:デフォルトの名無しさん
09/04/28 02:27:49
Perl
for ($i=0;$i<10);$i++) {print "hello";}
foreach $i (0..9) {print "hello";}
とか
for i in Array.new(10)
print"hello"
end
Rubyならまぁこれでもいいけど統一感がないよな
初心者にはまったくお勧めできない
69:デフォルトの名無しさん
09/04/28 02:33:33
Ruby
1.upto(10) {puts "hello"}
10.downto(1) {puts "hello"}
まぁ,いろいろあるね.
70:デフォルトの名無しさん
09/04/28 02:36:16
>>69
どれが標準的な書き方なの?
71:デフォルトの名無しさん
09/04/28 02:39:17
ちなみに
10.times {|i| puts i} => 0 1 2 3 4 5 6 7 8 9
1.upto(10) {|i| puts i} => 1 2 3 4 5 6 7 8 9 10
10.downto(1) {|i| puts i} => 10 9 8 7 6 5 4 3 2 1
(改行略)
境界でどうなるか悩まないんだろうか.
つまり 10.times の時に i は 0 から始まるのであって,
1 からはじまるわけではない.
1.upto(10) のときは i は 1 から 10 まで動く.
10.downto(1) のときは i は 10 から 1 まで.
意味考えたらわかるから,悩まないか.
>>70
知らね.Ruby あんまり使わないし.
72:デフォルトの名無しさん
09/04/28 02:40:15
む、いかんいかん。乗り遅れる所じゃった。
Smalltalk
1 to:10 do:[ :i | Transcript show:'hello']
73:デフォルトの名無しさん
09/04/28 02:47:04
そうそう,Ruby だとこれもあるね.
1.step(10, 1) {puts "hello"}
これは
1.step(10, 1) {|i| puts i} => 1 2 3 4 5 6 7 8 9 10
この意味合いは 1 から増分 1 で 10 まで数える.
(例えば増分を 2 にしたければ
1.step(10, 2) {|i| puts i} => 1 3 5 7 9
とすれば良い.)
74:デフォルトの名無しさん
09/04/28 02:48:35
pforthで
10 0 do ." hello" loop
factorで
10 [ "hello" print ] each
75:デフォルトの名無しさん
09/04/28 02:52:49
Scheme
(let loop ((s 0))
(if (< s 10) (begin (print "hello") (loop (+ 1 s))))) ;>60
(for-each (lambda (i) (print "hello")) (iota 10))
(dotimes (i 10) (print "hello"))
どれが標準的?
76:デフォルトの名無しさん
09/04/28 03:00:16
もっとHENTAIにいこうZE
((lambda (f) (f f 10)) (lambda (g n) (cond ((< 0 n) (print "hello") (g g (- n 1))))))
77:デフォルトの名無しさん
09/04/28 03:04:19
何故,みんな「素直」に do を使わないんだw
(do ((i 0 (+ i 1))) ((= i 10)) (print "hello"))
78:デフォルトの名無しさん
09/04/28 03:07:00
そろそろAPLがやってくる予感・・・!
79:デフォルトの名無しさん
09/04/28 03:09:31
CommonLispで
(loop repeat 10 do (print "hello"))
>>75
たぶんGauche使ってるんだろうが標準のschemeにはdotimesはないぞ
CommonLispからの移植な
あとprintじゃなくてdisplayな
80:デフォルトの名無しさん
09/04/28 04:22:55
>>66 >>68
ところでPerlなら
print "hello" x 10;
でいいのだが?
81:デフォルトの名無しさん
09/04/28 04:27:07
M-x run-schemeでC-x C-eとするけど
M-x run-gosh,M-x run-guileとソースの画面も合わせて、3画面にして
goshでの評価、guileでの評価を各自のコマンドと
一気にgoshでもguileでも評価する設定できないのかな
guileが不人気みたいだから、こういうのはないか
Common Lispでもclispとsbclとできると個人的には便利なんだけどなあ
82:デフォルトの名無しさん
09/04/28 12:04:29
(iter:iter (for i from 1 to 3) do (print "hello"))
83:デフォルトの名無しさん
09/04/28 12:16:37
doなんか使うより
(for-each (lambda (x) (print "hello")) (iota 10 0))
>>80
じゃあrubyなら
puts"hello"*10
だな
84:デフォルトの名無しさん
09/04/28 18:07:57
Scheme は、仕様自体はコンパクトでも取り扱っている概念や方法論がハイレベル
Lisp 系なら Emacs Lisp が初心者向きかと。Emacs も理解できイベントループや簡単な
ウィンドウ取り扱いなども学べて一石二鳥にも三鳥にもなるし
85:デフォルトの名無しさん
09/04/28 18:27:26
Emacsのウィンドウやバッファの取り扱いはEmacsにしか通用しないだろ...
ま、Emacs自体がREPLになってる上にコードのほとんどがElispでのぞきみ放題
なのはいい勉強になると思うけんど。
英語が苦にならないならcommon lispの方がライブラリが整っていて、自前の
プログラムを1から書く分にはschemeよりいいと思うんだが。なんだか
ruby vs pythonの構図と似てるなあ。
86:デフォルトの名無しさん
09/04/28 19:36:47
"一切ほかの言語に触りたくなく、(Scheme/Lispの中から)スクリプト言語をひとつ選ぶならどれがいい?"という質問があるけど、愚問だよね
初恋の子と付き合って、純愛を一生貫きたいみたいなもんで
3年目に浮気するからなあ
>>84
> Scheme は、仕様自体はコンパクトでも取り扱っている概念や方法論がハイレベル
言葉にするとSchemeはそういう存在のところもありそうだね
付け加えるならSchemeも初学者向きだと思う
ここのスレで実用言語としてのGaucheとLispがどういう関係なのか、興味があるところだけど
ここのスレで実用言語としてのGauche使いって多そうだよね
>>85
> ruby vs pythonの構図と似てるなあ。
触らず嫌いだけどrubyは、ないなあ
なぜか頭から却下してしまう
手続き型言語only使いからするとLisp/Schemeがそういう存在なんだろうけど
自分がググった限りだと触るならPythonがいいなあ
Scheme/Lispは親戚関係みたいに血がつながっているイメージ
なんか違う気がする
まあ、血縁関係にお金と権力が絡むと殺し合いが始まるんだけどね
日本の歴史のように
血の例はよくないね
87:デフォルトの名無しさん
09/04/28 19:45:21
話が飛躍しすぎ
88:デフォルトの名無しさん
09/04/28 20:05:29
2点だな
89:デフォルトの名無しさん
09/04/28 20:43:09
>>86
日本の歴史で、
血縁関係にお金と権力が絡むと殺し合いが始まる事例を
複数あげてください。
90:デフォルトの名無しさん
09/04/28 20:57:25
何ら具体性がない
91:デフォルトの名無しさん
09/04/28 21:23:28
>>89
同じ年代だけど織田さんのところと斉藤さんのところがそうだよ
92:デフォルトの名無しさん
09/04/28 21:41:11
俺のダチのツネとトモとか
93:デフォルトの名無しさん
09/04/28 22:05:14
>>91
誰だよそれ
94:デフォルトの名無しさん
09/04/28 22:11:29
>>91
斎藤さんとこは息子とバパで既に仲悪かったじゃん。
確かに織田さんとこに血縁者はいるけど、実質、斎藤さんとこの親子喧嘩に
義理の息子が割って入ったってかんじだから、
血縁者同士って括りでは斎藤さんとこだけの話だよね。
95:デフォルトの名無しさん
09/04/28 22:16:18
マムシとウツケの話?
それはそうとして「バパ」って何?
96:デフォルトの名無しさん
09/04/28 22:48:04
>>95
携帯からなんで…
97:デフォルトの名無しさん
09/04/28 23:34:16
「初学者」って受験参考書の前書きによく使われてる言葉だよな。
あと、大学入りたての鼻息荒い学生がよく使う。
98:デフォルトの名無しさん
09/04/29 00:07:42
>>96
それはゴメンなさい
自分の知らない言葉だと思ってググったりしてしまったw
99:デフォルトの名無しさん
09/04/29 00:23:13
>>97
じゃあ、なんて言うんだ?
100:デフォルトの名無しさん
09/04/29 00:27:53
『初心者』じゃない?微妙にニュアンス違うかもだけど
101:デフォルトの名無しさん
09/04/29 00:29:12
普通は「初心者」だろうな.「初学者」なんて一般社会では聞いたことがない.
102:デフォルトの名無しさん
09/04/29 00:29:40
>>97
言語学関の板での初心者と同義語
103:デフォルトの名無しさん
09/04/29 00:34:42
横駄レス
俺はプログラマについて「初心者」って言うのを
リアルでは一度も聞いたことないわ。
学術の世界って、法学とか文学でもそうでしょ。
Windows使いHOWTOを「初学者」っていうと
逆に固すぎる感じがするわ。
104:デフォルトの名無しさん
09/04/29 00:39:03
こういう場合は「人それぞれ」で話を終わらせるか
特定の個人に限定して話を続けるとよい
105:デフォルトの名無しさん
09/04/29 00:50:25
古い地球人よ
106:デフォルトの名無しさん
09/04/29 00:52:15
アクターじゃない!
アクターじゃない!
継続なのさ~
107:デフォルトの名無しさん
09/04/29 01:05:01
恥丘の男に飽きたところよ
108:デフォルトの名無しさん
09/04/29 01:39:10
継続ってノンエンプリティブなOSでマルチタスクやってたころを思い出すかな。
109:デフォルトの名無しさん
09/04/29 01:51:13
「少なくとも入門は済ませた俺は"初学者"ではない。むふふ」
という中二病心がうずくのさ。
110:デフォルトの名無しさん
09/04/29 02:00:07
くっ!俺の右腕のアセンブラが火を噴く前に、あんた逃げな!!
111:デフォルトの名無しさん
09/04/29 02:00:35
>>34があれから現れていない件
112:デフォルトの名無しさん
09/04/29 02:17:38
お前も実は>>34だったんだよ・・・
みんなが>>34で、>>34がみんなだったんだ!うわーい
ま、Smalltalkerなおでは違うけども
113:デフォルトの名無しさん
09/04/29 03:50:39
>>52
忍耐を要求する時点で終わってる
プログラミングは楽しくなきゃ
114:デフォルトの名無しさん
09/04/29 07:27:10
>>113
子供にとって楽しさってなんだろうなあ
サッカーだったら活躍したらうれしい、もっとうまくなりたいとかかな
でも、ピアノとか、お習字とか、武道の習いごとは、違うよね
個人的には子供のころは馬鹿みたいに時間があって、それを退屈しないで
過ごせればなんでもいい気がするんだけどなあ
退屈しない = 楽しさかな?
115:デフォルトの名無しさん
09/04/29 08:46:08
LisperってHHKとか使ってるの?
116:デフォルトの名無しさん
09/04/29 10:00:18
キーボードは個人の趣味
117:デフォルトの名無しさん
09/04/29 10:13:42
和田先生だし、Lispむけなのかな?HHKだと()打ちやすいのかなぁ?
なんて考えたのですが。
118:デフォルトの名無しさん
09/04/29 10:21:07
>>110
そういえばcomp.lang.schemeで「継続をCで実装するにはどうするんですか~?」って質問に"real man uses assembler."の一言でスレをストップした漢がいたなあ。
あれは、おまえの右腕だったのか@@・・・(w
119:デフォルトの名無しさん
09/04/29 10:21:47
()は、日本語配列の方が打ちやすいな~とか思う。
US: 9→( , 0→)
JP: 8→( , 9 →)
多くの人が小指より薬指の方が長いから、
指が届き易いんじゃないだろうか?
120:デフォルトの名無しさん
09/04/29 12:46:16
>>119
> 指が届き易いんじゃないだろうか?
JPの0の位置って好きじゃないかも
C-u 99 ほにゃららってするね
C-u 55 ほにゃららってするね
あとC-u 22 C-n 約半ページ移動
なぜC-uのあとに左手が多いのかなと思ったら、右手の人差指でuを押して、右手の薬指で9を押すと
右手がちょっと不安定になるからっぽい
まあ、どうでもいい話でした
US配列はjp106を設定していないあの配列なのか
hhkとか使いたくないなあ
121:デフォルトの名無しさん
09/04/29 13:37:20
>>86
Sheme/Lispで多言語の文字列生成検索関数があれば、
いいんだ!(emacs lispはいや。)
122:デフォルトの名無しさん
09/04/29 17:38:13
>>119
小指?
いや小指より薬指は長いけど
自分は890あたりは中指薬指で打つな
123:デフォルトの名無しさん
09/04/29 19:59:39
>>122
それだと、ホームポジションの基本から外れるじゃん。
だが、冷静に考えてみると、閉じ括弧って lisp の時、滅多に入力しない。
pairで入力するから。
だから、たまに括弧の数の調整をする時、使って、
「ああ、遠い」って思うんだよな。
124:デフォルトの名無しさん
09/04/29 20:03:45
>>122
わからなくなもないけど、混乱しないの?
右薬指で0もありならp/もそうなの?
標準的と思われるタッチタイプにどれだけ妥当性があるのか、よくわからないがね
小指の使用率高いし
人間の適用力はすごくて、vi, emacsのESCの過度のタイプも意外と平気だからなあ
125:デフォルトの名無しさん
09/04/29 20:23:45
俺も数字の段では小指を使わない。
これで腕は移動しなくても、手首の回転と指の折り曲げで対応できる。
>>124
> /もそうなの?
小指は短いんだから、折りたたむ位置のキーはかえって有利。
126:デフォルトの名無しさん
09/04/29 20:36:53
クロダって凄い人なの?
127:デフォルトの名無しさん
09/04/29 20:38:49
黒部ダムは、すごいところだ。
128:デフォルトの名無しさん
09/04/29 21:17:56
黒田節はいつ聞いても心にしみる
129:デフォルトの名無しさん
09/04/29 22:15:08
以前はEmacsのM-系はAltキーで
viの挿入モード抜けはESCでしてたけど
いまはどっちも^[。
Ctrlキーで代用が聞くBSやTABも^H、^I。
最近コンソールアプリで^Hが使えないものでも
^8が効くということに気が付いた。
Ctrlキーは便利なんだけど
Macだとブラウザのアクセスキーとカチ合うのが難点
wikiを見てる時に何度履歴のページを見る羽目になったことか…
130:デフォルトの名無しさん
09/04/30 00:38:50
括弧が遠いと思うのなら、SymbolicsのキーボードみたいにUS配列の'['と']'の
位置を'('と')'に変更してしまうのもいいかも。これ結構打ちやすいよ。
'{'と'}'は滅多に使わないのでずいぶん遠くにある。あとAの左隣がRUBOUT
(DELETEに相当)というのも麻薬的な魅力がある。
URLリンク(www.pfu.fujitsu.com)
131:デフォルトの名無しさん
09/04/30 01:44:51
>>126
既存コミュニティの努力を全て無に帰して、新しい言語を構築しようって人は、
近代中世から何百年とずーっと存在し続けているのさ。
今に始まったことじゃない。
132:デフォルトの名無しさん
09/04/30 02:44:04
ESCがずいぶん離れていて不便だ・・・と思っていたんだが
いわゆる省スペースのだとどうということもない
133:デフォルトの名無しさん
09/04/30 03:07:31
>>131
pgの悪口言うな><
クロッティはむしろ逆の方向性だろ。
134:デフォルトの名無しさん
09/04/30 04:06:44
キーボードの話が出たので
省スペースキーボードの KEK-EA9AU の
復活に向けて布教しようと思ったら、何故か普通に売られてた!
ヤホーイ!!
URLリンク(kakaku.com)
値段が上がり続けてるのが心配だがこのキーボードはマジでオススメ
キーピッチが小さいから数字キーまでブラインドで打てるし
フルキーだから変な配置で困ることもない。
なのに全く知られてないのは何故なんだ!
135:デフォルトの名無しさん
09/04/30 07:39:04
>>134
形が普通すぎてださいし、JIS配列だから使い物にならない。
136:デフォルトの名無しさん
09/04/30 11:46:14
thinkpadでいいよ
乳首最高
137:デフォルトの名無しさん
09/04/30 12:43:20
>>132
漢字キーと入れ替えちゃえばいいじゃないか
IMEのスイッチを変換に当てて使えば上段全部が遠いおれでも楽勝だぜ(無変換はSUPER)
138:デフォルトの名無しさん
09/04/30 13:39:01
>>137
うん、でかいキーボードに戻ったらそうするだろうw
省スペースだとファンクションキーも楽に届く・・・のはいいんだが
今度は左のALTやCTRLが押しにくい
139:デフォルトの名無しさん
09/04/30 21:25:25
>>138
小さくなるとALT,CTRLが押しにくかったりするんだよね
おれは店頭に並んでいる1000円キーボードが一番好きだね
外し方が悪いのかもしれないけど、うまくキーボードが外せなかったりするし
ブラシとエアーダストでお茶を濁している
あと、用途 来客訪問時用 and 予備用ととストックしてあるなあ
ケースバイケースで生活感のあるキーボードを見せたくない場合もあるし
乳首パッドも使っていたけど、しょせんノートパソコンだよね
持たなくて済むなら持ちたくないね
盗難がすごくこわいし、セキュリティ的にも安易に席を離れられないからなあ
デスクトップPCも盗もうと思えばできるんだろうけど
素人がやる犯罪行動コストとしてけっこうありそうだからなあ
常習者だったらあっさり行けるんだろうけど
140:デフォルトの名無しさん
09/05/01 01:55:33
>>119-123
8 は人差指、9 は中指、0 は薬指が基本。
URLリンク(www.softpedia.com)
141:デフォルトの名無しさん
09/05/01 03:18:24
こっちが標準だろうけど、そっちのほうがいいかもね
左手の小指に比べると右手の小指のタイプ範囲が広いこと、広いこと
表計算を頻繁に使うならマウスは左のほうが使いやすそうだよね
タッチタイピング - Wikipedia
URLリンク(ja.wikipedia.org)
142:デフォルトの名無しさん
09/05/02 00:47:11
左手小指の付け根でCtrl押す派はどれくらいいるのだろうか?
143:デフォルトの名無しさん
09/05/02 01:29:39
>>142
どんだけ変態なんだよ
なにかの事故で小指がないならわかるけど
144:デフォルトの名無しさん
09/05/02 02:18:31
お前らそろそろ自重しろよ
145:デフォルトの名無しさん
09/05/02 02:42:07
>>144
それならネタ投下しろよ
146:デフォルトの名無しさん
09/05/02 05:36:02
プラインド・タッチの普及に於いてサイト・アンド・サウンドの果たした
役割について考察せよ。因みにWikiでは触れられていない。
これネタ
147:デフォルトの名無しさん
09/05/02 06:57:29
>>142
わたしもやりますー
小指はあるよ
148:デフォルトの名無しさん
09/05/02 11:57:24
>>142
俺もフルサイズのキーボードではやるよ。
ノートとかだとできなくて辛い。
>>143
某Scheme処理系作者もそうだった気がする。
結構打ちやすいよ?
149:デフォルトの名無しさん
09/05/02 12:18:46
>>148
付け根なんでしょ?
それだとCtrlとCaps lockは交換していないよね
第一関節と第二関節の腹で押すなら、多少は想像できるけど、でもとても効率性や機動性があるとは思えない
まったり操作のときに使うの?
右手小指の付け根では成り立たないの?
すげー謎過ぎる
150:デフォルトの名無しさん
09/05/02 12:25:34
小指の付け根あたりにもう一本指があればいいのに
151:デフォルトの名無しさん
09/05/02 12:26:09
ホームポジションでタイプするときに小指の付け根ってちょうど左右Ctrlキーのあたりにあるけど。
付け根で押すと、押した状態でさらに指が5本ともつかえて効率的。Emacsにイイ。
152:デフォルトの名無しさん
09/05/02 12:29:34
その態勢だったら親指が使えない
153:デフォルトの名無しさん
09/05/02 12:39:07
Lispスレと思って開いたらタイピングスレだった
154:デフォルトの名無しさん
09/05/02 12:41:57
あー、やっとイメージをつかめたけど
USキーボードだとCtrlの幅が多少広くなって、他のキーに接触せずに押しやすいのかな
でも、それならCtrlとCaps lockは交換する派のほうが共感できるなあ
155:デフォルトの名無しさん
09/05/02 17:17:51
>>151
> ホームポジションでタイプするときに小指の付け根ってちょうど左右Ctrlキーのあたりにあるけど。
その体制って手首や指が手の甲の側に反るので俺はダメだ。
俺がホームポジションでタイプするとき、小指の付け根は空中ですよ。手首はパームレストの上。
手が半球をつかむような自然な形を保てる方が手の負担が少なくて楽だと俺は思うのだが、
そんなの全然大丈夫って人も沢山いるんだね。
156:デフォルトの名無しさん
09/05/02 17:41:49
俺がホームポジションでタイプするとき、小指の付け根はCtrlキーの0.5cm上空ですよ。
手首はパームレストの上。手の負担も少ないってゆうかゼロ。
157:デフォルトの名無しさん
09/05/02 20:57:18
>>154
致し方ないので"A"の左がコントロールになっているキーボードを社内で普及させた俺みたいなのもいる
158:デフォルトの名無しさん
09/05/02 21:20:02
文字のキーを2つ以上同時に押すことはゲームしかありえないので
左手で文字キーを押すときは右手で右のShift, Ctrl, Altを
右手で文字キーを押すときは左手で左のShift, Ctrl, Altを
組み合わせて押す。
どんなキーボードでも有効w
159:デフォルトの名無しさん
09/05/02 21:28:04
>>157
すげー迷惑だよ
劇的な優劣差があるわけでもなし
むしろ不便さのほうを感じるんではないだろうか
キーボード変わると作業効率落ちる
漫画喫茶でストレス感じまくり
160:デフォルトの名無しさん
09/05/02 23:59:01
以前、某大学(東大じゃないよ)の実習用MacにHHK付けさせたのは何を隠そうこの私。
161:デフォルトの名無しさん
09/05/03 00:46:08
俺はコントロールキーを
小指側のてのひらの付け根で押してる。
小指の付け根というのはこのことかな?
162:デフォルトの名無しさん
09/05/03 01:12:16
Lispをやってこうと思うんですけど最近はHaskell最強の声も聞きました。
どっちがいいんですか。
163:デフォルトの名無しさん
09/05/03 01:19:17
こういう質問をする人の思考回路がまったく理解できないな。
両方やってみて自分で選べばいいじゃん。
164:デフォルトの名無しさん
09/05/03 01:25:26
まあ擁護してみると
どちらも勉強する価値は大いにある
しかしその価値がわかるほどに学習が進むとそれに染まってしまって
どちらかに偏って考えてしまうようになる
だから学習前のプレーンな状態で選択したいんでしょう
165:デフォルトの名無しさん
09/05/03 01:41:49
common lispもschemeもhaskellも全部触ってみるのが一番良いと思うが。
*nixならperlだって使えるべきだし、さらに言えばsmalltalkだって教養として
知っておくべきだと思う。
逆に言えば、特定の言語に染まっちゃった人の意見なんか参考にしてどうすんの?
166:デフォルトの名無しさん
09/05/03 01:42:29
それで他人にきいてその通りに選択するってのも気持ち悪いよな。
167:デフォルトの名無しさん
09/05/03 01:45:45
Haskellスレにも似たようなこと書いてるのかな
168:デフォルトの名無しさん
09/05/03 01:51:44
>>162
Haskellを触ったことないけど、興味があるんならやってみればいいんじゃないの?
>>164さんが言うような偏りは、しょうがないとしか言いようがない
某日本人が新しい言語を使うときは、さっさと大きいものをつくるらしい
例え、失敗しても、根本的にまた勉強し直して、2度目で作れればいいし
かなりハードだろうけど、目的が直接的なこともあって、かなり得るものはあるらしいね
Haskellで実用的な何ができるのか、知らないけどね
個人的にはslime.elが便利らしいんで、Common Lispがいいと思うけどね
Common Lispで何か作ったことないけどね
>>165
Perlはわかるんですが、smalltalkは必要なんですか?
smalltalkは教養としてでもいいけど、smalltalkを知っておくことってそんなに大事なの?
smalltalkを知っていなくてすごく困ることになっても、そのとき対処するなあ
169:デフォルトの名無しさん
09/05/03 01:56:28
>>160
東工大?
170:デフォルトの名無しさん
09/05/03 02:18:06
>>169
つOpenBSD かつ ストールマンと飲んだ人
171:デフォルトの名無しさん
09/05/03 02:22:39
>>168
興味が無いなら勧めないけど、何でもおもしろいって感じられる年頃の時にsmalltalkの中身を見ておくのは悪いことじゃないよ
あとcupsっていうeclipseでcommon lispさわれる環境もあるのでemacs系エディタがダメならそっちも検討してみるといいかも。
172:デフォルトの名無しさん
09/05/03 02:30:43
>>168
>smalltalkを知っていなくてすごく困ることになっても
ならないからオケ。
秘境を旅するみたいなもんで、知的好奇心があれば
満足出来ると思うけど、実用的な何かを期待するなら
無駄骨になる。一つの小さな閉じた世界を訪れるのが
楽しいと思える人向け。
173:デフォルトの名無しさん
09/05/03 02:49:38
>>171
京都だけど勉強会ってあるんだね
次回は5月17日だって
>>172
自分の場合はLisp/Schememも秘境という感じですがw
お金儲けに直結しづらい言語っていいなあという感じでマイペースにやっています
174:デフォルトの名無しさん
09/05/03 13:20:36
>>162
「問題の解き方」を研究したいなら Lisp、「問題の問い方」を研究したいなら Haskell
175:デフォルトの名無しさん
09/05/03 13:28:38
>>172
Lispはまだ外界との交流が盛んだと言うか、Lispが特殊なのは記法だけだよね。
Lispが砂漠のオアシスみたいな場所だとすれば、Smalltalkは山奥の隠れ里。
人によってはエルドラドや桃源郷に思えるかもしれないけど、交流は殆ど
断たれてしまってる。
176:デフォルトの名無しさん
09/05/03 14:06:29
SmalltalkはSqueakで子供に布教してる人もいるじゃない。
177:デフォルトの名無しさん
09/05/03 19:03:11
lispって名前空間がややこしいですよね。俺だけ?
シンボルには変数と関数を入れることができて、
変数には関数を入れることもできるって。。
リストの先頭か #' で関数にアクセスできるけど、
変数に入れた関数には別の方法でアクセス・・慣れればしっくりくるのかな
178:デフォルトの名無しさん
09/05/03 19:37:50
リストの先頭でマクロにアクセスできるけど
マクロは変数に入れられない
リストの先頭にはファーストクラスオブジェクトを置けないと考えれば?
関数も、そのままでは変数に入れられないから #' を使うわけで
179:デフォルトの名無しさん
09/05/03 20:05:26
>>177
つ【Scheme】
180:デフォルトの名無しさん
09/05/03 21:30:15
>>178-179
Scheme と CommonLisp で名前空間の扱い違うのか。
すみません、勉強不足だ。
あー、イメージは掴めそうかも。
変数の世界と 関数の世界があって x軸とy軸のように
双方向の写像の役割を #' と apply (funcall) がそれぞれ行っている。
写像なしではそれぞれの世界を行き来することはできない・・みたいな。
181:デフォルトの名無しさん
09/05/03 21:36:50
>>180
おおざっぱなイメージだと、symbol に
"値スロット" しかないのが Lisp1
"値スロット" と "関数スロット" があるのが Lisp2
scheme とかは前者, CL つか Maclisp の血を引いてる奴は後者
182:デフォルトの名無しさん
09/05/03 21:51:11
値、関数スロットのほかに属性とかもあるらしいね
Schemerだから詳しく知らんけど
183:デフォルトの名無しさん
09/05/03 22:10:58
>>181-182
Thx。Scheme の方がシンプルでいいのかもなあ。
使ってる人も多そうな気が。
でも今 On Lisp 見てて面白そうだから CL もよさそうだw悩む。
184:デフォルトの名無しさん
09/05/03 23:06:54
両方やれw
どっちも楽しいぞ
185:デフォルトの名無しさん
09/05/03 23:50:35
CLでSchemeを実装する、という話はPAIPにもANSI Common Lispにも載っている。
しかし、SchemeでCLを実装する、という話は聞かない。
最初に複雑なCLをやっておけばSchemeのシンプルな長所も理解できるけど、
Schemeから入るとCLが単に複雑なだけに見えてしまうかもしれない。
よって最初はCLをお勧め。反論は認める。
186:デフォルトの名無しさん
09/05/04 00:29:39
>>185
関数型言語をかじってみたい程度の動機だとSchemeがいいんじゃない?
実用的にこれをしたいという用途が明確にあるならCLに直接にいくのもあるのかもね
187:デフォルトの名無しさん
09/05/04 00:29:41
Scheme以外のLispはレベルが低いのでスレからでていってください
188:デフォルトの名無しさん
09/05/04 02:54:32
なんだ?そんなんで喧嘩売ってるつもりか
189:デフォルトの名無しさん
09/05/04 02:56:35
はい、喧嘩売られてます、今
190:デフォルトの名無しさん
09/05/04 02:59:03
>>187
レベルが低い事例は?
191:デフォルトの名無しさん
09/05/04 03:09:25
J
魚 魚 魚<大きな釣り針だなあ
魚 <お口に入らないよ
192:デフォルトの名無しさん
09/05/04 03:18:55
レベルの低い>>187が出て行けば無問題
193:デフォルトの名無しさん
09/05/04 05:38:47
せっかくだし、バトルしようよ
宿題スレで問題を適当に10問持ってきて、10問の中から各自5問選んで、
Lisp/Scheme(別の関数型言語の参加もあり)で解く
提出タイム、コードのエレガントさなど評価の対象になるだろうが、イベント運営側で特別評価はしない
各自の判断で評価してもらいたい
5月4日13時開始予定(夜の希望者がいるなら時間を変更して、20時予定)
直接対決専用スレ
スレリンク(tech板)
と妄想してみたんだがどうだろうか?w
算数ドリル的な問題だと言語としての真価も図れないし、つまらないかな?
明日にズレ混んでもいいから、なんかやってもいいかもね
194:デフォルトの名無しさん
09/05/04 11:55:45
>>185
> SchemeでCLを実装
on lisp に無かったっけか?
195:デフォルトの名無しさん
09/05/04 14:18:32
>>194 CL で continuation なら見かけたような気がする
196:デフォルトの名無しさん
09/05/04 22:27:23
最近ようやっと自分のお師匠が言っていた
「Lispはごくごく普通の言語だよ、記述がちょっと毛色の違うだけの」
と言っていた意味がよくわかった
ひょっとして書かれかた(書き方じゃない)になれてしまえばC++より優しい?
197:デフォルトの名無しさん
09/05/04 22:31:36
ひょっとしなくても優しい、そして易しい
Forthに匹敵するくらい
198:デフォルトの名無しさん
09/05/04 22:36:24
forceと供にあれだぞ、オビワン
199:デフォルトの名無しさん
09/05/04 22:44:11
>>196
そうだね。
Lispを特別な言語と思い込み、それを使いこなしている(?)自分が
特別な人間だと思い込んでいるユーザがLispを特別な言語にしている。
200:デフォルトの名無しさん
09/05/04 23:00:55
elispやCLはすごく普通だよね。ほかの言語の経験があれば割と素直っていうか。
Schemeは再帰が壁という声を聞いた。昔の話だけど。
201:デフォルトの名無しさん
09/05/04 23:29:02
Lispは、「言語設計者様が作った構文を真面目に覚える」という能力を
プログラマーから奪う危険な言語。
202:デフォルトの名無しさん
09/05/05 00:09:01
ある程度Lisp触って他の言語を触ってみたら
足し算するときに1回はコンパイルエラー出す
203:デフォルトの名無しさん
09/05/05 00:13:39
>>200
単なる食わず嫌いなところがあるのかもしれないね
「ロシア語がおもしろいよ。ドストエスキーは原書で読まないと」と他人に言われても、そこまで興味を引かないもんね
>>201
よくわからない文章だね
a) Lispは、ある能力をプログラマーから奪う危険な言語である。
b) 「構文を真面目に覚える」という能力ってなんだ?
c) 能力を人から奪うという表現もすごいね
elipse(emacs)は、「言語設計者様が作った構文を真面目に覚える」という能力を
プログラマーから奪う危険な統合環境。
これなら成り立つね
204:デフォルトの名無しさん
09/05/05 00:42:03
>>203
文盲乙
205:デフォルトの名無しさん
09/05/05 02:14:50
>>203
Lispは構文を覚えなくていいから楽だなぁ
ってことだろ
206:デフォルトの名無しさん
09/05/05 02:53:55
誇張表現を受け入れられない人って結構居るみたいね…
207:デフォルトの名無しさん
09/05/05 03:02:25
ところでGuileのスレはどうするよ?
>>193の言うような対決スレとして再利用でもする?
208:デフォルトの名無しさん
09/05/05 04:40:47
>>193,207
Guileスレを使うなら
「guile=R5RSで解く(他のLisp/Scheme/その他関数型言語の参加もあり)」
くらいの名目にした方がよいかも。
あと問題がProject Eulerなら参加する。
和訳URLリンク(odz.sakura.ne.jp)
209:デフォルトの名無しさん
09/05/05 05:23:24
>>208
いいんじゃない?
それでは、パイロット版という感じで気楽にやりましょうか。
【イベント名】 13時だョ!全員集合
【開始時間・終了予定時間】 今日の13時~14時
【モットー】競うというより楽しく
【参加条件】一般的な社会常識がある人で関数型言語が使える人、または勉強している人。
【部門】今回は2部門。初心者部門と一般部門。初心者は3題出題。
一般部門は初心者部門の問題3題に加えて、7題を加えた計10題。
【イベントに使うスレ】 スレリンク(tech板)
【あとサイト】 和訳 URLリンク(odz.sakura.ne.jp)
【解答用紙】 URLリンク(codepad.org)
【備考】初心者の参加、大歓迎です。あとおもしろい企画があったら、どしどしレスしてください。
210:209
09/05/05 12:16:51
レスつかないしw
13時から初心者部門参加ということで問題3題解くわ
とりあえず、こっちに移動します
スレリンク(tech板)
211:デフォルトの名無しさん
09/05/05 12:40:25
文豪乙
212:デフォルトの名無しさん
09/05/06 00:57:47
そもそもそんな変な時間に集まるわけねーだろ
213:デフォルトの名無しさん
09/05/06 01:47:26
>>212
じゃあ、何時ならいいんだ?
集まらないと言っても3人集まったんだから成功だと思うんだけど
214:デフォルトの名無しさん
09/05/06 21:59:46
午前の部と午後の部を設けるとか
215:デフォルトの名無しさん
09/05/06 22:23:14
>>214
妥当な開始時間を聞いているのに
二部構成という企画提案になっているんだ
216:デフォルトの名無しさん
09/05/06 23:28:20
GaucheでSchemeを学んでいます。
quoteで悩んでいます。
(list 1 2 3 4)
'(1 2 3 4)
違いがわかりません。
217:デフォルトの名無しさん
09/05/06 23:52:02
(list 1 2 3 4)は1 2 3 4といったデータからリストを作っている
'(1 2 3 4)=(quote (1 2 3 4))はリスト(1 2 3 4)を評価せずそのまま渡している
(list 1 (+ 2 3 4))
'(1 (+ 2 3 4))
の違いを比べてみれ
218:デフォルトの名無しさん
09/05/07 00:00:22
>>217
横槍だけど、(car (car '(1 (+ 2 3 4))))だと、評価されないけど
評価するのってどうやるの?
219:デフォルトの名無しさん
09/05/07 00:01:17
>>217
ありがとうございます。だいぶわかってきました。
(list 1 (+ 2 3 4))
'(1 (+ 2 3 4))
だと上では(1 9)のリストが作られるんですね
対話で(1 2 3 4)と渡すとエラーが出るのは、このリストのcarが手続きでないから、という解釈でいいのですか?
作ったリストとリストリテラルの違いはありますか?
220:デフォルトの名無しさん
09/05/07 00:40:40
'(+ 1 2 3) ; => '(+ 1 2 3)
`,(+ 1 2 3) ; => 6
`',(+ 1 2 3) ; => '6
221:デフォルトの名無しさん
09/05/07 01:01:37
>>219
そう、(1 2 3 4)を評価しようにもリストの先頭要素1はただの数字だからな
リストとしてみれば同じだが実データとしてみれば違いがある
(equal? (list 1 2 3) '(1 2 3))
(eq? (list 1 2 3) '(1 2 3))
>>218
ん?
(car '(1 (+ 2 3 4))) => 1だから
(car (car '(1 (+ 2 3 4))))は(car 1)ということになる
いったい何を評価したいのかな?
222:デフォルトの名無しさん
09/05/07 01:47:26
>>221
(car (cdr '(1 (+ 2 3 4))))だね
(car '((+ 1 2 3 4) 1))で、もぞもぞいじっていたから気づかなかった
223:デフォルトの名無しさん
09/05/07 03:43:53
>>221
それ説明になってないじゃん。
(eq? '(1 2 3) '(1 2 3)) → #f
(equal? '(1 2 3) '(1 2 3)) → #t
(eq? (list 1 2 3) (list 1 2 3)) → #f
(equal? (list 1 2 3) (list 1 2 3)) → #t
(eq? '(1 2 3) (list 1 2 3)) → #f
(equal? '(1 2 3) (list 1 2 3)) → #t
なのに。
>>219
(list 1 2 3)と'(1 2 3)の違いは、
list関数が作ったか、read関数が作ったかだけ。
224:デフォルトの名無しさん
09/05/07 07:35:25
listの方はmutableで、quoteの方はimmutableだったりするんじゃない?
225:デフォルトの名無しさん
09/05/07 11:14:36
'(list 1 2 3) -> (list 1 2 3)
226:デフォルトの名無しさん
09/05/07 12:08:43
> list関数が作ったか、read関数が作ったかだけ。
なるほど、わかりやすいかも。
227:デフォルトの名無しさん
09/05/07 19:16:58
(let ((let '`(let ((let ',let)) ,let))) `(let ((let ',let)) ,let))
228:デフォルトの名無しさん
09/05/07 19:19:43
>>227でジャンプに連載されてた、テニスの王子様描いてる人がその前ぐらいに描いてたCOOLって漫画思い出した。
229:デフォルトの名無しさん
09/05/07 19:22:52
>>223
実装が仕様って話かな
自分は、そういう意味でしか言語を理解できないけど
230:デフォルトの名無しさん
09/05/08 13:49:40
>>224
immutableじゃない。set-car!/cdr!出来る。
>>229
仕様そのものだ。
231:デフォルトの名無しさん
09/05/08 21:18:32
>>230
できるかどうかは実装依存じゃないのかな?
R6RSは知らないけど
232:デフォルトの名無しさん
09/05/08 22:12:53
>>230
R6RS だと immutable だよ
R6RS 5.10
233:デフォルトの名無しさん
09/05/08 22:45:38
>> 220
R5RSでも4.1.2にエラーだと書いてある。処理系に報告の義務がなかっただけ。
234:デフォルトの名無しさん
09/05/09 03:09:19
クォートしたリストはつまりリテラルなので、変更できないのが常識。
235:デフォルトの名無しさん
09/05/09 08:24:42
これからSchemeを勉強予定なのですが、
WindowsXPで遊ぶのにPLTとCHICKENどちらがお勧めでしょうか?
もしくはその他お勧めがあればご意見をいただけますでしょうか
236:デフォルトの名無しさん
09/05/09 09:38:25
>>235
漏れなく開発環境もついてくることを考えると、PLT が一番無難じゃないかなあ。
chicken は windows だとビルドが面倒だったような気が。
遊ぶんだったら petit chez なんかでもいいかもしれんけど、
未だマルチバイトな文字に対応してないみたいだし。
237:デフォルトの名無しさん
09/05/09 10:37:31
プロジェクトオイラーって解き始めるとクセになるね。
Lisp以外では解く気が起きない問題も結構あるし
毛色の違う言語を2,3覚えた方が良いような気がしてきた。
238:デフォルトの名無しさん
09/05/09 11:00:53
>>237
> 毛色の違う言語を2,3覚えた方が良いような気がしてきた。
これってどういうこと?
Lispじゃだめなん?
239:デフォルトの名無しさん
09/05/09 11:15:43
project eulerと言えばhaskell
240:デフォルトの名無しさん
09/05/09 12:05:04
>>235
CHICKEN は最近 Ver4 になって utf-8 デフォになったためか外部ライブラリ群再構築中
PLT は Ver4 として落ち着いてきたが互換性に難あり (デフォでは else 部なし if はエラー)
私的には Ypsilon あたりが高速かつクリーンで良さげな気がす
R5RS ならこんなのも
URLリンク(www.geocities.jp)
241:デフォルトの名無しさん
09/05/09 12:23:37
しかしifがwhenを兼ねるというなら
mapがfor-eachを兼ねてもよさそうなものだが。
242:デフォルトの名無しさん
09/05/09 12:44:02
>>238
Lispがダメなんじゃなくて単に問題11はCの方が個人的に解きやすかっただけ。
プロジェクトオイラーの問題をいくつか解いたけど
解答はどこをみたらいいのかな?
解いたのはいいけど答えがあってるかどうかわからないので
悶悶としてきました。
243:デフォルトの名無しさん
09/05/09 12:51:49
Project Euler のサイトで回答を入れればあってるかどうかわかる。
このスレには貼らないでね。趣味で遊んでるんで、回答とか貼られると萎える。
244:デフォルトの名無しさん
09/05/09 12:52:49
>>242
ググると誰かの全問解答がみつかったかな
それか垢をつくると答えあわせができるんじゃないかな
垢つくつてログインまでしかしていないけど、なんかそんな感じだったよ
>問題11はCの方が個人的に解きやすかっただけ。
手続き型言語で解きたくなるけど、そこを我慢するのがLisper/schemmer
245:235
09/05/09 13:58:03
>>236
>>240
ありがとうございます!
ご意見いただいた内容を意識してそれぞれ実際に触ってみたいと思います。
246:デフォルトの名無しさん
09/05/09 18:49:08
Win版は使った事が無いのだけれど
入門用には完成度の高いScheme48もオススメ
R5RSに最も忠実な処理系だと思う
もちろん独自の拡張も充実してる
R6RS対応版であろう次期リリースが早くでないかとwktkして毎日のようにリポジトリを覗いてる
247:デフォルトの名無しさん
09/05/09 20:00:39
>>216
俺もよく理解してないんだが
関数の返り値に クォート付けたリストを渡すと
呼び出し元で書き換えられる可能性があるからまずいらしい。
list で作ったリストを返したほうがいいらしい。
詳しくは On Lisp に書いてある。
URLリンク(www.komaba.utmc.or.jp)
これの GOODNESS で検索した辺りに書いてある。
CommonLisp だが Schemeも変わらないよね?
248:デフォルトの名無しさん
09/05/09 21:28:31
> (quote (quote (1 2 3)))
'(1 2 3)
> (list (quote (quote (1 2 3))))
('(1 2 3))
> (' (quote (1 2 3)))
*** ERROR
249:デフォルトの名無しさん
09/05/09 22:07:13
チャイティンのLispだと'はQUOTEの別名扱い
(' (1 2 3)) ≡ (QUOTE (1 2 3))
250:デフォルトの名無しさん
09/05/09 22:19:35
(' (1 2 3))だとエラーになるね。Gauche。
251:デフォルトの名無しさん
09/05/09 22:27:01
>>235
日本語資料が一番充実してるのは Gauche だけど、Win ではちょっと不安定かも
あと、Common Lisp 寄りでときどき Scheme らしからぬとも評されたり
仕様に一番網羅的なのはおそらく Larceny で IEEE/ANSI から R6RS まで対応
事実上のリファレンス実装と言われることもあるらし
252:デフォルトの名無しさん
09/05/09 22:35:08
' は (quote) だから ((quote (quote (1 2 3)))) の意味になる
253:デフォルトの名無しさん
09/05/09 22:39:17
gosh> ((quote (quote (1 2 3))))
*** ERROR: invalid application: ('(1 2 3))
Stack Trace:
_______________________________________
gosh>
254:デフォルトの名無しさん
09/05/09 22:47:48
MzScheme 様と Ypsilon 様は car が手続きじゃねえとお怒りです
255:デフォルトの名無しさん
09/05/09 23:02:44
だーかーらー!チャイティンのLispだと言っているでしょうがぁ
CLならリードマクロテーブルをいじって通せるかもしれないけど
Schemeは規格の上では通らない
256:デフォルトの名無しさん
09/05/09 23:27:40
>>248から先は何の話をしているのだ?
257:デフォルトの名無しさん
09/05/09 23:36:51
S式に執着しなければ楽になれるのに。
syntax-rulesは良いね。consもquoteもmapcarもいらないから。
258:デフォルトの名無しさん
09/05/10 11:49:03
手続き名をかっこの外に出す方式は無引数の場合が大変そう
259:デフォルトの名無しさん
09/05/10 16:38:29
すべての関数は引数はひとつだけリストで渡します
260:デフォルトの名無しさん
09/05/10 17:05:59
lispからcへの可読な変換をしてくれるソフトないのでしょうか?
261:247
09/05/10 18:55:58
>>216
同じようなの過去スレで見つけたよ。
LISP Scheme Part5
URLリンク(pc3.2ch.net)
98 名前: 93=95 投稿日: 02/06/17 10:43
>>96
もちろん、
(equal? '(a b c d) (list 'a 'b 'c 'd)) ==> #t
です。そういう意味では同じ。ただ、(list 'a 'b 'c 'd)は評価される
たびに新しいリストが作られることが保証されているのに対し、
'(a b c d)はコンパイラがあらかじめどっかにリストを作っておいて
そのポインタを返すだけ、とするかもしれない(処理系依存)。
(define (foo) (list 'a 'b 'c 'd))
(equal? (foo) (foo)) ==> #t
(eq? (foo) (foo)) ==> 常に#f
(define (foo) '(a b c d))
(eq? (foo) (foo)) ==> #tかもしれない
262:デフォルトの名無しさん
09/05/11 10:26:17
ひょっとして漢字コードを半角文字とみたときに
"/"が入るような文字コードの文字は
処理できないのでしょうか?
2chのdatを読ませてるんだけど
AAがよくあるdatだと、読み込みでバグって止まる
263:デフォルトの名無しさん
09/05/11 18:04:16
マルチバイトまわりは処理系依存なのでその情報だけでは不足 (\ でなく / なら普通問題ないはず)
処理系と対象ファイルの文字コード、あとできれば止まる前後のエラーメッセージなどplz
264:デフォルトの名無しさん
09/05/12 20:31:11
URLリンク(www.lsharp.org)
l# だってさ
265:デフォルトの名無しさん
09/05/12 21:00:32
.NETってどうなん?
266:デフォルトの名無しさん
09/05/12 21:39:02
いいえ鉄です
267:デフォルトの名無しさん
09/05/12 23:17:01
>>265
死にました
268:デフォルトの名無しさん
09/05/12 23:49:10
>>264
.net系の net Scheme っての知らんの?
269:デフォルトの名無しさん
09/05/13 02:00:27
そんなのあるの?
270:デフォルトの名無しさん
09/05/13 12:34:20
>>264
asdf-installでProgram Filesフォルダーにいろいろいれてくれたりするのかな
と思ったらdefineでもdefunでもなくdefなんだ
271:デフォルトの名無しさん
09/05/14 11:00:47
>>268
URLリンク(ironscheme.codeplex.com)
これのことか?
272:デフォルトの名無しさん
09/05/18 00:22:56
(define (fact n)
(if (zero? n)
1
(* n (fact (- n 1)))))
という風に記述できない理由は何なのでしょうか?
再帰てきにはこちらの方が自然な気がするのですが...
(Common Lispから来たのでSchemeとの違いにまだ戸惑っています。)
273:デフォルトの名無しさん
09/05/18 00:24:01
何なの、と言われましても
274:デフォルトの名無しさん
09/05/18 00:27:07
>>272
普通に評価できるけど何が問題なの?
275:デフォルトの名無しさん
09/05/18 00:27:14
いや、どうして動かないのか気になりまして...
展開できるような気がするのですが....
あと、この関数を定義して使うとそのまま、フリーズしてしまうのが
こまってしまって...
276:デフォルトの名無しさん
09/05/18 00:28:14
>>275
処理系書いてよ.動かないほうが珍しいと思うけど
277:デフォルトの名無しさん
09/05/18 00:30:43
最後のかっこが多い
278:デフォルトの名無しさん
09/05/18 00:31:43
すまん別に多くないか
279:275
09/05/18 00:31:49
あれ.....端末から直接goshを使ったら動きました....
Emacsのrun-schemeから使ったら突然フリーズしたので
動かないのかと思いまして.....
あと、立ち読み版Gaucheプログラミングでこのようなコードが
(define (fact n)
(define (fact-iter n ans)
(if (zero? n)
ans
(fact-iter (- n 1) (* n ans)))) ; 最後に自分自身を呼び出している
(fact-iter n 1))
出ているのですが、上のコードとこれの違いはどこらへんなのでしょうか?
280:デフォルトの名無しさん
09/05/18 00:35:47
環境と処理系を書いてくれ。>>272でフリーズとか意味わからん。
281:デフォルトの名無しさん
09/05/18 00:42:14
>>279
末尾再帰。
282:デフォルトの名無しさん
09/05/18 00:43:26
もはや尋ね尽くされた質問だが,>>272が非末尾再帰呼び出しであるのに対し
>>279は末尾再帰呼び出しになっている.>>272が「非」末尾再帰なのは
再帰呼び出し(fact (- n 1))の結果にさらにnを掛ける処理を行っているから.
283:デフォルトの名無しさん
09/05/18 00:44:00
リロードできてなかたorz
>>279
p56, 57あたり読んでみて。 って立ち読み版か。
284:デフォルトの名無しさん
09/05/18 14:41:59
>>272は中間記法で書くと、
5*(4*(3*(2*(1*1))))って計算。
>>279は、
1*(2*(3*(4*(5*1))))
なので、整数で交換律と推移律が成立するから同じ関数になる。
推移律だけで成立するような定義域の場合、(例えば文字列連結)
(define (fact n)
(define (fact-iter n acu)
(if (zero? n)
(* acu 1)
(fact-iter (- n 1) (* acu n))))
(if (zero? n) 1
(fact-iter (- n 1) n)))
末尾再帰はこんな形。
;; 文字列版
(define (fact n)
(define (fact-iter n acu)
(if (zero? n)
(string-append acu "*1")
(fact-iter (- n 1) (string-append "(" acu ")*" (number->string n)))))
(fact-iter (- n 1) (number->string n)))
285:デフォルトの名無しさん
09/05/18 16:08:41
common lispからpythonの機能をいろいろ使えるようにpython-on-lispを拡張してみました
URLリンク(d.hatena.ne.jp)
使い方の例
$clisp
(asdf:operate 'asdf:load-op :pythononlisp)
(py::py "print \"Hello from python\"")
(py::pyj "pylab.plot" '(1 2 3 4) '(4 3 2 1))
(py::py "pylab.show()") ;グラフの表示
(print (py::pyj "len" (list 1 5 6 ) ) ) ;3
(print (py::pyj "range" 2 7)) ;(2 3 4 5 6)
(py::setvalj "a" (list 2 3 4)) ;lispのデータをpythonの変数aに代入
(py::py "print a") ;[2, 3, 4] ;ちゃんと代入されてるか確認
(print (py::getvalj "a")) ;(2 3 4) ;pythonの変数aをlispのデータとして返す
(py::pyj "numpy.reshape" (list 1 2 3 4 5 6 ) (list 2 3)) ; -> ((1 2 3) (4 5 6))
(py::pyj "numpy.dot" '((1 2) (3 4)) '((1 2) (3 4)) ) ; -> ((7 10) (15 22)) ;行列の積
286:デフォルトの名無しさん
09/05/18 16:57:11
py::pyってのがエロイ。
287:デフォルトの名無しさん
09/05/18 19:51:17
中学生かおまえは
288:デフォルトの名無しさん
09/05/18 20:47:32
(. (.
X
Y
289:デフォルトの名無しさん
09/05/18 21:07:45
{ {
x
Y
Cだと乳首が立つ。これが文化の違いってやつだな!
290:デフォルトの名無しさん
09/05/18 21:10:10
>>289
乳首は立ってるだろうがペチャパイに見える
291:デフォルトの名無しさん
09/05/18 21:18:08
貧乳乳首萌え…ないな
292:デフォルトの名無しさん
09/05/18 21:34:57
<<
x
Y
なぜか「C++」までエロく見えてくる
293:デフォルトの名無しさん
09/05/18 21:38:04
この期に及んでも括弧の話とは恐れ入った。
294:デフォルトの名無しさん
09/05/18 21:40:47
>>292
上手いなw
295:デフォルトの名無しさん
09/05/19 09:09:18
う、いかん、想像してしまった・・・
もう"Y Combinator"とか恥ずかしくて女の子に言えない orz
296:デフォルトの名無しさん
09/05/19 11:45:03
Swankとは何なのですか?
297:デフォルトの名無しさん
09/05/19 12:18:17
λ. λ.
X
Y
298:デフォルトの名無しさん
09/05/19 12:23:06
>>296
SLIMEに附属する、lispのrepl環境をサーバ(デーモン)するプログラムのこと
これを使うことで複数の処理系のrepl環境を同時に使ったり、
リモートで立ち上げた環境を使うことができる
職安| λ…
299:デフォルトの名無しさん
09/05/19 15:20:57
>>298
ありがとう。
λ・・・SLIMEも良くわかってない俺orz
Swank-Gaucheというプログラムを公開してる人のブログを見つけたのですが、
初心者では使う必要もないでしょうね?
300:デフォルトの名無しさん
09/05/19 21:39:47
すげー便利だから頑張って入れてみれ
301:デフォルトの名無しさん
09/05/20 19:04:30
WindowsでGauche-BoxなんだけどSwank
302:デフォルトの名無しさん
09/05/20 19:40:03
入れれば幸せになれるかな。
303:デフォルトの名無しさん
09/05/20 22:38:30
Emacs難しいなぁ・・・orz
invalid escape characterがパスのバックスラッシュだとわかるのに小一時間。
それからslime本体が必要だと理解するのに30分wwww
やっとslime-2009-05-20というのを入れたら、
> An error has occurred while loading `c:/Program Files/Gauchebox/Meadow/.emacs':
>
> Symbol's value as variable is void: slime-lisp-modes
そんなこと.emacsに書いてないんですけど…orz
今日はこの辺で勘弁してやる(TωT)
304:デフォルトの名無しさん
09/05/21 00:28:30
Meadow + Slime は微妙らしい
URLリンク(www.lingr.com)
最後の 1/4 あたりまたは "Meadow+SLIME" 検索で
305:デフォルトの名無しさん
09/05/21 00:51:07
ありがとうございます。ただ自分が頭悪いだけかと思ってました(*^ω^*)
306:デフォルトの名無しさん
09/05/21 01:52:09
プログラマにしては表情豊かだな。
Lispをやると笑顔になるってか?
307:デフォルトの名無しさん
09/05/21 02:02:20
\(^o^)/
308:デフォルトの名無しさん
09/05/21 02:08:48
中村正三郎 乙
309:デフォルトの名無しさん
09/05/22 09:13:05
人居ないと思ったらリンガーに行ったのか。
310:デフォルトの名無しさん
09/05/22 14:33:04
ひょっとしてmaximaスレも他に移動してるのか
311:デフォルトの名無しさん
09/05/22 16:07:40
ん? Lingrはとっくに終了したはずだが...
312:デフォルトの名無しさん
09/05/22 16:23:46
いつからみんな、そんなに長崎ちゃんぽんが好きになったんだ……。
313:デフォルトの名無しさん
09/05/22 17:02:41
IRCでいいじゃない
314:デフォルトの名無しさん
09/05/22 20:42:38
>>310
そういうスレッドは他では下しか知らない。
最強!!数学ソフトウェア(maple, mathcad etc)
スレリンク(math板)
315:デフォルトの名無しさん
09/05/22 23:09:48
何で Scheme って評価順が未定義なんですか?
左からで何の不満もないと思うのですが。
316:デフォルトの名無しさん
09/05/22 23:15:44
自由度があった方が最適化に都合がいいんじゃないかな。
たしかCも引数を評価する順序は決まってないんだよね。以前、仕事で
扱ったコードに評価順序を暗に決めてしまってたいたものがあって、
コンパイラのバージョンアップで評価順序が変わって動かなくなって
しまったことがある。つかそのデバッグをやらされた。
317:デフォルトの名無しさん
09/05/23 00:18:50
>>316
遅延評価を積極的に持ち込むための布石として順序を未定
にしたんだと思ってた
処理系作る側から見れば, 引数をスタックに積む順番考えると
右側から評価するのが楽っちゃ楽だわな
318:デフォルトの名無しさん
09/05/23 05:46:55
>>317
右からが楽になるのは、不定長引数で引数の数を知らなくてもcalleeが
スタックトップからのオフセットでn番目の引数にアクセスできるからじゃない?
引数の数が固定、もしくは引数の数も一緒に渡す場合は右からでも左からでも
変わらないでしょう。
Schemeの場合、左から評価して積んどいた方がrest引数をリストに畳む操作は楽。
319:デフォルトの名無しさん
09/05/23 06:51:55
ところでなんでSchemeって
(f . x) で (apply f x) と同じ意味にしなかったの?
320:デフォルトの名無しさん
09/05/23 06:56:43
わかりました
(f x y) は (f . (x y)) だからですね
ごめんなさい帰ります
321:デフォルトの名無しさん
09/05/23 07:17:50
(^o^)ノシ
322:デフォルトの名無しさん
09/05/23 18:00:32
練習でβ変換のプログラムを書いてるのですが質問
最左最内簡約の場合
((lambda (x) (lambda (y) y) x) (lambda (z) z))を1段階簡約すると
((lambda (y) y) (lambda (z) z))ではなく
((lambda (x) x) (lambda (z) z))ですよね?
323:デフォルトの名無しさん
09/05/23 18:24:13
> ((lambda (y) y) (lambda (z) z))ではなく
> ((lambda (x) x) (lambda (z) z))
この二つを区別する必要はあるの?
324:デフォルトの名無しさん
09/05/23 18:36:02
>>322
最左最内だと、まず(lambda (y) y) xここからだから正しい。
>>323
ウゼエ
325:デフォルトの名無しさん
09/05/23 18:54:07
つーか最初の式内の(lambda (y) y)は何の意味もないだろ
ほんとに意味わかってやってんのか
326:デフォルトの名無しさん
09/05/23 18:54:58
( ゚д゚)ポカーン
327:デフォルトの名無しさん
09/05/23 19:09:35
gosh> ((lambda (y) y) 1)
1
328:デフォルトの名無しさん
09/05/23 19:12:20
>>324
ありがとうございます。
用語が色々ありすぎて自身無かったので助かりました。
>>327 クマー
329:デフォルトの名無しさん
09/05/23 19:14:29
で、2段階目はどうすんの?
330:デフォルトの名無しさん
09/05/23 19:44:50
>>322
((lambda (x) (lambda (y) y) x) (lambda (z) z))
は
((lambda (x) ((lambda (y) y) x)) (lambda (z) z))
のコピペ誤り?
331:デフォルトの名無しさん
09/05/23 20:05:50
>>330 コピペミスですね、すみません
さらに質問
以下の名古屋大の資料にはcall-by-valueは最右最内戦略に相当すると書いてあり
URLリンク(www.math.nagoya-u.ac.jp)
以下の早稲田大の資料にはcall-by-avlueは作用的順序簡約戦略に近いと書いてある
URLリンク(www.fuka.info.waseda.ac.jp)
以下のサイトには作用順序簡約は最左最内簡約とも呼ばれると書いてある
URLリンク(www.geocities.jp)
となると、実際の所call-by-valueは最左最内戦略と最右最内戦略のどちらに相当するのでしょう?
直感的には最右最内に近いように思うのですが
また、類推からちょっと考えてみたのですが
最右最外簡約(あまり聞いたことがないが)と最左最外簡約というのは
同じ物ですよね。そういう用語があるかは別として
332:デフォルトの名無しさん
09/05/23 20:25:39
普通値呼びは最左最内簡約だと思う
自分の不勉強なだけかもしれないけど最右最内簡約って聞いた事無い
カリー化のこともあるし右の項から簡約ってできるのかな?
333:デフォルトの名無しさん
09/05/23 20:29:00
三行目は「できるのかなぁ?(できない気がする)」って意味ね
334:デフォルトの名無しさん
09/05/23 21:17:08
右の項からの簡約も出来ると思いますよ
木構造のpre/in/post orderよろしく、以下の式には
((lambda (l) (l ((lambda (l1) l1) (lambda (l2) l2)))) ((lambda (r) r) (lambda (r1) r1)))
;最左最内
((lambda (l) (l (lambda (l2) l2))) ((lambda (r) r) (lambda (r1) r1)))
;最左最外
(((lambda (r) r) (lambda (r1) r1)) ((lambda (l1) l1) (lambda (l2) l2)))
;最右最内
((lambda (l) (l ((lambda (l1) l1) (lambda (l2) l2)))) (lambda (r1) r1))
の3パターン