2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Lisp Scheme Part27

1 :デフォルトの名無しさん:2009/07/27(月) 10:15:31
※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※

■過去スレ
 Part26: ttp://pc12.2ch.net/test/read.cgi/tech/1240567959/
 Part25: ttp://pc12.2ch.net/test/read.cgi/tech/1231856193/
 Part24: ttp://pc11.2ch.net/test/read.cgi/tech/1224939205/
 Part23: ttp://pc11.2ch.net/test/read.cgi/tech/1215875388/
 Part22: ttp://pc11.2ch.net/test/read.cgi/tech/1211381920/
 Part21: ttp://pc11.2ch.net/test/read.cgi/tech/1207300697/
 Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
 Part19: 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://pc11.2ch.net/test/read.cgi/tech/1151025773/
 Part14: ttp://pc11.2ch.net/test/read.cgi/tech/1132275726/
 Part13: ttp://pc11.2ch.net/test/read.cgi/tech/1115901841/
 Part12: ttp://pc11.2ch.net/test/read.cgi/tech/1100229366/
 Part11: ttp://pc11.2ch.net/test/read.cgi/tech/1091456033/
 Part10: ttp://pc11.2ch.net/test/read.cgi/tech/1075630259/
 Part09: ttp://pc11.2ch.net/test/read.cgi/tech/1069594582/
 Part08: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
 Part07: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
 Part06: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
 Part05: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
 Part04: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
 Part03: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
 Part02: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
 Part01: ttp://piza2.2ch.net/tech/kako/987/987169286.html

■テンプレート置き場
 ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)

2 :デフォルトの名無しさん:2009/07/27(月) 10:17:59
■仕様関連
□The final public draft of the ANSI X3.226-1994 (英語)
 ttp://lispm.dyndns.org/news?ID=NEWS-2009-02-22-1
□CLtL2: 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.lispworks.com/documentation/HyperSpec/Front/index.htm
□Common Lisp Quick Reference (英語)
 ttp://clqr.berlios.de/
□R5RS: Revised(5) Report on the Algorithmic Language Scheme (英語)
 ttp://swiss.csail.mit.edu/~jaffer/r5rs_toc.html
□R5RS: Revised(5) Report on the Algorithmic Language Scheme (日本語)
 ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html
□ERR5RS: A proposal for an Extended R5RS Scheme (英語)
 ttp://scheme-punks.cyber-rush.org/wiki/index.php?title=ERR5RS:Charter
□R6RS: Revised(6) Report on the Algorithmic Language Scheme (英語)
 ttp://www.r6rs.org/final/html/r6rs/r6rs.html

■Lisp全般に関する情報源
□LISP - Wikipedia (日本語)
 ttp://ja.wikipedia.org/wiki/LISP
□Association of Lisp Users (英語): 米国のLispユーザ会です。
 ttp://www.alu.org/alu/home
□日本Lispユーザ会 (日本語): 各種処理系や関連書籍の一覧等。
 ttp://jp.franz.com/jlug/index.html
□LispUser.net (日本語): Lisp関連の有用な情報がまとめられています。Common Lispの話題が中心。
 ttp://lispuser.net/
□John McCarthy's Home Page (英語): Lispの生みの親、John McCarthyのサイト。
 ttp://www-formal.stanford.edu/jmc/
□どう転んでもLisp (日本語): 竹内郁雄氏による発表のスライドです。
 ttp://jp.franz.com/base/seminar/2005-11-18/SeminarNov2005-Takeuchi.files/v3_document.htm

3 :デフォルトの名無しさん:2009/07/27(月) 10:19:22
■Common Lispに関する情報源
□Common Lisp - Wikipedia (日本語)
 ttp://ja.wikipedia.org/wiki/Common_Lisp
□CLiki (英語): Common Lisp関連のリソースが集積されています。
 ttp://www.cliki.net/index
□Common-Lisp.net (英語): 多くのプロジェクトがホスティングされています。
 ttp://common-lisp.net/
□CMU Common Lisp Repository (英語): 新旧様々なプログラムが置いてあります。
 ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html
□The EncyCMUCLopedia (英語): CMUCL関連文書。CMUCLユーザーでなくとも有益なはず。
 ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
□The Common Lisp Cookbook (英語): いわゆるCookbookです。
 ttp://cl-cookbook.sourceforge.net/

■Schemeに関する情報源(1)
□Scheme - Wikipedia (日本語)
 ttp://ja.wikipedia.org/wiki/Scheme
□プログラミング言語Scheme (日本語): Schemeの人はまずここを見ましょう。
 ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/scheme.html
□Scheme-users.jp (日本語): Schemeユーザのためのハブサイトです。
 ttp://scheme-users.jp/
□Schemeへの道 (日本語): Schemeの入門サイト。
 ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
□独習Scheme三週間 (日本語): Schemeの教科書。
 ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html
□Practical Scheme (日本語): Scheme処理系「Gauche」の作者である川合史朗氏のサイト。
 Paul Grahamの「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されています。
 ttp://practical-scheme.net/index-j.html

4 :デフォルトの名無しさん:2009/07/27(月) 10:20:08
■Schemeに関する情報源(2)
□Bibliography of Scheme-related Research (英語): Scheme関連の論文リンク集。
 ttp://library.readscheme.org/
□Scheme Hash (英語): S式でXMLを使えるようにするSXML等。
 ttp://okmij.org/ftp/Scheme/index.html
□(Scheme) (Lisp) (日本語): 各種Scheme処理系をCygwin上でビルドする方法など。
 ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/
□SLIB (英語): Scheme用のライブラリとして有名なSLIBのサイトです。
 ttp://swiss.csail.mit.edu/~jaffer/SLIB
□Scheme Requests for Implementation (英語): いわゆる「SRFI」のサイトです。
 ttp://srfi.schemers.org/
□継続関連
 □なんでも継続 (日本語)
  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/

5 :デフォルトの名無しさん:2009/07/27(月) 10:20:51
■Common Lisp関連の書籍
□Common Lisp: A Gentle Introduction to Symbolic Computation (英語):
 Common Lispを使った非常に丁寧なプログラミング入門書。
 全文がpdf形式でダウンロードできます。
 ttp://www.cs.cmu.edu/~dst/LispBook/
□Common Lisp: An Interactive Approach (英語):
 人工知能の大家、Stuart ShapiroによるCommon Lispの教科書。
 全文がpdf形式でダウンロードできます。
 ttp://www.cse.buffalo.edu/~shapiro/Commonlisp/
□On Lisp (英語/日本語):
 LispハッカーPaul Grahamが、Lispの力の源泉であるマクロプログラミングを解説。
 ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06637-5
 ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/ (日本語訳HTML版)
 ttp://www.paulgraham.com/onlisp.html (英語原文がダウンロード可)
□Practical Common Lisp (英語/日本語):
 S式の羅列で現実的な問題をどう解くのか、そのギャップに悩まされてる人に。
 全文がオンラインで読めます。日本語版は『実践Common Lisp』として出版されています。
 ttp://www.gigamonkeys.com/book/
 ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06721-1
 ttp://pcl.lispuser.net/ (日本語版非公式サポートページ)

6 :デフォルトの名無しさん:2009/07/27(月) 10:21:36
■Scheme関連の書籍
□Structure and Interpretation of Computer Programs (英語/日本語):
 通称「SICP」として知られる計算機科学の教科書。全文がオンラインで読めます。
 日本語版は『計算機プログラムの構造と解釈』として出版されています。
 ttp://mitpress.mit.edu/sicp/
 ttp://sicp.ipl.t.u-tokyo.ac.jp/ (日本語版サポートサイト)
□Programming Languages: Application and Interpretation (英語):
 ブラウン大学で使われている、Schemeを使ったプログラミング言語論の教科書。
 SICPでは触れられていない継続についても、Webアプリと関連づけて詳述されています。
 ttp://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/
 全文がpdf形式でダウンロードできます。
□How to Design Programs (英語):
 Schemeを使った優れたプログラミング入門書。全文がオンラインで読めます。
 ttp://www.htdp.org/2003-09-26/Book/
□The Little Schemer/The Seasoned Schemer (英語):
 Schemeの教科書として定評のある「Schemerシリーズ」のサポートページです。
 ttp://www.ccs.neu.edu/home/matthias/BTLS/
 ttp://www.ccs.neu.edu/home/matthias/BTSS/
□The Scheme Programming Language (英語):
 Schemeの入門書。全文がオンラインで読めます。
 ttp://www.scheme.com/tspl3/
□入門Scheme (日本語):
 幻となったScheme入門書。全文がダウンロードできます。
 ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html
□プログラミングGauche (日本語):
 Scheme処理系言語「Gauche」の初の解説書!
 ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-87311-348-7
 ttp://karetta.jp/book/gauche-hacks (立ち読み版)
 ttp://karetta.jp/book-cover/programming-gauche (サポートページ)

7 :デフォルトの名無しさん:2009/07/27(月) 10:33:23
■Common Lispの実装
□Steel Bank Common Lisp: 代表的な処理系。CMUCLより派生。
 ttp://www.sbcl.org/
□CMUCL: カーネギーメロン大学で開発された処理系。
 ttp://www.cons.org/cmucl/
□GNU CLISP: バイトコード変換系。
 ttp://www.clisp.org/
□Clozure CL: OpenMCLから改名されました。
 ttp://trac.clozure.com/openmcl
□Embeddable Common Lisp: Cで書かれたプログラムへの埋め込みが可能な処理系。
 ttp://ecls.sourceforge.net/
□Armed Bear Common Lisp: JVM上で動く処理系。JVMバイトコード変換系。
 ttp://armedbear.org/abcl.html
□Allegro Common Lisp: 代表的な商用処理系。無料試用版も有り。
 ttp://www.franz.com/products/allegrocl/
□LispWorks: 商用処理系。無料試用版も有り。
 ttp://www.lispworks.com/
□Corman Common Lisp: Windows専用の商用処理系。無料試用版も有り。
 ttp://www.cormanlisp.com/
□Scieneer Common Lisp: CMUCLより派生した商用処理系。非商用利用なら無料。
 ttp://www.scieneer.com/scl/index.html

8 :デフォルトの名無しさん:2009/07/27(月) 10:34:20
■Schemeの実装(1)
□Gauche: マルチバイト文字に対応したR5RS準拠処理系。川合史朗氏作。
 ttp://practical-scheme.net/gauche/index-j.html
 ttp://jp.youtube.com/watch?v=WEBOdWyGE3E (川合氏によるGaucheに関するトーク)
□PLT Scheme: DrScheme、MzSchemeなどのR5RS準拠および独自拡張のScheme処理系。
 ttp://www.plt-scheme.org/
□Scheme48: R5RS準拠のバイトコードインタプリタ。
 ttp://www.s48.org/
□Gambit-C: R5RS準拠処理系。
 ttp://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page
□Chicken: R5RS準拠処理系。スタンドアロン実行ファイルが簡単に作成可能。
 ttp://www.call-with-current-continuation.org/
□Stalin: 激烈な最適化を施す処理系。人間の書くCコードより速いという噂。
 ttp://cobweb.ecn.purdue.edu/~qobi/software.html
 ftp://ftp.ecn.purdue.edu/qobi/fdlcc.pdf (Stalinの最適化技術を解説した論文)
□Bigloo: CLR用のコードを吐けるようになったらしい。
 ttp://www-sop.inria.fr/mimosa/fp/Bigloo/
□Guile: R5RS準拠のGNU公式拡張用言語。もちろんSLIBも使えます。
 ttp://www.gnu.org/software/guile/guile.html
□JScheme: Javaで書かれたR4RS準拠処理系。Javaインターフェイスをサポート。
 ttp://jscheme.sourceforge.net/jscheme/main.html

9 :デフォルトの名無しさん:2009/07/27(月) 10:35:05
■Schemeの実装(2)
□Chez Scheme: R6RS準拠の商用処理系。インタプリタはフリー。
 ttp://www.scheme.com/
□IronScheme: Microsoft DLR上で動作するR6RS準拠処理系。ERR5RSもサポート予定。
 ttp://www.codeplex.com/IronScheme
□Ypsilon Scheme System: 藤田善勝氏が開発中のR6RS準拠処理系。
 ttp://www.littlewingpinball.net/mediawiki-ja/index.php/Ypsilon_Scheme_System
□Mosh: higepon氏が開発中のR6RS準拠処理系。
 ttp://code.google.com/p/mosh-scheme/
□SECDR-Scheme: SECD machine modelに基づく実装。
 ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu
□LispMe: Palm上で動く処理系。これもSECD virtual machine。
 ttp://www.lispme.de/lispme/
□Minischeme: 1ファイルに凝縮された処理系。
 ttp://tinyscheme.sourceforge.net/minischeme.tar.gz
□TinyScheme: Minischemeを色々弄ったもの。
 ttp://tinyscheme.sourceforge.net/
□Schemix: Linuxのkernelへのパッチで/dev/として扱えるTinyScheme。
 ttp://www.abstractnonsense.com/schemix/
□Bit: Minischemeよりも小さい(?)バイトコード変換系。
 ttp://www.iro.umontreal.ca/~dube/
□KI-Scheme, AM-Scheme, etc...
 ttp://www.nifty.com/download/dos/prog/lisp/

10 :デフォルトの名無しさん:2009/07/27(月) 10:35:51
■その他のLisp実装
□awklisp: Awkで書かれたわずか500行のLispインタプリタ。
 ttp://www.accesscom.com/~darius/
□CAMPUS LIsP Lemon version: Cでわずか1000行。
 ttp://www-masu.ist.osaka-u.ac.jp/~kakugawa/hacks/clisp/
□Lisp interpreter in AS3: ActionScriptで書かれたLispインタプリタ。
 ttp://www.solve-et-coagula.com/?p=8
□newLISP: Lispライクな軽量スクリプト言語。
 ttp://www.newlisp.org/
□Arc: Paul Grahamが開発中の新しいLisp。
 ttp://arclanguage.org/
□Clojure: MLやHaskellの特長を取り入れた新しいLisp。JVMバイトコード変換系。
 ttp://clojure.org/
□Qi: MLやHaskellの特長を取り入れた新しいLisp。型の定義にシーケント計算表記を用います。
 ttp://www.lambdassociates.org/
□GOO: DylanとSchemeの影響を受け、OOPをサポートした新しいLisp。
 ttp://people.csail.mit.edu/jrb/goo/
□Liskell: Lispの顔をしたHaskell。
 ttp://liskell.org/

11 :デフォルトの名無しさん:2009/07/27(月) 10:36:56
■コミュニティ、イベント関連
□初心者が集うIRC
 布教してくれる先生も大募集です。
 irc.scenecritique.com:6667 #Lisp_Scheme
□Shibuya.lisp
 東京地区、特に渋谷周辺半径2万キロのLisp系プログラマによる非営利団体。
 第3回テクニカルトークは2009年7月4日開催予定です。
 ttp://shibuya.lisp-users.org/
□GaucheNight 第2回 (2008年3月8日)
 「SchemeとGaucheとλとS式を愛するすべての人に贈るマクロな一夜」
 出演:川合史朗、伊藤篤、山下伸夫、笹田耕一、ひげぽん、zick、
    黒田寿男、えんどうやすゆき、ほか
 ttp://practical-scheme.net/wiliki/wiliki.cgi?gauche.night
□GaucheNight 第1回 (2007年5月9日)
 出演:川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
    伊東勝利、久井亨、小黒直樹、ほか
 ttp://practical-scheme.net/wiliki/wiliki.cgi?GaucheNight%3a2007
□黒田寿男氏関連 (黒板の人)
 ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/901-909
 ttp://www.bookshelf.jp/2ch/tech/1151025773.html#901
 □Schemeのマクロに関する黒田氏の所感
  ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
 □それに対する川合史朗氏の応答
  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
 □それに対する黒田氏の再反論
  ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/gauche-night
 □それに対する川合氏の応答
  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%3a%e6%84%8f%e5%91%b3%e8%ab%96
 □その他、黒田氏によるLisp関連のエッセイがこちらで読めます。
  ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/

12 :デフォルトの名無しさん:2009/07/27(月) 11:01:15
■2ch関連
□Meadow memo: 2ちゃんねるログ: dat落ちした過去スレの一部が閲覧できます。
 ttp://www.bookshelf.jp/2ch/index.html
□2ch上にあるLisp関連のスレ
 【入門】Common Lisp その6【質問よろず】
 ttp://pc12.2ch.net/test/read.cgi/tech/1234884136/
 Emacs Lisp 3
 ttp://pc12.2ch.net/test/read.cgi/tech/1191875993/
 【GNU】スクリプト言語 Guile【scheme】
 ttp://pc12.2ch.net/test/read.cgi/tech/1239985829/
 【SICP】計算機プログラムの構造と解釈 Part2
 ttp://pc12.2ch.net/test/read.cgi/tech/1203096230/
 【普通のやつらの】 Arc Language 0 【上を行け】
 ttp://pc12.2ch.net/test/read.cgi/tech/1202098949/
 【魔法】リリカル☆Lisp【言語】
 ttp://pc12.2ch.net/test/read.cgi/tech/1183396621/
 【CGI】実用比較Lisp vs C/C++【GUI】
 ttp://pc12.2ch.net/test/read.cgi/tech/1150501484/
 【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
 ttp://pc12.2ch.net/test/read.cgi/tech/1140006937/
 Lisp@UNIX版
 ttp://pc12.2ch.net/test/read.cgi/unix/1019926525/
 Lisperこそ真のプログラマーよ!!
 ttp://pc11.2ch.net/test/read.cgi/prog/1175791979/
 LISPってさ〜
 ttp://science6.2ch.net/test/read.cgi/sim/1015169050/
 【数式処理システム】 Maxima 【Common Lisp】
 ttp://science6.2ch.net/test/read.cgi/math/1220340695/

■スレ上でSchemeのコードを晒す場合は、こちらをご利用ください。
 ttp://codepad.org/

13 :デフォルトの名無しさん:2009/07/27(月) 11:52:47
>>1マジで乙。

14 :デフォルトの名無しさん:2009/07/27(月) 11:56:11
フッ… l!
  |l| i|li ,      __ _  ニ_,,..,,,,_
 l|!・ω・ :l. __ ̄ ̄ ̄    / ・ω・≡
  !i   ;li    ̄ ̄ ̄    キ     三
  i!| |i      ̄ ̄  ̄  =`'ー-三‐ ―

              /  ;  / ;  ;
          ;  _,/.,,,//  / ヒュンッ
            /・ω・ /
            |  /  i/             
           //ー--/´
         : /
         /  /;
    ニ_,,..,,,,,_
    / ・ω・`ヽ  ニ≡            ; .: ダッ
    キ    三    三          人/!  ,  ;
   =`'ー-三‐     ―_____从ノ  レ,  、

15 :デフォルトの名無しさん:2009/07/27(月) 12:31:46
>1乙

16 :デフォルトの名無しさん:2009/07/27(月) 14:52:17
>>1乙。
すっかり忘れてたな

17 :デフォルトの名無しさん:2009/07/27(月) 18:32:54
a が nil なら b="b", c="c"
a がそれ以外なら b=a, c=a と処理したいのですが
どう書けば良いでしょうか?

自分やってダメだった物を書いておきます。

(let ((a nil))
(let ((if a (list '(b a) '(c c))
(list '(b "b") '(c "c"))))
(print b)
(print c)))

環境は Common Lisp (xyzzy) です。

18 :デフォルトの名無しさん:2009/07/27(月) 18:41:14
(defun f (a)
(cond (a (list (list 'b a) (list 'c a)))
(t (list (list 'b "b") (list 'c "c")))))
(f 1)
(f nil)

19 :デフォルトの名無しさん:2009/07/27(月) 19:05:17
(デフン フ(ァ)
 (コンド(ァ(リスト(リスト 'ブ ァ)(リスト 'ク ァ)))
 (テ(リスト(リスト 'ブ "バ゙")(リスト 'ク "カ")))))
(フ 1)
(フ ニル)

↑見てたら唐突に8bitマシンリスプというのを思いついた
馬鹿にしてるわけじゃないお

20 :デフォルトの名無しさん:2009/07/27(月) 19:15:26
>>18
ありがとうございます。

21 :デフォルトの名無しさん:2009/07/27(月) 19:20:41
>>19
ぜんぜんおもしろくないです。

22 :デフォルトの名無しさん:2009/07/27(月) 19:28:22
デフコン1! デフコン1!

23 :デフォルトの名無しさん:2009/07/27(月) 19:37:34
前スレにHarropくさいのが湧いてたな。
Harropよけをまいておこう。
λ... Haskell Haskel Haskell

24 :デフォルトの名無しさん:2009/07/27(月) 20:06:03
>>1
> ■過去スレ
>  Part09: ttp://pc11.2ch.net/test/read.cgi/tech/1069594582/

行方不明になっている模様


25 :デフォルトの名無しさん:2009/07/27(月) 20:14:08
技術系のスレを収集してるサイトなかったっけ

26 :デフォルトの名無しさん:2009/07/28(火) 16:56:43
なんか再帰を使うおもしろい問題ない?
こないだのカタラン数のは良かったよ。

27 :デフォルトの名無しさん:2009/07/28(火) 17:33:52
>>26
基本だけど、冪集合を列挙するというのはどうよ。

28 :デフォルトの名無しさん:2009/07/28(火) 17:54:36
>>27
難しそうだけど面白そう。
考えてみるよ。

29 :デフォルトの名無しさん:2009/07/28(火) 21:24:16
common lisp に list 内の2つの値を入れ替える関数は標準で用意されていますか?

30 :デフォルトの名無しさん:2009/07/28(火) 21:33:01
お前の世界のリストは常に2つの値から成るのか

31 :デフォルトの名無しさん:2009/07/28(火) 21:39:42
ここまで間抜けな返しは久々に見る。

32 :28:2009/07/28(火) 21:40:35
べき集合 書いてみたら長くなった。無駄がありそう。

http://codepad.org/IvzgMsyr


33 :デフォルトの名無しさん:2009/07/28(火) 21:43:23
>>29

自分もそれ考えてた。選択ソートとかバブルソートで必要だけど
リストだと効率悪いよね。

34 :デフォルトの名無しさん:2009/07/28(火) 22:25:08
(俺は評価する >>30



イマイチだな
>


35 :デフォルトの名無しさん:2009/07/28(火) 22:42:50
効率が求められる処理に
こんなアホな関数の出番はないけど
(defun swap (l x y)
(let ((tmp (nth x l)))
(setf (nth x l) (nth y l))
(setf (nth y l) tmp)))


36 :デフォルトの名無しさん:2009/07/28(火) 23:12:39
ベクターに変換すれば多少はいいのだろうか?
(define (swap m n ls)
(let* ((v (list->vector ls))
(vm (vector-ref v (- m 1)))
(vn (vector-ref v (- n 1))))
(vector-set! v (- n 1) vm)
(vector-set! v (- m 1) vn)
(vector->list v)))

Schemeでスマンです。

37 :デフォルトの名無しさん:2009/07/29(水) 00:53:37
関数じゃなくてマクロだけど rotatef かなあ。
http://www.lispworks.com/documentation/HyperSpec/Body/m_rotate.htm
まあ、リストのソートならおとなしくマージソートがいいとは思うけど。

38 :デフォルトの名無しさん:2009/07/29(水) 01:03:54
rotatef いいよね。最初知ったとき感動したわ。

39 :29:2009/07/29(水) 02:53:33
>>35>>36>>37
ありがとうございます
今回は rotatef を使うことにします。

40 :デフォルトの名無しさん:2009/07/29(水) 05:15:33
(cdr '(1 2 3))
(nthcdr 1 '(1 2 3))
この2つは等価だと思ってたんですが

(pop (cdr '(1 2 3)))
(pop (nthcdr 1 '(1 2 3)))
これの下側がエラーになってしまいます。

どう書けば回避できるか どなたか教えていただけませんか?

41 :デフォルトの名無しさん:2009/07/29(水) 06:16:22
>>40
泥縄な解決法としては、
(defun foo (ls n) (if (= n 0) (pop ls) (pop (cdr (nthcdr (- n 1) ls))) ))
くらいじゃないですか。

pop とかの代入とか更新とかする系のマクロは
参照先として場所を示す式を取れるわけですけれど、
nthcdr は標準では場所を表す名前として使えるようになっていないので
この場合はワンクッション置く必要があります。

突っ込むと説明がややこしいところですけど。仕様的にはだいたいこのへん。
http://www.lispworks.com/documentation/HyperSpec/Body/05_a.htm


42 :デフォルトの名無しさん:2009/07/29(水) 06:46:45
>>41
んんん、難しいですね。
提示されたリンク先何度か繰り返して読んでみます。
ありがとうございました。

43 :デフォルトの名無しさん:2009/07/29(水) 15:42:26
phpのwebサービスがちょっと負荷かかると鯖ごと落としてくれるんだけど
common lispやschmeの処理系は、その辺はどのぐらい頑健なの?

44 :デフォルトの名無しさん:2009/07/29(水) 16:05:37
emacs22に標準で入ってるscheme編集モードをみんな使ってるんだろうか

45 :デフォルトの名無しさん:2009/07/29(水) 16:45:19
>>41
すいません、良く試してみると返り値は正しいんですが
元のリストの変更は n=0 の時失敗してしまうようです…。
(let ((ls '(1 2 3)))
(foo ls 0)
ls)

46 :27:2009/07/29(水) 17:01:31
>>32
自分が書いたのはこんなの。
Lisp/Schemeはほとんど使ったことないんで書き方がおかしいかもしれないが。

(define (add-elt elt set)
(cond
((null? set) (list elt))
((member elt set) set)
(else (cons elt set))))

(define (map-add-elt elt set)
(cond
((null? set) '())
(else (map (lambda (m) (add-elt elt m)) set))))

(define (power-set set)
(cond
((null? set) '(()))
(else (let
((ps (power-set (cdr set))))
(append ps (map-add-elt (car set) ps))))))

47 :32:2009/07/29(水) 17:55:23
>>46
ああ〜〜〜〜〜、そうかぁ。

集合の要素を1つ抜いた部分集合を全部の要素について考えたのですが、
ああ、そうですね。全部考える必要などなかったです。


48 :デフォルトの名無しさん:2009/07/29(水) 18:38:55
冪集合は格要素を「とる」か「とらない」で再帰すれば良いと考えて
こう書いてみました
(define (power l)
(if (not (pair? l)) (list l)
(append
(power (cdr l)) ;先頭をとらない
(map (pa$ cons (car l)) (power (cdr l))) ;先頭をとる
)))

49 :デフォルトの名無しさん:2009/07/29(水) 18:42:50
こないだカタランの問題、続きがあるので
良かったら考えてみてください
元々は小町算を解くために考えた問題です
結局、カタランが出来たのにこれはまだ解けずにいます

問題
2引数を取る演算子のリストと、演算数のリスト(演算子より1個多い)を引数にとって
全ての生成可能な式のリストを生成するkomachiを定義せよ

(komachi '(+ - *) '(1 2 3 4))
を実行すると
(
(+ (- (* 1 2) 3) 4)
(+ (- 1 (* 2 3)) 4)
(+ (- 1 2) (* 3 4))
... ;こんな感じで全パターンが出るまで続く。上の並びは適当
)

この条件をつけるかはお任せ
 条件:「演算子、あるいは演算数のみに注目した場合、順序の入れ替えはないものとする」
 例えば '(+ -) '(1 2 3)において
  (+ 1 (- 2 3))を(+ 1 (- 3 2)) ;演算数の順序を入れ替えたのでNG
  (+ 1 (- 2 3))を(- 1 (+ 2 3)) ;演算子の順序を入れ替えたのでNG

こうすると、komachiが生成する式の総数は
(演算子は空気と思えばよいので)演算数のカタラン数に一致します。多分。

50 :32:2009/07/29(水) 18:53:31
>>48
なるほどよくわかりました。2^nを計算
するアルゴリズムと基本的には同じですね。
要素をとる、とらない、の2通りがあるから。
冪集合の名前の通りだ。

51 :27:2009/07/29(水) 19:25:07
>>48
pa$というのは何ですか?mzschemeだとエラーになってしまいます。

52 :デフォルトの名無しさん:2009/07/29(水) 19:35:51
>>51
(define (pa$ fn . args) (lambda more-args (apply fn (append args more-args))))

53 :デフォルトの名無しさん:2009/07/29(水) 20:28:19
>>51
部分適用といって、手続きの引数の一部を固定した新たな引数を返す手続き。
例えば、

((pa$ + 3) 2) ⇒ 5

みたいな。SRFI-26のcutと似たようなもの。cutなら、

((cut + 3 <>) 2) ⇒ 5

こんな感じ。

54 :デフォルトの名無しさん:2009/07/29(水) 20:33:40
新たな引数→新たな手続きの間違い。失礼。

55 :デフォルトの名無しさん:2009/07/29(水) 21:11:30
教えてもらってやっと納得のいくコードが書けたよ。
最初に書いたのは無駄だらけだった(笑)。

(define (power-set ls)
(if (null? ls)
'(())
(let ((subset (power-set (cdr ls))))
(append subset
(map (lambda (x) (cons (car ls) x)) subset)))))


56 :デフォルトの名無しさん:2009/07/29(水) 22:22:39
>>45
おっと失礼。マクロじゃなきゃダメですね。
(defmacro foo (ls n) `(if (= ,n 0) (pop ,ls) (pop (cdr (nthcdr (- ,n 1) ,ls))) ))

57 :デフォルトの名無しさん:2009/07/29(水) 23:07:40
>>51
mzscheme なら curry
ちなみに >>52 の pa$ は片方が空リストになる時にエラーになった

58 :デフォルトの名無しさん:2009/07/30(木) 00:37:16
>>52>>53>>57
curryingのことだったのか。名前の由来には何か歴史的な事情でもある?

59 :デフォルトの名無しさん:2009/07/30(木) 02:25:44
((pa$ + 3) 2) ⇒ 5
こんなのは無駄に問題を難しくしてるだけ
(+ 3 2)
これでいいじゃないか

(pa$ + 3) は何を返す?
手続きを作ったところでそれを保存したり表示したりできるわけでもないし
無駄なことをするな

60 :デフォルトの名無しさん:2009/07/30(木) 03:20:20
>>58
歴史的経緯は知らないけれど、部分適用をあらわすのに$を使うのはgaucheの命名規約。
http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a!%E3%81%A8%3f#H-yofpb1

個人的には、curry って名前なら(lambda (x y z) ...) を
(lambda (x) (lambda (y) (lambda (z) ...)))ってしてくれるんじゃないと違和感があるなあ。
可変長引数で困るけど。

>>59
そりゃ実用上はpa$をそんな使い方する人いないでしょ。


61 :デフォルトの名無しさん:2009/07/30(木) 07:46:09
>>59
作った手続きを束縛して再利用するに決まってんじゃん。
もしかして、複数の引数を持つ手続きを呼ぶ際には、
毎回必ず全ての引数の値が異なるようになる呪いを掛けられてる人ですか?

というか、クロージャがファーストクラスな言語でそういう事を言うのが信じられない。

62 :デフォルトの名無しさん:2009/07/30(木) 08:07:48
>>58
partial apply で $ をつけるのは Haskell の $ 演算子由来だそうな
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e5%88%9d%e5%bf%83%e8%80%85%e3%81%ae%e8%b3%aa%e5%95%8f%e7%ae%b1%3alog00#H-1bifybk

63 :デフォルトの名無しさん:2009/07/30(木) 09:17:14
カリー化を使うとうまく解ける問題があったら教えてください。

64 :デフォルトの名無しさん:2009/07/30(木) 09:37:19
構文糖衣みたいなもんなので特にない

65 :デフォルトの名無しさん:2009/07/30(木) 10:08:48
(pa$ + 3) とか (cut + 3 <>) とかではなくマクロにして
(bind (+ 100 $1)) とか (bind (+ 200 . $rest)) とか書けないかな。
直観的になって嬉しいと思うんだけど。


66 :デフォルトの名無しさん:2009/07/30(木) 12:44:20
>>65
前以って arity がわかってるんなら syntax-case で
http://codepad.org/29239gmR
みたいな感じとか。
(bind 1 (+ 100 $1))
みたいに使う。後者の例はどうするのがいいんだろ。


67 :デフォルトの名無しさん:2009/07/30(木) 12:57:17
arityを書かなきゃいけないのはダサいな。式の中の$nを調べて自動で出してほしいところ。

68 :デフォルトの名無しさん:2009/07/30(木) 13:00:09
一方ロシアは
(^(x) (+ 100 x))

69 :デフォルトの名無しさん:2009/07/30(木) 13:00:55
(define-macro (bind . body) `(lambda ($1) ,@body))
後者は構文として正しくない

70 :デフォルトの名無しさん:2009/07/30(木) 13:06:38
> (bind (+ 200 . $rest))

@restとすると展開
$restとすると単値(リスト)
がいいかも

((bind (+ 200 @rest)) 300 400) ; ==> 900
((bind (cons 200 $rest)) 300 400) ; ==> (200 300 400)



71 :デフォルトの名無しさん:2009/07/30(木) 14:04:09
>>67
LOL の 5.2 節を参考にしてみたんだけどダサいかな。
マクロ引数を flatten してごにょごにょすればそういうのもできるよ

72 :デフォルトの名無しさん:2009/07/30(木) 15:20:22
>>65
srfi-26 の議論の中で引数の番号つきの部分適用の話が出たことはあるそうだ。
http://srfi.schemers.org/srfi-26/mail-archive/msg00018.html

>>66-67
最も大きい番号を arity とみなす実装。
http://d.hatena.ne.jp/SaitoAtsushi/20080811/1218380989

確かにどこから rest 引数にすりゃいいのか決められないな。

73 :デフォルトの名無しさん:2009/07/30(木) 15:33:03
> 確かにどこから rest 引数にすりゃいいのか決められないな。

単純に最も大きい番号の数より多い引数が rest になるんじゃまずいのかな。
式の中で $1, $2, $3, $rest が使われていたら
(lambda ($1 $2 $3 . $rest) ...) になるみたいな。

74 :デフォルトの名無しさん:2009/07/30(木) 15:55:35
>>56
ありがとうございます。
こういう時にマクロを使うんですね。勉強になります。

75 :デフォルトの名無しさん:2009/07/30(木) 16:04:53
(define-macro (bind1 . body) `(lambda ($1 . $rest) ,@body))
(define-macro (bind2 . body) `(lambda ($2 . $rest) (lambda ($1) ,@body)))


76 :デフォルトの名無しさん:2009/07/30(木) 18:59:24
誰か弟子にしてください!!

77 :デフォルトの名無しさん:2009/07/30(木) 19:06:06
おう! いいぞ。 今日から俺のことを師匠と呼べ。

78 :デフォルトの名無しさん:2009/07/30(木) 20:12:50
再帰使って自分を弟子にしろ

79 :デフォルトの名無しさん:2009/07/30(木) 20:14:17
どこかに終了条件がないと無限ループになるぞ

80 :デフォルトの名無しさん:2009/07/30(木) 20:28:49
streamにして、毎回弟子を取り出せばおk

81 :デフォルトの名無しさん:2009/07/30(木) 20:32:38
((null 弟子) nil)

82 :デフォルトの名無しさん:2009/07/30(木) 22:19:40
_これって何?
どんな時に使うの?

83 :デフォルトの名無しさん:2009/07/30(木) 22:42:53
>>82
プレースホルダー。
使わない引数とかを表現するのに使う作法。
(define (const a) (lambda _ a)) とか。

84 :デフォルトの名無しさん:2009/07/30(木) 22:42:59
引数が必要ない時に使う

透明あぼーんと同じ

85 :デフォルトの名無しさん:2009/07/30(木) 22:53:15
仕様にあるんだっけ?
いつもdummy、みたいな変数名を付けてた

86 :デフォルトの名無しさん:2009/07/30(木) 22:55:17
仕様にはない。
あくまで作法。

87 :デフォルトの名無しさん:2009/07/30(木) 22:59:04
prologではそれで最適化とかなかったっけ
まあフロー解析すりゃいいけど

88 :デフォルトの名無しさん:2009/07/30(木) 23:00:47
ああ、CLやschemeは_も変数として定義出来るのを忘れてたよ

89 :デフォルトの名無しさん:2009/07/30(木) 23:04:28
82です.分かりました.
みなさんありがとうございます.


90 :デフォルトの名無しさん:2009/07/30(木) 23:14:28
Erlang だと _X みたいな変数は自動で CL で言うところの ignore 扱いになるね

91 :デフォルトの名無しさん:2009/07/30(木) 23:23:04
haskell でも言語仕様でプレースホルダーとしての意味を規定してたはず。

92 :デフォルトの名無しさん:2009/07/31(金) 17:54:45
>>82
R6RS のマクロパターンではワイルドカード
それ以外の場所ではただのシンボル

93 :デフォルトの名無しさん:2009/07/31(金) 20:57:59
自分はand-let*の中でよく使いますね < '_

94 :デフォルトの名無しさん:2009/08/01(土) 05:00:54
>>93
and-let*で _ 使いたくなる時ってある?
単に条件判断のみやりたい時は変数書かなくてもいいわけだし。


95 :デフォルトの名無しさん:2009/08/01(土) 10:21:04
SICP昔読んだ程度の初心者なのですが、最近翻訳された「Let Over Lambda」は
Lisperの皆様から見てどんな感想でしょうか。

どうもマクロというと難しいという印象強いので、翻訳以前から本は知ってましたけど
読むのは気が引けてました。

また、翻訳レベルはどうでしょうか?Amazonの立ち読み見た限りではかなり良い
翻訳に感じました。

96 :デフォルトの名無しさん:2009/08/01(土) 12:34:57
>>94
単に趣味の問題です:-)
変数だけ書いたり式だけ書いたりするのはバランスが悪く感じるので
'_を使っているんです
Cなんかで変数宣言&初期化する時に=を揃えるような感覚です
int hoge = 10;
int foo  = 30;

97 :デフォルトの名無しさん:2009/08/01(土) 12:36:09
揃わなかった:-(

98 :デフォルトの名無しさん:2009/08/01(土) 12:45:30
Cの代入で桁をきれいに揃えようとして0で埋めたら8進になっちゃった
という話を思い出した。

x = 123;
y = 054;

99 :デフォルトの名無しさん:2009/08/01(土) 22:40:23
すみません、どこで質問していいのか分からなかったので教えてください
LispマシンっていうのはPC98がBASICだったみたいに
LISPを基本的に動作するパソコンんの事でしょうか?

100 :デフォルトの名無しさん:2009/08/01(土) 22:44:52
まずはPC98が何だったか調べる作業から始めろ

101 :デフォルトの名無しさん:2009/08/01(土) 22:47:04
てにをはがおかしい

102 :デフォルトの名無しさん:2009/08/01(土) 22:49:03
いや、てにをはを直したとしても、繕い切れない何かがある

103 :デフォルトの名無しさん:2009/08/01(土) 22:53:07
>>99
終盤の一部のPC98を除いてROMに最初からBASICインタプリタが塔載されていたことを思うと、
確かにBASICを基本としていたのかもしれないとは思うが、
ハードウェアの構造がBASICに特に有利ということはない。
実際、他の言語の方が効率的に使えた。

一般にLispマシンってのはLispを主要な言語とするだけでなくて、
CPU のインストラクションのレベルから設計時に Lisp を前提とし、
Lisp のために最適化されているようなマシンだと思う。


104 :デフォルトの名無しさん:2009/08/01(土) 23:05:31
ELIS/TAOってどこかで動いているんかな?


105 :デフォルトの名無しさん:2009/08/01(土) 23:42:14
シュレディンガーの猫みたいな問いだな

106 :デフォルトの名無しさん:2009/08/02(日) 01:20:22
俺の横で寝てるよ

107 :デフォルトの名無しさん:2009/08/02(日) 07:12:03
猫が?竹内先生が?

108 :デフォルトの名無しさん:2009/08/02(日) 10:03:15
俺が

109 :デフォルトの名無しさん:2009/08/02(日) 10:05:11
せつこ! それシュレディンガーやない、ドッペルゲンガーや!

110 :デフォルトの名無しさん:2009/08/02(日) 11:48:22
リストのドッペルゲンガーの作り方って↓でいいのかい?

(define (copy ls)
(if (atom? ls)
ls
(cons (copy (car ls))
(copy (cdr ls)))))

(define (atom? x)
(not (pair? x)))


111 :デフォルトの名無しさん:2009/08/02(日) 12:03:10
ベクタを忘れてる

112 :デフォルトの名無しさん:2009/08/02(日) 13:05:54
(define (copy . ls) ls)
で良い。

113 :デフォルトの名無しさん:2009/08/02(日) 14:02:53
>>99
ウィキペディアに項目あり

114 :デフォルトの名無しさん:2009/08/02(日) 19:41:25
>>>111
あ、いや、リストですから。

>>112
なるほど、そうなんですね。

因みにコードは復刊する竹内先生の本にあったものを拝借。


115 :デフォルトの名無しさん:2009/08/02(日) 21:24:33
ディープコピーwするなら110しないとだめだよ

116 :デフォルトの名無しさん:2009/08/02(日) 23:17:07
copyされたものかどうかを見抜くことってできないですか?

お前はドッペルゲンガーだろ?って (double? ls) => #t #f

117 :デフォルトの名無しさん:2009/08/02(日) 23:31:39
eq?で十分だけど?

118 :デフォルトの名無しさん:2009/08/02(日) 23:31:57
見抜くことが出来たらコピーではないとおもう

119 :デフォルトの名無しさん:2009/08/03(月) 02:41:23
>>116-117
比較じゃなくて、「同じものが存在するか」を調べたいってこと?
Scheme 的には出来ない。
コピーしたときにオブジェクトに何らかのマークをつけるような
データ構造を作ってなんとかするというのが妥当かな。
あんまり知らんけど Ruby には汚染フラグってあったよな?
あんな感じで。
で、なんでそんなことをしたいのやぅぃ?


120 :デフォルトの名無しさん:2009/08/03(月) 02:45:39
set-car!set-cdr!を禁止すればeq?でいいんだけど?

121 :デフォルトの名無しさん:2009/08/03(月) 02:47:06
いやいやルートから比較するならやっぱりeq?で十分だけど?

122 :デフォルトの名無しさん:2009/08/03(月) 05:05:49
http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-14.html#node_idx_434
より。
(eq? (list ’a) (list ’a)) ⇒ #f
(let ((x ’(a))) (eq? x x)) ⇒ #t


123 :116:2009/08/03(月) 08:53:06
ああ、そっか。eq?でいいのですね。
eq?の動作を誤解してました。


124 :デフォルトの名無しさん:2009/08/03(月) 16:23:20
>>123
名前が長くなるほど、同値性の判断は柔らかくなるよん。
名前が短くなるほ(ry

125 :デフォルトの名無しさん:2009/08/03(月) 17:11:16
フィルター処理で同一か判断する(何もフィルタリングされなかった)
時に使える>eq?
非破壊という前提ならほとんどの処理に当てはまる

126 :デフォルトの名無しさん:2009/08/03(月) 17:47:44
組込み関数のequal?ってこんな感じ?
(define (my-equal? ls1 ls2)
(if (not (pair? ls1))
(eq? ls1 ls2)
(and (my-equal? (car ls1) (car ls2))
(my-equal? (cdr ls2) (cdr ls2)))))

ところでconsはeq?と並んで基本関数だと本にあったはず。
でも、SICPでconsも定義されていたような覚えがあるんだけど。
consも作れる?

127 :デフォルトの名無しさん:2009/08/03(月) 17:51:36
覚えがある、じゃなくて読み返せ

128 :デフォルトの名無しさん:2009/08/03(月) 18:16:04

(define ((cons a b)p)(p a b))
(define (car p)(p (lambda(a b)a)))
(define (car p)(p (lambda(a b)b)))

129 :デフォルトの名無しさん:2009/08/03(月) 18:24:12
>>128
それそれ。中西先生の本にあった基本5関数の話が崩壊してしまった
気分になるんですよ。

130 :デフォルトの名無しさん:2009/08/03(月) 18:24:52
それじゃ印字もできないし、「作れる」とは言わない


131 :デフォルトの名無しさん:2009/08/03(月) 18:56:05
印字する関数を作れば良いだけ

132 :デフォルトの名無しさん:2009/08/03(月) 18:59:25
じゃあ作れよ
ちなみに「印字する関数」だけじゃ済まなくなるぞ

133 :デフォルトの名無しさん:2009/08/03(月) 20:29:06
基本5関数っていっても「関数」は5つあればいいけど
QUOTE LAMBDA IF (COND)といった特別式は別に必要なんじゃないかな
5関数とリスト構造だけでチューリング完全なら教えてほしい
自分はかなり考えたけど無理だった
(もっともLAMBDAがあれば基本5関数もIFもいらなくなるけど。QUOTEはいるかな)

134 :デフォルトの名無しさん:2009/08/03(月) 20:39:37
そりゃラムダ計算がチューリング等価だからなぁ…

135 :デフォルトの名無しさん:2009/08/03(月) 20:52:44
>>133
マッカーシー先生のLispの最初の論文にはcondが使われているし
基本関数とは別物では?
[ → ; → ; → ]


136 :デフォルトの名無しさん:2009/08/03(月) 21:37:05
>>133
http://www-formal.stanford.edu/jmc/recursive/node3.html

137 :デフォルトの名無しさん:2009/08/03(月) 21:48:37
うん、論文では特別式にあたるものも使われているにもかかわらず
wikiを始め基本5関数"のみ"でチューリング完全と言及されているものも多いんだけど
λ計算を初めて知った時、それだけでチューリング完全になるなんて思いもつかなかった自分には
基本5関数"のみ"ではチューリング完全ではないとは断定できなくて…
チャーチ数とかYコンビネータとか思いつくような人ならアレだけでチューリング完全に仕立て上げられちゃうんじゃないかとも思ったもんで

138 :デフォルトの名無しさん:2009/08/03(月) 22:22:44
基本5関数のみだったら単に5つの関数でしかないわけで、
そこに合成・再帰の操作を許して得られる関数のクラスがチューリング完全、
という言い方になるんだろうね

139 :デフォルトの名無しさん:2009/08/03(月) 22:40:47
そうなんだろうけど、λ(lambda)かdefun(label)があればそれだけでチューリング完全なわけで
結局、基本5関数はチューリング完全なλ算法系の上で"Lisp"を構築するプリミティブにすぎないって話になっちゃうんじゃないかな
基本5関数とチューリング完全性は無関係ってことに

140 :デフォルトの名無しさん:2009/08/03(月) 22:46:35
だからそのLAMBDAやLABELを基本関数で記述している、というのが上の論文の肝でしょ

141 :デフォルトの名無しさん:2009/08/03(月) 22:58:08
ところで「チューリング完全である」っていう述語はどうやって記述すればいいの?

142 :デフォルトの名無しさん:2009/08/03(月) 23:02:44
ttp://ja.wikipedia.org/wiki/%E7%B4%94LISP
「リスト」が曲者かと

143 :デフォルトの名無しさん:2009/08/03(月) 23:06:44
うーん記述には特別式を使っているように思えるけどなぁ…

144 :デフォルトの名無しさん:2009/08/03(月) 23:13:02
http://lib.store.yahoo.net/lib/paulgraham/jmc.lisp

145 :デフォルトの名無しさん:2009/08/03(月) 23:18:37
condもdefunも使ってるじゃないですか

146 :デフォルトの名無しさん:2009/08/03(月) 23:27:35
R5RSで,シンボルと通常の値の束縛にはdefineを,シンボルと
マクロの束縛にはdefine-syntaxを,と使い分けるのはなぜ
なんでしょう? たとえば,どちらもdefineでできたとしたら
不都合が起きるような場合はありますか? Common Lispが
手続きとそれ以外の値とを別々のスコープで扱うように,
Schemeではマクロとそれ以外の値とを別々のスコープで扱う
ということ?何を意図しての仕様かがもうひとつわかりません

147 :デフォルトの名無しさん:2009/08/04(火) 00:11:21
あと5年待てば判るよ

148 :厨房:2009/08/04(火) 00:56:52
すいません人工知能で彼女作りたいんですけどやっぱ人工知能はLispがいいんでしょうか?
勉強がんばるっす!!

149 :デフォルトの名無しさん:2009/08/04(火) 01:04:25
人工少女で我慢しなさい

150 :デフォルトの名無しさん:2009/08/04(火) 01:05:36
>>146
実装を意図しての仕様ですが何か?

151 :デフォルトの名無しさん:2009/08/04(火) 01:09:20
>>149
厨房には早過ぎるだろ・・・

152 :デフォルトの名無しさん:2009/08/04(火) 14:07:22
>>146
マクロ展開は普通は評価の前に行なわれる。
要するにマクロ展開と関数の評価は異なるレイヤで行なわれる。

もしマクロを第一級に格上げしたとしたら、
set! されたときに展開しなおしとか必要になって、
付随する様々な挙動が破綻してわけわかんなくなる。
不都合とかいうレベルの話じゃねーよ。 論外だろ。

まぁ、そういう Lisp があってもいいかとは思うけど、
Scheme では無理だし、パフォーマンス的にはかなり不利になるはず。

153 :デフォルトの名無しさん:2009/08/04(火) 14:35:45
C++テンプレートのコンパイル時実行のようなもの

154 :デフォルトの名無しさん:2009/08/04(火) 14:45:44
set! されたときにインライン展開しなおしとか定数伝播しなおしとか必要になって
のようなもの

155 :デフォルトの名無しさん:2009/08/04(火) 16:18:42
人工彼女の話と聞いてすっ飛んで参りました、ハイ。

156 :デフォルトの名無しさん:2009/08/04(火) 16:38:14
emacs23リリースされたけどlisperには関係ないのかな

157 :デフォルトの名無しさん:2009/08/04(火) 16:42:10
javascriptでもマクロ以外はlispと同じようなことできるの?

158 :デフォルトの名無しさん:2009/08/04(火) 18:03:01
人工彼女よりも生身の彼女の方がエキサイティングで楽しいよ。(笑)

ところでウィノグラードの積木をする少女のプログラムは今のパソコンの
性能なら十分に動くと思うのだけど、誰か動かしてないかな?
マイクロプランナーってPrologみたいなもの?

159 :デフォルトの名無しさん:2009/08/04(火) 19:02:22
>>157
JavaScript とか Ruby を「広義のLisp」に含めようとする人すらいるが、
構文木を操作することを可能にしたマクロと、マクロの大前提であるS式こそが Lisp の本質だと思う。
「マクロ以外は」と言ってしまうとせいぜいがクロージャとリスト操作くらいだろ?
JavaScript でもそれらを扱えるのは確かだが、
最も重要なマクロを除いてしまった上で「同じようなこと」が出来たからって…

160 :デフォルトの名無しさん:2009/08/04(火) 20:08:16
昔lisp好きのruby信者だったけど、実際のものをschemeやらで書くようになって、
今までruby信者だったことを恥じたね。
バカみたいにシンタックス増やしてその議論に時間裂いて如何に信者を増やすかが、その人たちの言う言語なんだと...
carとcdr、"(" と ")" 、applyとeval、言語のシンタックスが提供するのなんてこの2極で十分だ。(極論だけど)
言語作者のエゴが作る多すぎるルールは戒律になって自由に対してのしかかってくるだけだよ。

(この戯言で怒った人はごめんね☆)

161 :デフォルトの名無しさん:2009/08/04(火) 20:13:51
さらに進んでSKIで十分と言えるようになれば一人前

162 :デフォルトの名無しさん:2009/08/04(火) 20:18:28
>>152
Guileはそういうとここだわってますよね
> (define (hoge) (begin (display 'function) (newline)))
> (define (foo) (hoge))
> (foo)
function
> (define-macro (hoge) '(begin (display 'macro) (newline)))
> (foo)
macro

親処理系のSCMで動かないこのコードがGuileで動くってことはわざわざ追加された仕様なんでしょうね

163 :デフォルトの名無しさん:2009/08/04(火) 20:26:59
それはただの処理系依存の話
gaucheの最適化レベルが低いってだけ

164 :デフォルトの名無しさん:2009/08/04(火) 20:31:06
Guileです

165 :160:2009/08/04(火) 20:37:43
>>161
SKIってSKIコンビネータなんちゃらってやつ?
とにかく読み漁ってみるわ。
まじで情報サンクス。
やっと計算云々のコアにたどり着けるような気がする...
今まで童貞で良かったわ。きっとセックスより気持ち良いに違いない。

166 :デフォルトの名無しさん:2009/08/04(火) 20:49:07
>>165
全然違うものですがPostScriptとSECD仮想機械も面白いものですよ。
PostScriptにはつい最近興味を持ち始めたのですが
Forthよりコッチ側(関数的プログラミングとか)に近くて
末尾呼び出しの最適化もされるし驚きでした。
(ループが再帰で書ける!)
SECD仮想機械はS式ベースの仮想機械で
これをベースにしたScheme処理系もあるみたいです。

167 :デフォルトの名無しさん:2009/08/04(火) 20:54:13
センスのあるやつはコードを書く
センスの無いバカは理論をやる
それが計算機の世界

168 :デフォルトの名無しさん:2009/08/04(火) 21:05:47
いまはなきLispMe

169 :デフォルトの名無しさん:2009/08/04(火) 21:12:14
>>167
○ センスの無いバカは理論「だけ」をやる

170 :デフォルトの名無しさん:2009/08/04(火) 21:31:27
理論をまったく知らないでコードを書くのは例外なく馬鹿

171 :デフォルトの名無しさん:2009/08/04(火) 22:27:40
>>166
かなり面白そう。
PostScriptは名前だけ知ってたんですが、初めて見ました。
というか、S式 -> ps とかすごく簡単に書けそうでプロッターとしていけますね。
SECD仮想機械は機械的(物理的?)な観点から見れそうなので、今までlisp系を観念的にしか見てなかった自分としては、今までとは対極の見方が出来そうです。
情報サンクスです。

172 :デフォルトの名無しさん:2009/08/04(火) 22:58:28
>>171
PostScript で Lisp 書いたり PostScript で書いた Lisp で Lisp を書いた人もいる。
http://blog.bugyo.tk/lyrical/2008/01/-o-lisppostscriptlisp.html

173 :デフォルトの名無しさん:2009/08/04(火) 23:04:20
素直にCをベースにしたscheme処理系を見ればいいのに
据え膳食わぬは男の恥

174 :デフォルトの名無しさん:2009/08/05(水) 02:09:50
すいません、下のスレの
http://pc12.2ch.net/test/read.cgi/tech/1233143342/

(((() #0="a" #0# #0#) (#1="b" (#1# (#1#) . #2="c") . #2#) . #2#))

この#0#とかの表記がよく判りません。
自己参照してるっぽいのは判るんですが、
どこかに読み方の説明ないですかね。
#0=と#0#は違うのかな?

175 :デフォルトの名無しさん:2009/08/05(水) 02:22:09
>>174
読み方の説明ならこれか
http://www.lispworks.com/documentation/HyperSpec/Body/02_dho.htm
http://www.lispworks.com/documentation/HyperSpec/Body/02_dhp.htm
これ
http://srfi.schemers.org/srfi-38/srfi-38.html

176 :デフォルトの名無しさん:2009/08/05(水) 02:53:47
>>174は文字列に対して適用してますが、↓と意味は違うんですかね?
(((() "a" "a" "a") ("b" ("b" ("b") . "c") . "c") . "c"))
それぞれの文字列がeq?にならないからってことかな?

177 :デフォルトの名無しさん:2009/08/05(水) 08:32:15
>>176
そのとおり。 共有構造を明記できる記法。
見づらいなら write で出力すればよい。

178 :デフォルトの名無しさん:2009/08/05(水) 20:02:29
LispでLisp処理系が書けるってのはCでCコンパイラが書けるってのとは
違う不思議さがある。ほら吹き男爵のブートストラップの話みたいな。

179 :デフォルトの名無しさん:2009/08/05(水) 20:17:33
Lispの便利機能(GCとかレキサとかデータ構造とか)の実装抜きで作れるからな

180 :デフォルトの名無しさん:2009/08/05(水) 20:22:00
マクロをうまく使って作ると面倒なことを一切せずに元のLispと同等の速度で動く

181 :デフォルトの名無しさん:2009/08/05(水) 20:25:56
>>178
http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/ref96/ref96.html

182 :デフォルトの名無しさん:2009/08/05(水) 22:15:32
>>181
>>178の言ってるのはGCとかの泥臭いところを除外してるって意味だと思われ

183 :デフォルトの名無しさん:2009/08/05(水) 22:16:44
しまった、2時間も遅れてかぶってる、撃つ出し脳


184 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 00:04:50
Mosh 0.2.0 をリリースしました。
http://mosh-scheme.googlecode.com/files/mosh-0.2.0.tar.gz
http://mosh-scheme.googlecode.com/files/mosh-0.2.0-setup-win32.exe

Mosh は R6RS に準拠した Scheme インタプリタです。
0.2.0 では並列ライブラリなどが追加されています。

リリースの詳細は http://d.hatena.ne.jp/higepon/20090807/1249655156 をご参照ください。

もし良かったら使ってみてください。

185 :デフォルトの名無しさん:2009/08/08(土) 00:13:03
おっおっ!

186 :デフォルトの名無しさん:2009/08/08(土) 00:27:14
>>184
おぉ!
ご苦労様です。

187 :デフォルトの名無しさん:2009/08/08(土) 00:41:24
キター

188 :デフォルトの名無しさん:2009/08/08(土) 00:44:34
〜準拠とか、きちんとやろうとする人はすごいなあ

189 :デフォルトの名無しさん:2009/08/08(土) 00:59:08
moshってシェルとして使えたりするん?

190 :デフォルトの名無しさん:2009/08/08(土) 01:03:36
>>184
Windows2000でインストーラ使って即実行したら
「mosh.exe - エントリ ポイントが見つかりません
プロシージャ エントリ ポイント freeaddrinfo がダイナミック リンク ライブラリ WS2_32.dll から見つかりませんでした。」
て怒られた

191 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 01:11:02
>>185
>>186
>>187
>>188
ありがとうございます!

>>189
まだ常用には向いていないです。
(mosh shell)というライブラリが付属しているのですが
機能が足りないです。

>>190
試していただいてありがとうございます。
申し訳ないです。Windows XP でしか動作確認できていません。
Windows 2000 では使えないWinSock で関数を使ってしまったみたいですね。
取り急ぎバグとして issue 登録しておきます。

192 :デフォルトの名無しさん:2009/08/08(土) 01:22:17
いちいち宣伝にくるな

193 :デフォルトの名無しさん:2009/08/08(土) 01:25:41
むしろ歓迎。
正三郎がアフィりに来るのを心待ちにしてる。

194 :デフォルトの名無しさん:2009/08/08(土) 01:29:56
いちいち宣伝にくるな

195 :デフォルトの名無しさん:2009/08/08(土) 01:35:33
むしろ歓迎。
Dan the schemer が弾言しにくるのを心待ちにしてる。(^o^)

196 :デフォルトの名無しさん:2009/08/08(土) 01:37:16
弾とか有り難がっている馬鹿か

197 :デフォルトの名無しさん:2009/08/08(土) 01:37:45
ひげぽんがlispスレにくるの見たの初めてかも
OS作ろうとか言ってた頃が懐かしいな


198 :デフォルトの名無しさん:2009/08/08(土) 01:39:53
使い物にならない俺俺Lispがバージョンアップするたびに
宣伝されたらたまったもんじゃない

199 :デフォルトの名無しさん:2009/08/08(土) 01:42:29
>>196
馬鹿でーす!厨房でーす!

200 :デフォルトの名無しさん:2009/08/08(土) 01:42:38
バージョン1.0になったら
また来たらいいよ

201 :デフォルトの名無しさん:2009/08/08(土) 01:43:27
だね

202 :デフォルトの名無しさん:2009/08/08(土) 01:53:01
規格準拠であるという点一つとっても俺Lispじゃないでしょ
ネット上で公開しているわけだし
ShiroさんのGaucheすらverUPカキコが許されないの?
独自処理系の書き込みばかりになったら(なりそうになったら)スレを分ければいいだけでは?

203 :デフォルトの名無しさん:2009/08/08(土) 01:55:16
R6なんですよね。大変そうですね。
moshの方向性は何なんでしょうか。
実用?勉強?哲学?それとも胸に付けるラムダのバッジ?

実用 : shiroさん、本当に感謝しています。
勉強 : みんな作ってるよ。俺scheme。
哲学 : arcがやってる。(そもそもこれが目的だったら鼻高々にR6準拠なんて言わないような。)
ラムダバッジ : 食い扶持。金くれIPA。胸に光るは永田町。私は自民党(R6)の議員です。

204 :デフォルトの名無しさん:2009/08/08(土) 01:57:54
充分に使いものになるレベルだと思う。
細かいバグはまだまだあるけど、基本はしっかりしている。
その細かい部分は多くの環境で使ってみないとなんとも言えないので、
このスレで議論するのは意味があると思う。
思うだけだけど。

ところで --loadpath オプションでは複数のパスをコロンで区切って渡せる?
Windows ではコロンはドライブレターの表記に使う。
コロンに特別な意味があると絶対パスを使えないことになる。
修正要。

205 :デフォルトの名無しさん:2009/08/08(土) 01:58:30
たった2レスでこの荒れようw
というより一人基地が混じってるだけだが

206 :デフォルトの名無しさん:2009/08/08(土) 02:03:31
この流れを「荒れ」と思ってしまうあなたも相当2chをわかってない

207 :デフォルトの名無しさん:2009/08/08(土) 02:06:07
このスレではムキになって人の行為を否定するような人はあまり居ないからね。

208 :デフォルトの名無しさん:2009/08/08(土) 02:11:28
Gaucheは使いものになるし、
本も出ているし、いちいち宣伝に来ない

209 :デフォルトの名無しさん:2009/08/08(土) 02:18:16
>>191
ヘッダファイルの中で
#if (_WIN32_WINNT >= 0x0501)
という記述で囲まれて宣言しているので、
マクロ定義次第で同様のことは避けられそう。

210 :デフォルトの名無しさん:2009/08/08(土) 02:19:05
>>208
何言ってるんだ。宣伝しに来たことあるよ。

211 :デフォルトの名無しさん:2009/08/08(土) 02:24:12
宣伝っていうかバージョンアップ通知だろ。
このスレ住人で今まで Mosh 知らんかったやつがいるのか?

212 :デフォルトの名無しさん:2009/08/08(土) 02:25:12
テンプレにも入ってるし。

213 :デフォルトの名無しさん:2009/08/08(土) 02:31:52
Gauche並に使えるようになったら
通知してくれ

214 :デフォルトの名無しさん:2009/08/08(土) 02:33:37
使えるかどうかはユーザー (つまりはおまいら) が判断することじゃないのけ?

215 :デフォルトの名無しさん:2009/08/08(土) 05:02:19
Mosh ver0.2 (Windows)
エラーメッセージがEmacsで拾えなかった。STDERRへの出力に問題があるのでは?
R6RSだとloadが無いけどどうするの?
竹内関数、かなり速かった。

mosh>(time (tak 12 6 0))

;;1.6406230926513672 real 1.625 user 0.0 sys
12
mosh>

gosh> (time (tak 12 6 0))
;(time (tak 12 6 0))
; real 1.390
; user 1.391
; sys 0.000
12
gosh>

216 :デフォルトの名無しさん:2009/08/08(土) 05:17:43
別に宣伝するのは構わないが、もう少しスレで質問に答えたりすれば
そんなに悪く言う奴もいなくなると思うが。ひげぽん、どうよ?

217 :デフォルトの名無しさん:2009/08/08(土) 05:21:55
ソース公開されているんだから
直してパッチ送れよ
つかえないなあ

218 :デフォルトの名無しさん:2009/08/08(土) 06:04:55
まだオープンソースに幻想抱いてるのか・・

http://d.hatena.ne.jp/higepon/20090807/1249655156
不具合報告
不具合報告(http://code.google.com/p/mosh-scheme/issues/list)までお願いします。
もし面倒であれば、ここのコメント欄に書いていただくのでもかまいません。


219 :デフォルトの名無しさん:2009/08/08(土) 06:41:59
また途中で投げ出す可能性が高いからな
今の段階で宣伝されてもうざいだけ

220 :デフォルトの名無しさん:2009/08/08(土) 07:45:26
>>215
0x00 が出力されてるな。
内部的には ucs4 を使ってるとかいう話があったので、
変換がうまくいってないのかも。

221 :デフォルトの名無しさん:2009/08/08(土) 07:58:57
(error "a") だけでも再現する。
(display "a" (standard-error-port)) でもやっぱりおかしい。
stderr への出力全般がダメっぽいな。

222 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 11:08:02
>>192
>>194

すみません。

>>198
>>200
R6RS にも準拠したし俺俺Lisp を脱したかなと思って宣伝してみたのですが
不愉快だったらすみません。

>>203
方向性は実用です。ライブラリを増やしたり速度を気にしたりするのも実用を目指してのことです。

>>204
ありがとうございます。そういっていただけると助かります。

> ところで --loadpath オプションでは複数のパスをコロンで区切って渡せる?
はい。使えます。
なるほど。Windows の場合は ; を区切り文字とするように修正します。

>>209
そうですね。
ここに対策が載っていたので修正します。
http://yanchde.gozaru.jp/winsock2/freeaddrinfo.html

>>213
Gauche 並はまだまだ遠いです。がんばります。


223 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 11:09:33
>>215
> エラーメッセージがEmacsで拾えなかった。STDERRへの出力に問題があるのでは?
Windows では標準出力、エラー出力で WriteConsole 関数を使っているのですがそれがまずいのかもしれません。
Emacs は Meadow とかでしょうか?(試してみたいので)

> R6RSだとloadが無いけどどうするの?
REPL から動的にコードをロードしたいという意味でしょうか?
ライブラリ形式で保存しておいて (import library-name) はどうでしょう。

> 竹内関数、かなり速かった。

まだ Gauche より若干遅いですね。がんばります。

> 216
> 別に宣伝するのは構わないが、もう少しスレで質問に答えたりすれば
> そんなに悪く言う奴もいなくなると思うが。ひげぽん、どうよ?

可能な限りがんばります。



224 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 11:12:49

>>217
いえバグの内容を指摘してもらえるだけで十分ですよ。

>>219
すみません。
どれくらいの段階になったらよいでしょう?
言語処理系は完成の定義が難しいですよね。

>>220
>>221
ありがとうございます。
内部コードは UCS4 でそれを UTF16 にして WriteConsole に渡しています。
cmd.exe でも出力されていないとかだったらかなりまずいですね。

225 :デフォルトの名無しさん:2009/08/08(土) 12:35:58
>>224
cmd.exe の上ではちゃんと表示される。

>>223
> Emacs は Meadow とかでしょうか?

俺は >>215 じゃないけど、少なくとも GNU Emacs 23.1.1 では再現することを確認した。
具体的には GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600) of 2009-07-30 on SOFT-MJASON

>>215
> R6RSだとloadが無いけどどうするの?

そんなこと言ったらそもそも repl だって R6RS には無いぞ。
Haskell みたいに repl では定義を禁止にしたら意味論の破綻はないかも。
そう考えると R6RS って動的な性質が制限されてて Lisp 系言語っぽくないよね。

とりあえず emacs から使う分にはファイル範囲を全選択して C-c C-r でいいんじゃね?

226 :デフォルトの名無しさん:2009/08/08(土) 12:40:45
>>224
http://msdn.microsoft.com/ja-jp/library/cc429845.aspx
WriteConsole 関数は、コンソールハンドル以外にリダイレクトされている標準ハンドルを渡すと失敗します。

emacs に限らずリダイレクトしたらダメってことだよな。
使えないなぁ…。

227 :デフォルトの名無しさん:2009/08/08(土) 12:42:27
パッチ作って送れよ。
使えないなぁ…。


228 :デフォルトの名無しさん:2009/08/08(土) 12:54:28
コンパイラが Scheme で書いてあったりするので、
Mosh のコンパイルには Mosh が必要だったり、
環境を構築するのが面倒なんだわ。
今までは Linux とかのまともに Mosh が動く環境で一部の処理をしてから
もちこんだりとか、かなり構造を理解してないとわけわかんなかったけど、
今回は Windows でもそれなりに動くバイナリ提供してくれたんで、
これでコンパイル環境ととのえてみる。

229 :デフォルトの名無しさん:2009/08/08(土) 13:25:06
configure で gauche の存在をチェックしてるなぁ。
まだ gosh 使ってんの?

230 :デフォルトの名無しさん:2009/08/08(土) 14:06:19
ブートストラップだろ

231 :デフォルトの名無しさん:2009/08/08(土) 14:07:06
ところで最近は IRC の #Lisp_Scheme チャンネルが過疎ってるようなんだけど、
ネタが無いのかね。

232 :デフォルトの名無しさん:2009/08/08(土) 14:07:51
>>230
いや、そこで Mosh 自身を使うもんじゃね?
という意味で。

233 :デフォルトの名無しさん:2009/08/08(土) 14:28:36
とりあえず動作報告。
おそまきながら mosh(0.2.0) インストール(Mac OS X 10.4.11)。
make test も多分問題ないと思う(8917 tests passed と出た)。

234 :デフォルトの名無しさん:2009/08/08(土) 14:37:22
Windows だと
Running 1898/1943
まで表示してエラー。
エラーっていうか
Windows が
「問題が発生したため、mosh.exe を終了します。ご不便をおかけして申し訳ありません。」
のダイアログを表示するエラー。
test/ffi.scm の途中でも同様のエラー。
その他はOK。

235 :デフォルトの名無しさん:2009/08/08(土) 14:44:06
>>232 ブートストラップ的に不可能なんじゃないの?

236 :デフォルトの名無しさん:2009/08/08(土) 14:46:56
>>235
gauche は gauche 使ってるよ。
svn trunk も常に「最も最近のリリース版」を使ってビルドできるようになってる。

237 :デフォルトの名無しさん:2009/08/08(土) 14:47:40
(たまにミスってるときもあるけど)

238 :デフォルトの名無しさん:2009/08/08(土) 14:54:01
>>65,72
遅レスだが、 gauche の define-macro で書いてみた。

(use srfi-1)
(define-macro (curry p . a)
(define (e a)
(define s '(<1> <2> <3> <4> <5> <6> <7> <8> <9>))
(take s (+ 1 (apply max -1
(filter-map
(lambda(p)(list-index (cut eq? p <>) s)) a)))))
(receive (h t) (break (pa$ eq? '<...>) a)
(if (null? t)
`(lambda ,(e a) (,p ,@a))
(let ((r (gensym)))
`(lambda (,@(e a) . ,r)(apply ,p ,@h ,r))))))

最後以外に <...> があった場合のことは考えてない。

239 :デフォルトの名無しさん:2009/08/08(土) 14:55:08
R6RS でも書いてみた。

(import (rnrs)
(only (srfi :1) take list-index filter-map)
(only (srfi :26) cut))

(define-syntax curry
(lambda(x)
(define (e a)
(define s '(<1> <2> <3> <4> <5> <6> <7> <8> <9>))
(take s (+ 1 (apply max -1
(filter-map
(lambda(p)(list-index (cut eq? p <>) s))
(syntax->datum a))))))
(syntax-case x ()
((k t a ...)
(with-syntax
(((p ...) (datum->syntax #'k (e #'(a ...)))))
#`(lambda (p ... . r)
#,(syntax-case #'(a ...) (<...>)
((a ... <...>) #'(apply t a ... r))
(_ #'(t a ...)))))))))

240 :デフォルトの名無しさん:2009/08/08(土) 14:58:24
細かいけど手持ちのscheme処理系のプロンプト。
guile> 1
gosh> 1
mosh>1
なんかポリシーがあるのかな。moshだけ空白が無い。

241 :デフォルトの名無しさん:2009/08/08(土) 15:01:59
>>240
Ypsilon と Petite Chez Scheme も空白アリだったぜ!

242 :デフォルトの名無しさん:2009/08/08(土) 15:18:07
VistaにMosh 0.2.0をインストールして、バージョンを調べたら以下のようになりました。
C:\Users\username>mosh -v
Mosh R6RS scheme interpreter, version 0.0.8

こういうものなんですか?

243 :デフォルトの名無しさん:2009/08/08(土) 15:28:29
>>236
gaucheはschemeの実行に必要な部分をschemeで作ってないからできるんじゃないか?

244 :デフォルトの名無しさん:2009/08/08(土) 15:49:24
最初にIEが入ってないとFirefoxをダウンロードできないようなものですね。わかります

245 :デフォルトの名無しさん:2009/08/08(土) 15:55:48
>>243
関係ない。
Gauche のコンパイラ部分は全面的に Scheme で記述されているし、
VM も Scheme で記述されるようになってる部分がある。
VM についてはインストラクションの合成を簡単に記述したいといった
性能向上を目的とした改善が最近のバージョンで有り、
切り替えの際には多少の混乱があったが、
今は VM が変わっても大丈夫なシカケが入っている。
もちろん、ずっと前の初期の Gauche だと話は別だが、
現在は Gauche 自身でブートストラップが完結するようになっている。

246 :245:2009/08/08(土) 16:02:27
この問題についての解説というか作者のメモはここ。
http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aVM%E5%91%BD%E4%BB%A4%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%A8%E3%83%93%E3%83%AB%E3%83%89

247 :デフォルトの名無しさん:2009/08/08(土) 16:09:27
>>239
Mosh でも動いた。

248 :デフォルトの名無しさん:2009/08/08(土) 16:30:59
>>246
> このプリコンパイルには既にインストールされている、その時点での最新リリースのGaucheを使うことになっている。

ブートストラップの疑問は解決しないように見えるんだが。
俺の理解不足?

249 :デフォルトの名無しさん:2009/08/08(土) 16:40:48
リリース版は前処理を済ませてから配布される。

250 :215:2009/08/08(土) 17:05:24
>>223

Meadowです。

importを使ってみます。使い方がまだよくわからないもので。

Replでの実行中にCtrl+Cでの中断に反応してこないです。
WindowsのAPIではGenerateConsoleCtrlEventが使われているはずです。
http://msdn.microsoft.com/ja-jp/library/cc429265.aspx

CTRL_C_EVENT には反応しないのですが、
CTRL_BREAK_EVENT(Ctrl+D)には反応して処理系が強制終了します。

REPLでのプログラムファイルの読み込み、実行、中断がやり易くなるとうれしいです。


251 :デフォルトの名無しさん:2009/08/08(土) 18:09:56
R6RS なマクロのデバッグって何を使うのがいいんだろ
ypsilon には macro-expand があるけど全部展開しちゃうし(macroexpand-1 みたいなのはないみたい
mosh や ikarus にはそういう機能がないっぽい
DrScheme の Macro Stepper が今のところ最有力なのかな

252 :デフォルトの名無しさん:2009/08/08(土) 19:18:04
LOL売り切れトル

253 :デフォルトの名無しさん:2009/08/08(土) 19:47:56
宣伝はやめてください
おねがいします。

254 :デフォルトの名無しさん:2009/08/08(土) 19:52:49
売り切れているのを宣伝するか?

255 :デフォルトの名無しさん:2009/08/08(土) 19:55:27
SICP訳してみてるんだけど、需要ある?

http://www21.atwiki.jp/sicpaho

256 :デフォルトの名無しさん:2009/08/08(土) 19:57:21
宣伝はやめてください
おねがいします。

257 :デフォルトの名無しさん:2009/08/08(土) 19:58:41
>>255
糞訳じゃなければ

258 :デフォルトの名無しさん:2009/08/08(土) 20:02:22
>>255
供給が需要を生みます

259 :デフォルトの名無しさん:2009/08/08(土) 20:26:53
>>255
もっとエキサイティングにたのむ

260 :デフォルトの名無しさん:2009/08/08(土) 20:29:42
「Scheme and the Art of Programming」
(George Springer and Daniel P. Friedman)

↑こんな易しめな入門書の邦訳があったらいいかも。



261 :デフォルトの名無しさん:2009/08/08(土) 21:04:03
どなたか、Peter Seibel『実践Common Lisp』をテキストにして、
Windows上でLispを勉強するサイトを作ってください。
お願いします。


262 :デフォルトの名無しさん:2009/08/08(土) 22:10:34
>>261
いいだしっぺの法則というのがあってだな…

263 :デフォルトの名無しさん:2009/08/08(土) 22:16:58
勉強する気が本当にあるなら、テキストになるその本買ってきて自分でやれw

264 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 22:17:02
>>225
> cmd.exe の上ではちゃんと表示される。

確認ありがとうございます。

> 俺は >>215 じゃないけど、少なくとも GNU Emacs 23.1.1 では再現することを確認した。
> 具体的には GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600) of 2009-07-30 on SOFT-MJASON

ありがとうございます。詳細情報助かります。

>>226
> http://msdn.microsoft.com/ja-jp/library/cc429845.aspx
> WriteConsole 関数は、コンソールハンドル以外にリダイレクトされている標準ハンドルを渡すと失敗します。

emacs はリダイレクトしているんでしょうか。まだ関連を追い切れていません。

>>228
> これでコンパイル環境ととのえてみる。
お手数おかけします。
Visual C++ 2008 Express Edition で一発コンパイルできますので、もし良かったら
ご利用ください。

>>229
> configure で gauche の存在をチェックしてるなぁ。
> まだ gosh 使ってんの?

う。しまった。存在チェックは不要です。消しておきます。
Mosh 開発者以外は gosh は必要ありません。


265 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 22:19:23
>>231
> ところで最近は IRC の #Lisp_Scheme チャンネルが過疎ってるようなんだけど、
> ネタが無いのかね。

ネタを提供できてなくてすいません。どうしたらよいですかね。
気軽に発言してもらいたいのですが難しいですね。

>>232
> いや、そこで Mosh 自身を使うもんじゃね?
> という意味で。

すみません。さぼっています。多分 Mosh でもブートストラップできるんですが
vm.scm を Mosh に移植するのが面倒で。

>>233
> とりあえず動作報告。
> おそまきながら mosh(0.2.0) インストール(Mac OS X 10.4.11)。
> make test も多分問題ないと思う(8917 tests passed と出た)。

ありがとうございます。動作報告は実はとてもうれしいのです。

>>234
> Windows だと
> Running 1898/1943
> まで表示してエラー。

FFI のテストが Windows にきちんと対応していないのが原因ですね。
修正します。(FFI以外の動作には支障がないと思います)


266 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 22:20:12
>>240
>>241
> 細かいけど手持ちのscheme処理系のプロンプト。
> guile> 1
> gosh> 1
> mosh>1
> なんかポリシーがあるのかな。moshだけ空白が無い。

大変良い指摘。ポリシーないのであわせます。

>>242
> Mosh R6RS scheme interpreter, version 0.0.8
> こういうものなんですか?

ありがとうございます。ミスです。修正します。

>>247
> Mosh でも動いた。

やった!

>>250
> Meadowです。

ありがとうございます。

267 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 22:21:42
> Replでの実行中にCtrl+Cでの中断に反応してこないです。
> WindowsのAPIではGenerateConsoleCtrlEventが使われているはずです。
> http://msdn.microsoft.com/ja-jp/library/cc429265.aspx
> CTRL_C_EVENT には反応しないのですが、
> CTRL_BREAK_EVENT(Ctrl+D)には反応して処理系が強制終了します。

情報ありがとうございます。
Ctrl-D は eof なので対応できているのだと思います。
Ctrl-C も可能な限り対応したいと思います。

> REPLでのプログラムファイルの読み込み、実行、中断がやり易くなるとうれしいです。

具体的にイメージされているものはありますでしょうか?
もしくは他の処理系のこの機能をよく利用しているとか。

>>251
> R6RS なマクロのデバッグって何を使うのがいいんだろ

泥臭い方法ですが例えば以下の let1 の展開をデバッグしている場合であれば
(define-syntax let1
(lambda (x)
(syntax-case x ()
[(_ var val body body* ...)
#'(let ([var val]) body body* ...)])))

#' の部分を #'' とすれば展開後の S式が返るので

(display (let1 x 3 x x)) に対して
(let ((x 3)) x x) が表示されるようになります。
というのはどうでしょうか。

268 :ひげぽん ◆Ngzcp/NZpA :2009/08/08(土) 22:23:20
>>255
> SICP訳してみてるんだけど、需要ある?

おお。がんばっていますね。
新訳は結構需要があるのではないかと思います。

269 :234:2009/08/08(土) 22:32:18
Mingw でコンパイルしても同じ結果に。
Mingw は想定内なんだろうか?

270 :デフォルトの名無しさん:2009/08/08(土) 22:37:18
>>255
需要あります。取っ付きやすくなれば、下手に出回ってる難しいという印象なくなるし。

271 :デフォルトの名無しさん:2009/08/09(日) 00:02:10
>>255
需要あります。ちょっと読んだ限りだと和田訳よりは良いみたいだし。

272 :デフォルトの名無しさん:2009/08/09(日) 00:19:45
旧訳の「プログラムの構造と実行」でいいじゃん

273 :デフォルトの名無しさん:2009/08/09(日) 03:03:41
moshのmingw/cygwin担当のおくむらです

>>234 , >>269
これは完全に僕のミスで、FFI.cppのコミット忘れです。。
const char* FFI::lastError()
{
#ifdef _WIN32
return "win32 error";
#else
みたいに何か文字列を返せば落ちなくなります。
テストも通したいときは
gcc -o libffitest.so.1.0 -shared ffitest.c
あたりで一つ。

svnのtrunkはMinGWは4.4.0とCygwin1.7でチェックしてます。
個人的にはCygwinがお勧め。Windows固有のtrickが少ないので。

274 :デフォルトの名無しさん:2009/08/09(日) 03:35:52
なら積極的に Mingw をチェックしよう。

275 :デフォルトの名無しさん:2009/08/09(日) 04:51:53
そういうあまりにも環境依存な内容は別の場所でやりなされ

276 :デフォルトの名無しさん:2009/08/09(日) 05:06:15
どうせ他に話題も無いくせに
自分の居場所を汚されたという気分だけでいちゃもんつける>>275のようなやつ

277 :デフォルトの名無しさん:2009/08/09(日) 05:28:32
Arcがバージョンアップらしいぞ。俺は使う気もないけど。

278 :デフォルトの名無しさん:2009/08/09(日) 05:40:45
他に話題あるじゃん
出て行けよ

279 :デフォルトの名無しさん:2009/08/09(日) 05:43:46
Arcは専用スレあるからね。

280 :デフォルトの名無しさん:2009/08/09(日) 08:54:39
ttp://wiki.fdiary.net/lisp/
ここ見れなくね?

281 :デフォルトの名無しさん:2009/08/09(日) 09:29:37
この人、キチガイ?単なる老害だろ
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/

282 :デフォルトの名無しさん:2009/08/09(日) 11:15:00
>>281
釣りだよ。
そうやって盛り上げてんだよ。

283 :デフォルトの名無しさん:2009/08/09(日) 11:23:32
読めないオープンソースはオープンソースの意味が無いから
人間が読むために作られた仕様書のほうがましだね

でも凡人が読めるオープンソースも無いわけではないね

284 :デフォルトの名無しさん:2009/08/09(日) 11:56:45
そういえば TSPL4 出てるね
http://www.scheme.com/tspl4/

285 :デフォルトの名無しさん:2009/08/09(日) 11:57:01
>>281
だからどうした
同意してほしいのか

286 :デフォルトの名無しさん:2009/08/09(日) 12:01:48
>>282
そんな方法でしか盛り上げられないなら、やっぱり老害だな

>>285
聞いてるだけだが、何か?答える気無いなら糞レスいらないぞ

287 :デフォルトの名無しさん:2009/08/09(日) 12:04:52
老害を辞書で引いてみたら

288 :デフォルトの名無しさん:2009/08/09(日) 12:07:49
>>281がキチガイというオチでした

289 :デフォルトの名無しさん:2009/08/09(日) 12:09:03
聞いてるだけって
自分がキチガイだと教えてもらったら納得するのか?

290 :デフォルトの名無しさん:2009/08/09(日) 12:09:13
黒田乙

291 :デフォルトの名無しさん:2009/08/09(日) 13:31:29
夏の風物詩だろ>>281みたいなニワカが沸くの


292 :デフォルトの名無しさん:2009/08/09(日) 16:20:49
Schemeでマクロはかけないとか言って反論されてた人か

293 :デフォルトの名無しさん:2009/08/09(日) 16:26:21
まあでも確かに R5RS までだとマクロはいろいろつらかったような
Scheme + define-macro は落とし穴がちょこちょこあるし
syntax-rules だと黒魔術的なことをしないとできないことも多かったし

ttp://okmij.org/ftp/Scheme/macros.html あたりとか俺には理解不能すぎる

294 :デフォルトの名無しさん:2009/08/09(日) 16:38:11
以前にもいたね>>281みたいなの

295 :デフォルトの名無しさん:2009/08/09(日) 18:11:30
冗談でも何でもなく、まさに馬鹿には理解できないレベルの議論だからな。
溢れる自尊心と足りない知性の組み合わせで無根拠に大きく出ちゃう学生さんには、
黒田氏の話は毒。

296 :デフォルトの名無しさん:2009/08/09(日) 18:13:00
>溢れる自尊心と足りない知性の組み合わせで無根拠に大きく出ちゃう
黒田さんのことですねわかります

297 :デフォルトの名無しさん:2009/08/09(日) 18:15:45
>>296
つまりそういう反応しか出来ないから
君のレベルでは毒なのw

298 :デフォルトの名無しさん:2009/08/09(日) 18:20:06
再帰w

299 :デフォルトの名無しさん:2009/08/09(日) 18:25:43
Common lisp中華思想ですから、
それに迎合出来無い全員に取って毒ですよ
で、迎合できない者を指して「レベルの低い」と称するんですね

300 :デフォルトの名無しさん:2009/08/09(日) 18:30:54
とまぁ、こういうレベルの人が騒ぐわけです。
わかってなきゃ言えないことを一つも言えないまま、いかに「わかった風な空気」をまとうか。
それがこの人らの書き込みのコンセプト。

301 :デフォルトの名無しさん:2009/08/09(日) 18:33:30
はいはい、そうやってずっとcommon lispのアンチを増やしてればいいんですよ
レベルの低い信者なんていても仕方がないから合理的ではありますね

302 :デフォルトの名無しさん:2009/08/09(日) 18:36:23
限界集落みたいな狭い狭いlisp村内で釣りしてどうすんだという気もするが。
釣るなら村外へ向けてするべき。

303 :デフォルトの名無しさん:2009/08/09(日) 18:42:30
common lispの良いところと悪いところ、Schemeの良いところと悪いところってのが宗教みたいに本当に相容れないからね
煽りの痛さはどっちもどっちなんだけどなぜか両方を受け入れてだからどうしたって言えるレベルの人は少ないよね


304 :デフォルトの名無しさん:2009/08/09(日) 18:43:18
CommonLisp は何でもアリだからな。
「強い言語」と言えばそう言える。
でも、 CommonLisp に批判的な立場っていうのはその強さが
ある意味で使い難いって言うのが主な主張だろう。

「CommonLisp は強いんだ!」 って言ったって、
そんなことはとっくに承知で、
その上で強さがダメだって言ってるんだよ。

そこんところをもうちょっと掘り下げないと平行線だよな…
なんて思うわけですよ。

305 :デフォルトの名無しさん:2009/08/09(日) 18:43:23
>>302
村外で釣ってる人ってrubyスレで暴れてるみたいな恥さらしばっかりな気がする


306 :デフォルトの名無しさん:2009/08/09(日) 18:46:41
通りがかりの低レベラーが横レスしますよ
Schemeって研究あるいは教育用の言語みたいなもんじゃないの?元々は。
Common Lispは実用のために「工学的強度を持った言語」としてうんたらかんたら・・・
目指してる方向が違うんじゃないの。

307 :デフォルトの名無しさん:2009/08/09(日) 18:58:11
だからどうした
同意してほしいのか

308 :デフォルトの名無しさん:2009/08/09(日) 18:59:40
何この人^^

309 :デフォルトの名無しさん:2009/08/09(日) 19:01:06
>>306
おたがいの批判はいわゆる「オヤクソク」であって、
初心者にそれぞれの言語の立場をわかりやすく説明するコントなんだよ。

310 :デフォルトの名無しさん:2009/08/09(日) 19:13:14
大抵の人の場合仕事で使ってるのはCLでもSchemeでもないから、
論争もまた遊びみたいなもの。さらに言えば仕事で使ってるような言語での
ネタすら遊びでしかないという人は多いだろう。
で、黒田さんはそういう中途半端な人達にLispを語って欲しくない
という事も言っている。とりあえず本気の人も遊びの人も
互いに有益な範囲のみで関わっていれば問題はないだろうよ。

311 :デフォルトの名無しさん:2009/08/09(日) 19:21:13
>>309
一般的にはそうかもしれない。でもこの場合は違うかな。
初心者とか無能に理解されることを期待してないから、ああいう書き方になる。
いやむしろ、馬鹿が読んだ時に、馬鹿な理屈で馬鹿な誤読をして、馬鹿丸出しの敵になることを
黒田氏は期待してるかもしれない。
馬鹿な味方ほど邪魔なものはないからね(PやRから始まるあの言語の信者を想像してみよう)。

黒田−shoro間では濃い議論になるものが、黒田−ねらー間だと全くそうならない。
熱くなればなるほど、根拠が薄くなり、結論の語気だけが上がる、悲惨極まりない人種が
噛み付いてるだけの、この無様な状況。
つまり、何を言ってるのか理解するところにも達していないわけ。

312 :デフォルトの名無しさん:2009/08/09(日) 19:26:01
黒田vsShiroさんの議論のレベルに達してないのは自覚してる。
そこまで自惚れてるわけじゃない。
しかし、突き放して、理解させようという努力をしないなら、
ただの見下し厨と変わらないように思うけどなぁ。

313 :デフォルトの名無しさん:2009/08/09(日) 19:26:11
>>311は「馬鹿な味方」の好例だな。

314 :デフォルトの名無しさん:2009/08/09(日) 19:30:58
>>311
shoro さんの意見を聞いてみたいですね

315 :デフォルトの名無しさん:2009/08/09(日) 19:31:40
>>314
本質でないところでこういう揚げ足をとる馬鹿

316 :デフォルトの名無しさん:2009/08/09(日) 19:32:26
>>315
スルーできない馬鹿

317 :デフォルトの名無しさん:2009/08/09(日) 19:33:18
>>312
最初から理解できるようなレベルの人以外は
味方になって欲しくないということでしょう
彼等の目標を踏まえればそれ程のフィルターが必要であることは
容易に想像できます。

318 :デフォルトの名無しさん:2009/08/09(日) 19:33:39
>>316
オマエモナー

319 :デフォルトの名無しさん:2009/08/09(日) 19:40:21
やっぱlispスレはこうでないとな

320 :デフォルトの名無しさん:2009/08/09(日) 19:48:17
言語知識ゼロでも構わない感じの空気になると
水を得た魚のように活発になる人が多いのは、
Lispスレでも他のほげ言語スレでも同じ。

321 :デフォルトの名無しさん:2009/08/09(日) 19:54:01
自転車置き場がうんたらかんたらだっけか?

322 :デフォルトの名無しさん:2009/08/09(日) 19:56:13
>>313
というその一文が、根拠が薄く、結論の語気だけが上がってる悲惨な人種の
典型的な産物ですね。

323 :デフォルトの名無しさん:2009/08/09(日) 20:03:15
>>322
必死だな

324 :デフォルトの名無しさん:2009/08/09(日) 21:13:07
えらい加速してると思ったら・・

>>255
SICPの日本語訳、2章まで読めるとこあるよ
sicp tmuでぐぐれば今3番手に出る
原著読んでて翻訳つらいなって思った練習問題なんかは
この訳でもスキップされてたりするけど、
訳はわかりやすいので参考になれば

325 :デフォルトの名無しさん:2009/08/09(日) 23:31:44
論争読んだけど、ようするに
R5RSの仕様だと解釈の仕方によってはマクロ作るときに問題があるが、
別の解釈の仕方では問題ないし、問題ないように実装することもできる
しかも、R6RSでは問題ない
ってことだろ
結局Schemeに対する言いがかりに感じた

326 :デフォルトの名無しさん:2009/08/10(月) 06:29:45
>>325
んで、さらに Schemer の内部では、 R6RS には思想がないとか
syntax-case ごちゃごちゃし過ぎ、 Explicit Renaming とか Syntactic Closures 忘れるな
っていう内ゲバが起こるんですね、わかります

と煽ってみる

327 :デフォルトの名無しさん:2009/08/10(月) 06:55:03
>>158
スレが別方向に行っちゃってるけど、
Common Lisp / Java 版の SHRDLU っていうのがあるみたい
ttp://www.semaphorecorp.com/misc/shrdlu.html
PLANNER は CONNIVER と共に Scheme の源流みたいな言語だね(英語版 Wikipedia 参照)

328 :158:2009/08/10(月) 09:24:57
>>327
ありがとう。
早速、試してみるよ。

329 :デフォルトの名無しさん:2009/08/10(月) 18:46:49
Connniverってなんて読むの?

330 :デフォルトの名無しさん:2009/08/10(月) 19:51:56
こんにぼぁー

331 :デフォルトの名無しさん:2009/08/10(月) 22:59:47
SHRDLUをGCLで動かそうとしたところたくさんあるファイルのうちの
DICTIOというファイルでエラー。単語や意味を教えるファイルらしい。
エラーになるのは
(DEFS \#DIRECTION
FEXPR (LAMBDA (A B) NIL)
NOGOAL T)
という関数。

これをコメントアウトすれば一応動作開始する。でも何を聞いても
「Sorry I don't know.」ばかり。
辞書が不完全だからかな。

332 :デフォルトの名無しさん:2009/08/11(火) 00:16:47
common lispとschemを並行して勉強するのってこんがらがってやめたほうがいい?

333 :デフォルトの名無しさん:2009/08/11(火) 00:49:23
やめとけやめとけ

334 :デフォルトの名無しさん:2009/08/11(火) 00:51:48
>>333
ありがとうございます。じゃあschmeから先に勉強します(^_^)

335 :デフォルトの名無しさん:2009/08/11(火) 01:57:11
schemもschmeもやめて
common lispにしておけ

336 :デフォルトの名無しさん:2009/08/11(火) 02:14:42
黒板に書いて遊ぶならSchemeやschmeやschem、ソフトウェアを作るならCommon Lisp。

337 :デフォルトの名無しさん:2009/08/11(火) 02:51:07
CommonLispで最近出てきた何か面白い処理系ある?

338 :デフォルトの名無しさん:2009/08/11(火) 04:35:58
ないからクソだね!schemeがいいよ!

339 :デフォルトの名無しさん:2009/08/11(火) 05:35:06
schemeとschmeとschemではどれがいいんだ?

340 :デフォルトの名無しさん:2009/08/11(火) 05:36:03
夏休みだなあ

341 :デフォルトの名無しさん:2009/08/11(火) 06:04:49
みなさん処理系は何をお使いですか?
わたしはGaucheを使っています。
Little Schemerで勉強中

342 :デフォルトの名無しさん:2009/08/11(火) 06:16:48
GaucheとかPLTとか。
IA-32のSolarisに対応してたらLarceny使うのに。

あとは、IkarusとYpsilonとMosh検討中。
R6RS対応したライブラリが少ないのがネック。
識別子の最初に@使えないからSXMLとかでも問題あるし。

343 :デフォルトの名無しさん:2009/08/11(火) 06:30:06
Schemeでネイティブコードまでコンパイルするのってstalinだけ?


344 :デフォルトの名無しさん:2009/08/11(火) 06:39:29
BiglooとかCHICKENとかいろいろ

345 :デフォルトの名無しさん:2009/08/11(火) 07:40:35
>>343
中間言語としてのC経由なら、Stalin、Bigloo、Chicken、Gambitとか。
直接ネイティブコード吐くのはLarceny、Ikarusとか。
JITでネイティブコードにコンパイルするのはPLT。Ypsilonも開発中。
バイトコードにコンパイルして実行するのはGauche、Mosh、Guileとか。

346 :デフォルトの名無しさん:2009/08/11(火) 08:42:48
>>345
ありがと
SBCLの様な感じのはIkarusだけみたいだね、試したらめちゃ高速
だけどなぜにバージョンがこんなに小さいんだろう?



347 :デフォルトの名無しさん:2009/08/11(火) 08:49:46
最適化で評判が高いのがStalin
Chicken は ttp://home.pipeline.com/~hbaker1/CheneyMTA.html この論文が
提唱した方式を実装したという特徴がある

348 :デフォルトの名無しさん:2009/08/11(火) 11:59:26
stalin はマクロがなぁ…。
だいたい Scheme でむやみに速度を目指したって仕方がないじゃないかって気がする。
速いにこしたことはないし、そういう選択でやってみたってのは価値があるけど、
Scheme で数値計算をバリバリやるって場面はそんなにない。


349 :デフォルトの名無しさん:2009/08/11(火) 12:17:25
お前に言われる筋合いもないw

350 :デフォルトの名無しさん:2009/08/11(火) 12:58:55
Schemeの「速さ」に釣られるのは、C/C++がキライな奴だけだ

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

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

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

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

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

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


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


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

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


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

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

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

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

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

> 2008-12-26: Release 0.0.4 almost final

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

後進を育てればいい

会社にしてしまえばいい

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

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

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

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

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


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

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

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


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

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

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

http://www.monaos.org/tmp/mosh-0.2.1-setup-win32.exe

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

408 :デフォルトの名無しさん:2009/08/13(木) 06:57:20
http://jfk.2ch.net/arc/

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

423 :デフォルトの名無しさん:2009/08/14(金) 03:06:27
>>422
http://practical-scheme.net/wiliki/wiliki.cgi?R6RS
おおざっぱな変更点解説もあるのでここ読め。

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

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

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

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

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

>(atom '())

T

>(listp '())

T

>(eq '() nil)

T

>(null '())

T

>(null nil)

T

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

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

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

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

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

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

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

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

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

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


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


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

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


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

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

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

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

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

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

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

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

444 :デフォルトの名無しさん:2009/08/18(火) 08:31:55
http://www.aoky.net/articles/leon_bambrick/lisp_truth.htm

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

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

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

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


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

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

(eq 'atom '())

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

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

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

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

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

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

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

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

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

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

459 :399:2009/08/19(水) 03:25:05
動いたので晒し。
http://202.61.29.82/
しょぼいです。

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

ttps://launchpad.net/scheme-libraries

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

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

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

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

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

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

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


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

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

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


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

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

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

471 :デフォルトの名無しさん:2009/08/21(金) 19:20:05
http://en.wikipedia.org/wiki/Comparison_of_programming_languages_%28syntax%29

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

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

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

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

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

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

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

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

480 :デフォルトの名無しさん:2009/08/22(土) 18:31:17
LET OVER LAMBDA Edition 1.0
ttp://www.amazon.co.jp/dp/4434133632/
誰か書評書いて

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

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

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

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

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

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

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

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

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


489 :デフォルトの名無しさん:2009/08/23(日) 10:27:38
>>487
ttp://www.google.com/search?hl=ja&safe=off&num=50&q=%E4%BE%8B%E3%81%88%E3%81%B0+%E9%81%BF%E3%81%91%E3%82%8B&lr=lang_ja

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

JAVA厨 = 馬鹿

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

581 :デフォルトの名無しさん:2009/08/24(月) 13:47:21
昨晩は皆さんお楽しみだったようですね

582 :デフォルトの名無しさん:2009/08/24(月) 16:51:07
C言語で書かれた最小サイズのLisp処理系のコードを知りませんか?
純Lisp処理系を書くのに参考にしたいものですから。

583 :デフォルトの名無しさん:2009/08/24(月) 16:54:57
Cプログラムブックかな

584 :デフォルトの名無しさん:2009/08/24(月) 17:04:08
>>582
>>10
>□CAMPUS LIsP Lemon version: Cでわずか1000行。


585 :デフォルトの名無しさん:2009/08/24(月) 17:34:18
ありがとうございました。
>>583
その本、持ってます。Shiroさんも読んだそうですね。
>>584
DLしてみました。

じっくりコードを読んでみます。

586 :デフォルトの名無しさん:2009/08/24(月) 20:23:39
>>583
懐かしい本だな。
このスレって平均年齢が高いなw

587 :デフォルトの名無しさん:2009/08/24(月) 23:48:42
>>586
懐古趣味って言われるかもしれないけど
ウインストンのCommon Lisp 対応の
「Lisp(U)」はわかりやすくて好きだ。
PaulのANSI Common Lispも同様に良いと思うけどね。
歳かな。 

588 :デフォルトの名無しさん:2009/08/24(月) 23:58:57
>>587
薄緑色の教科書みたいな本ですよね。
Amazonでいい値段になってるw

589 :デフォルトの名無しさん:2009/08/25(火) 00:03:29
>>587
ウィンストン本良いよね。

自分は第二版の方が好き。粗削りだけど味がある。

Lisp の教科書はこれと Little Schemer で(・∀・)イイ!!

590 :デフォルトの名無しさん:2009/08/25(火) 00:06:15
>>588
はい、そうです。

間違えた「Lisp(T)」の方でした。
脳細胞が老化しているのか中西先生の本、
ウインストン本、竹内先生の本を読むとホッとするね。
中西先生は天国で楽しくハッキングしていらっしゃるのかなぁ。
あの世に行ったら中西先生の講義を受講したい。

591 :デフォルトの名無しさん:2009/08/25(火) 00:08:31
代々受けつがれてきたウィンストン本があるが、後輩に
翻訳がひどく、誤植も多いから読む気がしないと言われて泣いた

592 :デフォルトの名無しさん:2009/08/25(火) 00:12:02
>>591

確かに翻訳はひどいらしいね。黒川先生のLispの本でも
翻訳のひどさが批判されていたような。
でも、気にならない俺って日本語のセンスがないのかも。

593 :デフォルトの名無しさん:2009/08/25(火) 00:20:57
「Lispで学ぶ認知心理学1,2,3」も持っているけど
これってどのくらいの値がつくの?


594 :デフォルトの名無しさん:2009/08/25(火) 01:07:37
今はLisper苫米地先生が出してる本の方がわかりやすいしなあ。>認知心理学

595 :デフォルトの名無しさん:2009/08/25(火) 02:10:02
>>587
「ウィンストンのLISP」 は初版を 「人口知能」 とセットで読むべき

596 :デフォルトの名無しさん:2009/08/25(火) 09:18:45
>>593
明倫館あたりの評価はまた違うと思うが、とりあえずアマゾンマケプレを
のぞいてみたら?

597 :デフォルトの名無しさん:2009/08/25(火) 21:41:13
>>590
竹内先生の金鯛本が復活しますよ。

598 :デフォルトの名無しさん:2009/08/25(火) 21:47:49
はちょぱきっ

てか「金鯛本」って呼び方初めて聞くんだが

599 :デフォルトの名無しさん:2009/08/25(火) 22:23:32
でも、通じてるじゃないですかw

600 :デフォルトの名無しさん:2009/08/25(火) 22:53:53
通じりゃなんでもいいよな
まんまんみてまうまうがおっきおっき

601 :デフォルトの名無しさん:2009/08/25(火) 23:05:21
以前からの疑問。金鯛本に登場するK先生のモデルって誰?
黒川先生だって説もあるそうだけど。

602 :デフォルトの名無しさん:2009/08/28(金) 15:40:58
maximaがwiki置かせてくれるサーバーどっかにないか探してるね


603 :デフォルトの名無しさん:2009/08/28(金) 16:13:47
wikiaとか借りるんじゃダメなの?

604 :デフォルトの名無しさん:2009/08/28(金) 20:07:55
一般人にとって、黒川と言えば黒川紀章、竹内と言えば竹内均。

605 :デフォルトの名無しさん:2009/08/28(金) 21:11:11
A君のモデルは俺

606 :デフォルトの名無しさん:2009/08/28(金) 22:42:15
置かせてくれるサーバよりも犯させてくれる女の方がいい。
っていうか犯させてくれるっておかしいな。
合意だったら犯すって言わないよね。

607 :デフォルトの名無しさん:2009/08/28(金) 23:09:55
オレにとって女は常にNILを返す関数である。

608 :デフォルトの名無しさん:2009/08/28(金) 23:11:47
女は煮る? なにそれこわい。

609 :デフォルトの名無しさん:2009/08/29(土) 00:05:15
もう何年も女と寝てないな

610 :デフォルトの名無しさん:2009/08/29(土) 00:17:03
もう何年も女を見てないな

611 :デフォルトの名無しさん:2009/08/29(土) 00:42:12
男が apply で、

女が eval で。

612 :デフォルトの名無しさん:2009/08/29(土) 01:42:32
NILがTで
TがNILで

613 :デフォルトの名無しさん:2009/08/29(土) 01:55:42
大人の Y コンビネータ

614 :デフォルトの名無しさん:2009/08/29(土) 02:28:03

結果を大文字に変換してしまうのはやめてほしい。
あれは非常に良くないプラクティス。

615 :デフォルトの名無しさん:2009/08/29(土) 02:37:09
>>614
r6rs へようこそ。

616 :デフォルトの名無しさん:2009/08/29(土) 13:48:49
Lispは言語以前に開発環境とか実行環境が良くわからんです。
なんかお勧めのサイトとか本とかありますか?

617 :デフォルトの名無しさん:2009/08/29(土) 15:29:24
>>616
テンプレのサイト見た?

618 :デフォルトの名無しさん:2009/08/29(土) 15:37:58
まずはOSを示してもらわんと助言のしようが

619 :デフォルトの名無しさん:2009/08/29(土) 17:42:03
http://srfi.schemers.org/srfi-1/srfi-1.html

SRFI-1ってmetaタグに変なキーワードが入ってるのな

620 :デフォルトの名無しさん:2009/08/29(土) 18:10:15
Windowsに決まってんだろ
Windowsで動くCLはSBCL?
ポーティングはもう終わったのかね?

621 :デフォルトの名無しさん:2009/08/29(土) 18:49:12
>>619
見てみた。何これw

622 :デフォルトの名無しさん:2009/08/29(土) 18:51:00
underage lesbian sluts
なんぞwwww

623 :デフォルトの名無しさん:2009/08/29(土) 19:13:33
schemerも人の子じゃったということよ

624 :デフォルトの名無しさん:2009/08/29(土) 19:16:12
やだなあ、ウィルスチェッカかけておこう

625 :デフォルトの名無しさん:2009/08/29(土) 19:57:52
ほかにもあった

http://srfi.schemers.org/srfi-13/srfi-13.html
http://srfi.schemers.org/srfi-14/srfi-14.html
http://srfi.schemers.org/srfi-19/srfi-19.html

626 :デフォルトの名無しさん:2009/08/29(土) 20:15:18
とりあえずlink rev=madeのアドレスにツッコミ送ってみた

627 :デフォルトの名無しさん:2009/08/29(土) 20:16:01
野暮なことすんな

628 :デフォルトの名無しさん:2009/08/29(土) 20:47:54
ttp://www.chino-js.com/tech/srfi/final-srfis.html
2002 年の訳に既にあるから、ウイルスではなさげ

629 :デフォルトの名無しさん:2009/08/29(土) 21:46:18
>>617
テンプレ大杉

>>618
Windowsです。

630 :デフォルトの名無しさん:2009/08/29(土) 21:54:05
テンプレも読めないのならprogramming gaucheでも買っとけ

631 :デフォルトの名無しさん:2009/08/29(土) 22:12:09
SLIMEとかasdfって何ですか?

632 :デフォルトの名無しさん:2009/08/29(土) 22:40:36
どちらもプログラムです

633 :デフォルトの名無しさん:2009/08/29(土) 23:18:06
SLIMEとは、ドラクエで一番最初に出てくる弱い敵です

634 :デフォルトの名無しさん:2009/08/30(日) 00:12:48
ところがどっこいドルアーガとWIZとメガテンでは・・

635 :デフォルトの名無しさん:2009/08/30(日) 00:40:07
一番最初ってよく言っちゃうけど、おかしな日本語だよね。頭痛が痛い的な。

636 :デフォルトの名無しさん:2009/08/30(日) 01:05:05
その理論でいくと、一番最後はどう説明付ける気だ

637 :デフォルトの名無しさん:2009/08/30(日) 02:07:45
っttp://ja.wikipedia.org/wiki/%E9%87%8D%E8%A8%80

638 :デフォルトの名無しさん:2009/08/30(日) 02:47:28
(lambda (f) (f f))

639 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 06:21:07
((lambda (f) (f f)) (lambda (f) (f f)))
これって一見シンメトリックだけど
左さんが1度しか実行しないのが憎い
左右同じ回数実行するような方法ってない?

640 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 06:40:58
左右ってどいことよ?ちょっと意図がわかりかねるので
もうちょい詳しいのよろしこ。

641 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 07:09:43
M(λx.N) → N[x:=M]
みたいな謎ルール付け加えた非決定的な計算を考えるしかないのでは。

642 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 07:22:21
計算モデル作り直そう、って話題かい。
もしそうだとすると、それただ単に表記に惑わされているだけだと思う。
特に意味があるとは思えない。何が目的よ。


643 :631:2009/08/30(日) 09:21:10
オマエら予想どおりの回答してくれてありがとうw
SLIMEはemacs上でLispと連動する開発環境でasdfはライブラリと言う事でええんか?

Lispboxというのを見つけたがこれを使えば開発環境できるんか?

644 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 09:34:06
Lisp環境だったらSLIMEが最強。
これに勝る者無し。

645 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 09:52:29
AllegroとかLispWorksとかのメーカ製のIDEより良いわけ?

646 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 09:59:58
商用のは使ったことないからわからないや。
Lispのように使用者人口の少ない言語のIDEは、
商用にしてしまったら消えていく運命にあるから全て無視している。

非商用のものではSLIMEが最強。

647 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 10:08:53
Allegro のIDE(つかEmacsインターフェースだけど)は
かなり良いよ。馴れが大きいけど個人的にはSLIMEより好き。


648 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 10:31:51
そんなに良いのか。じゃ、Allegro使ってみよう。
でも、Allegroって個人で買える値段ではないわな。。

649 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 10:47:53
Allegroを執拗に勧めるのは黒田

650 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 11:08:29
小俣さんじゃなくて?
黒田ってだれ。

651 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 11:10:38
ここは人が多そうなので質問なのですが、わかる方は
http://pc12.2ch.net/test/read.cgi/tech/1191875993/238
にレスしていただけると助かります。

652 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:08:43
ttp://sites.google.com/site/shidoinfo/Home

Lisp / Common Lisp / ページ最後の「初心者の為のLisp環境」で LispBox 紹介ページあるよ

653 :デフォルトの名無しさん:2009/08/31(月) 00:08:00
>>650
2ちゃんlispスレでは有名人だが2ちゃんの外では無名という点からして
東京kittyみたいな人物と思えばいいかも

654 :デフォルトの名無しさん:2009/08/31(月) 05:58:15
東京kittyって誰?

655 :デフォルトの名無しさん:2009/08/31(月) 08:15:32
東京都民はキチガイの略

656 :デフォルトの名無しさん:2009/08/31(月) 10:13:13
それはひどいw
勉強会とかのLispコミュニティでは普通に知られてるだろ。

ネットだけ(と、一瞬だけ深夜番組に出た)の千葉kittyとはさすがにw

657 :デフォルトの名無しさん:2009/08/31(月) 18:25:42
LispIDEってお手軽なLisp開発環境なようなんだけどreplが起動しない。
どうやって使うん?

ttp://www.daansystems.com/lispide/

658 :デフォルトの名無しさん:2009/09/01(火) 01:51:53
Set List PathをセットしてReset Lispした?
その後は評価したいS式をSend To Lisp

659 :デフォルトの名無しさん:2009/09/01(火) 08:47:08
>>658

そのようにやってみたけど処理系は起動しなかったよ。

660 :デフォルトの名無しさん:2009/09/01(火) 13:32:27
http://slashdot.jp/developers/article.pl?sid=09/08/23/1334251

661 :デフォルトの名無しさん:2009/09/01(火) 14:08:48
shiroさん翻訳のclojure本は何時出るの?

662 :デフォルトの名無しさん:2009/09/01(火) 15:48:44
Shibuya.lisp の発表者募集が来てるね
ttp://shibuya.lisp-users.org/

663 :デフォルトの名無しさん:2009/09/01(火) 16:32:03
原書読め

664 :デフォルトの名無しさん:2009/09/01(火) 23:01:12
>>659
動くのと動かないのがあるみたいだね
clispとSBCLとypsilonは動いたよ

665 :デフォルトの名無しさん:2009/09/01(火) 23:50:23
自己反映言語は実用性は確かになさげだけど、AOP用途としては速度を
抜きにすれば使える。リフレクション使えるから簡潔に書けるし、
とりあえず実現可能性だけ示す場合に有効だと自分は思う。
でも、論文読みきれていないので、それ以外はわからない。

一応、こういうのもある。
http://www.jst.go.jp/kisoken/presto/complete/jyohou/seika/2ki/01.pdf
『開かれた』という表現が気になるわ。

http://ci.nii.ac.jp/Detail/detail.do?LOCALID=ART0004921995&lang=ja
”この方法は実質的に、従来、許されていなかった、構造データのliftを許すようにした
と見ることもできる”

自分自身をも、世界の中に存在する一つのオブジェクトとみるというところが
個人的にはおもしろい。

666 :デフォルトの名無しさん:2009/09/01(火) 23:54:08
liftという単語でてるし、Haskellのモナドかどうかはしらないけど、
自己反映言語のリフレクションもモナド化できる気がするんだけどね。

667 :デフォルトの名無しさん:2009/09/02(水) 08:35:43
>>666
モナド則をリフレクションのどの部分に適用するの?

668 :デフォルトの名無しさん:2009/09/02(水) 18:20:58
───アタシの名前はgauche。心に傷を負ったscheme処理系。
モテカワスリムでスクリプト体質の愛され実装♪
アタシがつるんでる友達は極端な最適化をやってるstalin、
SussmanにナイショでJVM上で動いてるclojure。
訳あってR6RSグループの一員になってるPLT。
 友達がいてもやっぱり仕様決定はタイクツ。
今日もPLTとちょっとしたことで口喧嘩になった。
処理系同士だとこんなこともあるからストレスが溜まるよね☆
そんな時アタシは一人で繁華街を歩くことにしている。
がんばった自分へのご褒美ってやつ?自分らしさの演出とも言うかな!
 「あームカツク」・・。そんなことをつぶやきながら
しつこい仕様要求を軽くあしらう。
「カノジョー、デバッガ実装してくれない?」
どいつもこいつも同じようなセリフしか言わない。
中村正三郎は\(^O^)/だけどなんか薄っぺらくてキライだ。
もっと等身大のアタシを見て欲しい。
 「すいません・・。」・・・またか、とセレブなアタシは思った。
シカトするつもりだったけど、チラっとキャッチの男の顔を見た。
「・・!!」
 ・・・チガウ・・・今までの男とはなにかが決定的に違う。
スピリチュアルな感覚がアタシのカラダを駆け巡った・・。
「・・(カッコイイ・・!!・・これって運命・・?)」
男は黒田だった。連れていかれてdisられた。
「キャーやめて!」gauche.nightをきめた。
「マクロッ!黒板ッ!」アタシは死んだ。スキーム(笑)


669 :デフォルトの名無しさん:2009/09/02(水) 18:22:34
不覚にも(ry

670 :デフォルトの名無しさん:2009/09/02(水) 18:45:49
おもしれーw

671 :デフォルトの名無しさん:2009/09/02(水) 19:11:02
>>661
近日レビュー開始予定らしいから 11〜12月くらいかね。
ttp://twitter.com/hisashim/status/3624762770

672 :デフォルトの名無しさん:2009/09/02(水) 19:45:29
最後の一言までは平静だったのに、ちくしょう

673 :デフォルトの名無しさん:2009/09/02(水) 20:56:17
もうややこしくなりそうなことはイヤ。

674 :デフォルトの名無しさん:2009/09/02(水) 21:04:36
>>673

> '()

675 :デフォルトの名無しさん:2009/09/03(木) 03:19:00
失言だったなぁ。まぁ許してくださいな。
考えを外に出していかないとうまく考えられないのよ。
そういう風に思ってます、で。


676 :デフォルトの名無しさん:2009/09/03(木) 13:22:10
>>668
ばかー!

僕の珈琲返せ、あと鼻に抜けて痛いの!


677 :デフォルトの名無しさん:2009/09/03(木) 20:33:03
何が面白いのか説明してほしい

678 :デフォルトの名無しさん:2009/09/03(木) 20:35:49
おれ子供ができたら「らむだ」って名付けるんだ。

679 :デフォルトの名無しさん:2009/09/03(木) 20:46:31
ちゃんと名前をつけてあげて

680 :デフォルトの名無しさん:2009/09/03(木) 20:52:22
Y子萌え


681 :デフォルトの名無しさん:2009/09/03(木) 21:20:06
R6RS Benchmarks
ttp://www.ccs.neu.edu/home/will/Larceny/benchmarks2009.html

ikarus 速いな

682 :ひげぽん ◆Ngzcp/NZpA :2009/09/03(木) 21:47:44
>>681
コンパイラ組は、やはり速いですね。
Mosh はとりあえず遅いので次回リリースはさらなる高速化を目指します。
JIT 実装できるかな。

683 :デフォルトの名無しさん:2009/09/03(木) 22:05:27
>>677
大きな流れがみえるでしょ。

684 :デフォルトの名無しさん:2009/09/03(木) 23:48:51
>>682
次のリリースをじっと待ちますっ!

685 :デフォルトの名無しさん:2009/09/04(金) 01:25:00
>>682
interpreter 部門では Mosh ってどうなの?
Ypsilon のベンチマーク結果を見ると Gauche と Ypsilon はかなり速いみたいだ
プロジェクトのページに比較が載ってると面白いかも

686 :デフォルトの名無しさん:2009/09/04(金) 01:40:06
>>678
娘ができたら「にる」って名付けるんだ。

687 :デフォルトの名無しさん:2009/09/04(金) 02:11:35
PLTはJITだったと思うけど速いなぁ

688 :デフォルトの名無しさん:2009/09/04(金) 02:56:04
ガウチェとは 俺のことかと Gauche 言い

689 :デフォルトの名無しさん:2009/09/04(金) 04:03:51
schemeなんかそんなに速くしてなにが楽しいんだか
みんながCLに全力そそいでれば今ごろは・・

690 :デフォルトの名無しさん:2009/09/04(金) 04:50:06
Cの次ぐらいに早くなってるはずだよな

691 :デフォルトの名無しさん:2009/09/04(金) 05:52:08
CL厨涙目w

692 :デフォルトの名無しさん:2009/09/04(金) 07:41:29
Schemeだと一人でやれるからじゃね?
スピードの前に非互換なのをどうにかしたり、
ライブラリを整備したりして欲しい>scheme

693 :デフォルトの名無しさん:2009/09/04(金) 08:27:54
もう委員会に認定なしに新規に処理系を作るのを禁止しちゃえよ
ユーザー数はそう少なくないのに個々の労力が分散されて本当に勿体ないと思うわ
CPANを持つPerlみたいに集中できれば、それなりにライブラリも整備されてくるのにね

694 :デフォルトの名無しさん:2009/09/04(金) 08:37:20
srfiを充実させていくしかないんじゃね

695 :デフォルトの名無しさん:2009/09/04(金) 08:59:49
わけのわからん個人製なんかより
MSとかGoogleあたりに作ってほしい

696 :デフォルトの名無しさん:2009/09/04(金) 09:06:19
競争相手に労力の無駄遣いをさせるのも立派な戦略じゃないか
まあ、なんのために競争してるのかという意味ではおかしいかもしれない

697 :デフォルトの名無しさん:2009/09/04(金) 09:36:18
>>686
中国人の知り合いに「てい」(T)さんってのがいる

698 :デフォルトの名無しさん:2009/09/04(金) 11:23:31
てゐ

699 :デフォルトの名無しさん:2009/09/04(金) 11:51:52
>>693
問題点は処理系が複数あることではなく、
それらに充分な互換性がないこと。
Perl だって Ruby だって処理系は複数ある。
Scheme でそれがうまくいってなかったのは、
規格内だけで出来ることが少なかったからだ。
そもそも R5RS ではモジュール化についての決まってなかった。
R6RS が出来たことでそれなりにポータブルなコードが書けるようになったし、
ライブラリを作ることもできるようになったわけだ。
とは言え、 R6RS 自体に批判的な見解も多いので、
これでリソースが集約されるってわけにもいかんだろうけどな。

700 :デフォルトの名無しさん:2009/09/04(金) 12:01:08
以前は実装依存の部分や独自拡張が多かっただけだけど、
今はR6RS/ERR5RSと規格まで分離してしまったな。
相容れない部分、何とかうまく決着して欲しいものだ。


701 :デフォルトの名無しさん:2009/09/04(金) 12:22:10
(lambda (kodomo)
(cond
((eq kodomo female) nil)
(else t)))

702 :デフォルトの名無しさん:2009/09/04(金) 12:28:47
割と簡単に作れちゃうから
協力しないで自分で好き勝手に作っちゃうんだろうな

703 :デフォルトの名無しさん:2009/09/04(金) 12:48:01
数多の方言がcommon lispへまとまっていく過程から
何も学んでないな、schemerたちは


704 :デフォルトの名無しさん:2009/09/04(金) 13:11:44
Common Lispはずっと固まったままだな。
sequenceをCLOS的に書き直して欲しいが…

705 :デフォルトの名無しさん:2009/09/04(金) 14:54:53
>>704
それは「枯れた」と言うんだ
あまりコネくり回すとperlのように悲惨な状態に陥るぞ

706 :デフォルトの名無しさん:2009/09/04(金) 16:46:34
>>27

古い話で恐縮。べき集合が面白かったんで素朴集合論の勉強してる。
2^ℵ0 とか無限集合をSchemeで疑似的に扱えないものだろうか?
コンピューターの有限集合に慣れきっているんで選択公理のどこが
問題なのかピンとこない。コンピューターが実無限を扱えると面白い。

707 :デフォルトの名無しさん:2009/09/04(金) 16:51:16
>>706
色々と直観に反する定理が出て来たりする。例えば、バナッハ・タルスキーのパラドックス:

一つの球体を粉々に砕いて、同じ大きさの球体二つを作ることができる

とか

708 :デフォルトの名無しさん:2009/09/04(金) 17:06:25
>>706
証明系、数式処理系が扱ってる。> 無限

709 :デフォルトの名無しさん:2009/09/04(金) 17:15:32
>>708

素のSchemeじゃ無理かな?
ℵ0+ℵ0=ℵ0 とか数式処理のようにパターンマッチングで
与えることはできると思うんだ。
どうしてそれでいいんだ?ってのをSchemeで実験数学みたいにやってみたいんだ。

710 :デフォルトの名無しさん:2009/09/04(金) 17:23:04
>>706
論理式として閉じてる構造作れば良いんでない?
ただ実態を作る場合、それが本当に妥当かどうかは分からんが。
ハスケルで無かったっけ?そんなの。

数学ってあくまで実際のモデルを"参考"にして抽象的構造作ってるから、
その"参考"から創られる構造から演繹されたものを実際の世界(コンピュータだったらデータ)に還元しても、それが直感的に妥当だとは限らんよ?
>>707の例みたいになるし。混ぜるな危険。
まあ応用数学みたいにおいしいとこだけ啄むのも良いけど。

711 :デフォルトの名無しさん:2009/09/04(金) 17:25:34
Exact Real Numberの非標準解析版作ればいい。

712 :デフォルトの名無しさん:2009/09/04(金) 17:25:38
>>710

ありがとう。考えてみるよ。

713 :デフォルトの名無しさん:2009/09/04(金) 17:59:13
>>706
「選択公理と数学」遊星社

714 :デフォルトの名無しさん:2009/09/04(金) 18:01:29
>>713

それ志賀先生の30講シリーズでも紹介さてた。
有名な本なんですね。

715 :デフォルトの名無しさん:2009/09/04(金) 19:14:27
>>693
委員会の作る言語はクソという歴史的必然性があってだな、

ANSI C、Ada、Commo (ピー、ピー、ピー)

716 :デフォルトの名無しさん:2009/09/04(金) 19:53:31
適度に分裂して適度に収束できた系が生き残るのだ
それが人為的か否かに関わらず


717 :デフォルトの名無しさん:2009/09/04(金) 21:25:55
Haskellも委員会言語だな

718 :デフォルトの名無しさん:2009/09/04(金) 21:44:04
ALGOL60も委員会言語だったような

719 :デフォルトの名無しさん:2009/09/04(金) 21:51:11
どちらもたしかにクソ言語だな

720 :デフォルトの名無しさん:2009/09/04(金) 21:53:57
Schemeって黒田さんも言っているようにALGOL系の
影響を受けてるんでしょ。

721 :デフォルトの名無しさん:2009/09/04(金) 22:05:09
歴史が古いと委員会言語に移行してない?初期の C って参考にしたものがあるにせよ
個人が勝手に作った物だし。今はそうでない言語でも、そのうち ANSI ** なんてこと
になってしまうかもしれない。別に ANSI ではなく ISO でも。


委員会言語って、良い所もあるけど「専門家」に引っ掻き回されてグチャグチャにな
ったソフトウェアに近い印象がある(個人的には)。

722 :デフォルトの名無しさん:2009/09/04(金) 22:09:01
Clojureってカッコがなくてキモイと思った。

(def fact
 (fn [n]
  (cond
   (= n 1) 1
   :else (* n (fact (- n 1))))))

723 :デフォルトの名無しさん:2009/09/04(金) 23:18:59
>>722
arcに似てるね。
defとかfnとか。

724 :デフォルトの名無しさん:2009/09/04(金) 23:30:58
ClojureでYコンビネーター

(def Y
 (fn [f]
  ((fn [proc]
   (f (fn [arg] ((proc proc) arg))))
  (fn [proc]
   (f (fn [arg] ((proc proc) arg)))))))

(def fact0
 (fn [f]
  (fn [n]
   (if (zero? n)
    1
    (* n (f (- n 1)))))))

((Y fact0) 5)

725 :デフォルトの名無しさん:2009/09/04(金) 23:39:11
>>723
どことなく似てる。まだ詳しいことはわからないけど。

726 :デフォルトの名無しさん:2009/09/04(金) 23:54:00
Clojureは末尾再帰の最適化がないから、Schemerはちょっと脳を切り替えないとね

727 :デフォルトの名無しさん:2009/09/05(土) 00:04:23
ランタイムがJVMというのはどうなんだろう。
OracleはJavaをどう扱うんだろう。

Scala共々気になる。


728 :デフォルトの名無しさん:2009/09/05(土) 00:06:39
>>726
そうかも。ただ、clj-processingとかでProce55ingを利用してグラフィックを扱えるんで重宝しそうな予感。
こういう実用的な話はテキストに載ってないけど。

729 :デフォルトの名無しさん:2009/09/05(土) 01:44:35
>>707
関係ないんだけれど、関数型言語に(有用な)測度入れたりできる?

なんというか、測れるもの入れたほうがわかりやすくなりそうだし、
似ているけど、同値関係がないから違うものと判別されているものを
まとめられたら話が簡単にできると思うんだわ。

730 :デフォルトの名無しさん:2009/09/05(土) 02:26:22
言語に測度ってなんだよ
S式上に定義された関数を積分とかするのか

731 :デフォルトの名無しさん:2009/09/05(土) 02:43:28
>>730
離散な集合でも可測空間は作れるし、別にルベーグ積分に限っているわけじゃない。
たとえば、言語における語と関数を要素とする集合をΩとして、
文法規則な情報も入ったσ集合体が作れたら作って、相互にプログラム変換可能を
意味するような測度が入れられたらいいなぁと。
でも、現実的じゃないか。

732 :デフォルトの名無しさん:2009/09/05(土) 03:26:02
測度というからには完全加法性を使いたいんだろ?
そんなもんが言語の何に対応するんだ。
仮にできたとしてゲーデル関数のへんてこな例が一つできるだけじゃないの。

733 :デフォルトの名無しさん:2009/09/05(土) 04:14:44
>>700
ttp://www.scheme-reports.org/

興味があるならどうぞ。c.l.sとか色々な場所に流れてたから、
知ってるかもしれないけど。


734 :デフォルトの名無しさん:2009/09/05(土) 04:29:28
ポールたんの Arc 言語を一見してみた感想:
「Common Lisp に Macro 書くだけで良くね?」


735 :デフォルトの名無しさん:2009/09/05(土) 05:25:40
数学板か情報板行けばいいのに。その方が詳しい人にコメントもらえると思うよ。

736 :デフォルトの名無しさん:2009/09/05(土) 05:51:07
>>732
何気にゲーデル関数が可測関数だと読めるようなことを。
それが狙い。へんてこな例じゃないものがあるかもしれないじゃないの。

737 :デフォルトの名無しさん:2009/09/05(土) 05:53:17
大当たり。

738 :デフォルトの名無しさん:2009/09/05(土) 06:12:44
>>735
実は、何気にこのスレが最高レベルだよ。

739 :デフォルトの名無しさん:2009/09/05(土) 06:19:20
Lisp と Scheme を別々のスレに分ければ良かったものの、
一括りにしてしまった為、濃い人間の密度は高くなった。


740 :デフォルトの名無しさん:2009/09/05(土) 09:43:01
>>715
言語仕様のコロコロ変わるオレオレ言語よりマシだと思うがのぅ。。

741 :デフォルトの名無しさん:2009/09/05(土) 10:14:59
Common Lisp は専用スレあるよ

742 :デフォルトの名無しさん:2009/09/05(土) 12:25:28
LOL買ったけど避けるべき言語は具体的に何かって書いてない〜

743 :デフォルトの名無しさん:2009/09/05(土) 12:28:53
Lisp以外の全てと言いかねない勢いだったような

744 :デフォルトの名無しさん:2009/09/05(土) 12:42:35
まあ確かにLispより強力なマクロを持った言語って今のところないからな

745 :デフォルトの名無しさん:2009/09/05(土) 13:43:57
>>740
Rubyの事ですか?

746 :デフォルトの名無しさん:2009/09/05(土) 14:31:28
>>745
どう考えてもD

747 :デフォルトの名無しさん:2009/09/05(土) 14:59:28
せっかくぼかしてあるものを具体化しようとする行為は野暮だな

748 :デフォルトの名無しさん:2009/09/05(土) 15:26:41
python 2.* ディスんのかてめー

749 :デフォルトの名無しさん:2009/09/05(土) 16:39:43
this?pythonってselfだろ

750 :デフォルトの名無しさん:2009/09/05(土) 18:49:40
別にぼかしてないと思うが
「Lispのマクロシステムを持たない言語」と明言してるから
Lisp以外の全ての言語だよ

751 :デフォルトの名無しさん:2009/09/05(土) 18:53:23
M4てどうなの?
よく知らないけど

752 :デフォルトの名無しさん:2009/09/05(土) 19:01:20
Perl が学ぶべき言語なのがいまひとつ納得できないんだけど何を読むと悟りが開けるんだろう

753 :デフォルトの名無しさん:2009/09/05(土) 19:11:47
CならK&Rという王道に従うならラクダ本ではないかと。

754 :デフォルトの名無しさん:2009/09/05(土) 19:18:52
まぁ、Gaucheを使ってるならPerlとの差はCPANの恩恵なんじゃないか。
つまりライブラリーを漁ってみるべきかと。

755 :デフォルトの名無しさん:2009/09/05(土) 21:28:30
>>752
あれは皮肉なんじゃない?ダグホイト性格悪い。
Haskellもケチョンケチョンだし、HOPの人たちもよく翻訳したよな。心広い。


756 :デフォルトの名無しさん:2009/09/05(土) 21:40:17
Lispは速いとか言ってるけど結局、SBCLがshootoutで
別にいい成績じゃないからなあ
あそこで説得力がなくなった

757 :デフォルトの名無しさん:2009/09/05(土) 21:42:43
SBCLが糞という事実が発覚しただけでは

758 :デフォルトの名無しさん:2009/09/05(土) 21:46:37
おまえ、どんだけ心狭いんだよ…… >>755

759 :デフォルトの名無しさん:2009/09/05(土) 21:48:06
>>757
SBCLといえば、Lispの一番使われてる環境だし、
作者のホイトもSBCLと親戚のCMUCL使ってるし

760 :デフォルトの名無しさん:2009/09/05(土) 21:58:06
Perl の懐の深さはある意味で Lisp を越えてるよ。
構文のカスタマイズもかなり出来るし。
しかし、色々な形に派生しながらも Lisp が Lisp なのは結局のところ「S式」につきる。
Perl は何でもアリだけど、「これが Perl」って言えるような芯に欠けると思うんだよな。
Perl が Perl であるためにはテストが何パーセント通っただとかいった話になるだろうけど、
Lisp は Lisp らしければ Lisp だ。


761 :デフォルトの名無しさん:2009/09/05(土) 22:03:58
なんでもありなのは、Lispの方だろ
Perlのカスタマイズなんて、Lispのマクロと比べたら屁みたいなもんじゃん

762 :デフォルトの名無しさん:2009/09/05(土) 22:06:37
Lispの括弧なくすマクロあったよね

763 :デフォルトの名無しさん:2009/09/05(土) 22:11:33
括弧なしオフサイドルール採用のLispってないの?

764 :デフォルトの名無しさん:2009/09/05(土) 22:16:16
>>763
直接の答えではないけど、見つかりにくい理由なら

http://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3AS%E5%BC%8F%E3%81%AE%E7%90%86%E7%94%B1

の「ならインデントでも良くね? 」が参考になる。


765 :デフォルトの名無しさん:2009/09/05(土) 22:16:40
ttp://www.chino-js.com/tech/srfi/srfi-49/srfi-49.html

766 :デフォルトの名無しさん:2009/09/05(土) 22:31:45
Common Lisp といえばGCL(以前のKCL)を思い浮かべる
私は古いのでしょうか?

767 :デフォルトの名無しさん:2009/09/05(土) 22:43:12
お前のことなんかどうでもいい。自己紹介ならVIPでやれ。

768 :デフォルトの名無しさん:2009/09/05(土) 22:44:02
>>764-765
いかにも厨っぽい質問に答えてくれてありがとう

>>765のS式とI式混在の記法は見やすくて良いけど、
構文木と記法の対応という安心感を失ってまで
導入するほどのものではないと初心者の自分でさえ思った

769 :デフォルトの名無しさん:2009/09/05(土) 23:27:45
>>766
湯淺乙

770 :デフォルトの名無しさん:2009/09/05(土) 23:29:54
>>766まぁANSI以前だし古いな…

771 :デフォルトの名無しさん:2009/09/05(土) 23:35:14
意外とおじさんファンは多いと思うぞ。

772 :デフォルトの名無しさん:2009/09/06(日) 00:03:37
たったいまソース眺めてて、括弧がなくなった想像したら強烈な不安感に襲われてゾッとした。
お前らもやってみろよ。怖いから。

773 :デフォルトの名無しさん:2009/09/06(日) 00:18:24
えっ? カッコ? あ、そうか。そんなものもあったな。
いやあ、 すっかり忘れておったわ

774 :デフォルトの名無しさん:2009/09/06(日) 00:35:47
Emacs の設定で括弧の色を薄くするなんて話もあったな
ttp://0xcc.net/misc/permstr.html

775 :デフォルトの名無しさん:2009/09/06(日) 00:40:12
>>769
湯淺先生はむしろ若者に負けず処理系作ったりして
未踏でスーパークリエイター認定されたりするから困る

776 :デフォルトの名無しさん:2009/09/06(日) 00:43:04
ショボイ処理系がたくさんあるより
出来のいいのが少しのある方がいいんだけどな

777 :デフォルトの名無しさん:2009/09/06(日) 01:26:58
Lisperは他の言語での開発者より現役寿命が長そうでいいな。
というか既に高齢k…ゲフンゲフン

778 :デフォルトの名無しさん:2009/09/06(日) 02:44:06
>>772
常に括弧に囲まれていないと心の安定が保てない?

つ パキシル

779 :デフォルトの名無しさん:2009/09/06(日) 02:52:13
カッコとは母体でありマトリクスである。

()

すべての生まれる谷。

780 :デフォルトの名無しさん:2009/09/06(日) 02:55:28
(乙 正三郎)

781 :デフォルトの名無しさん:2009/09/06(日) 03:32:06
いや、ほんとに不安になったんだよ。
この世に原子間の結合がなくなったような幻覚が見えた。
強い放射線浴びて染色体がずたぼろになった気分。
srfi49が怖い。

782 :デフォルトの名無しさん:2009/09/06(日) 04:05:48
括弧ヤバイ

783 :デフォルトの名無しさん:2009/09/06(日) 04:32:13
>>781
(お前 (マジで 病院) 行け)

784 :デフォルトの名無しさん:2009/09/06(日) 07:52:58
もしもM式が普及してたらLispはどんなだったろう?
型なしのSMLみたいなものか。

785 :デフォルトの名無しさん:2009/09/06(日) 08:14:08
>>776
同意。
>>728 のProce55ingに限らずSwing含めたjava資産の全てが使える(多分)
clojureには期待してる。


786 :デフォルトの名無しさん:2009/09/06(日) 08:28:09
>>785
clojureもいいけどQiもいいな

787 :デフォルトの名無しさん:2009/09/06(日) 09:12:11
>>786
Qiエレガントに見えるんだけど、CL処理系が必要じゃなかったっけ。
schemeに対するarcみたいなもの、であってる?

788 :デフォルトの名無しさん:2009/09/06(日) 22:38:48
あんま関係ないかもだけど、Lingr復活みたい。
しゃとんはそのままかな。

789 :デフォルトの名無しさん:2009/09/06(日) 22:46:10
再帰が大好きなんですが、みなさんが今までに書いた再帰を使ったコードを
何でもいいので教えてください。

790 :デフォルトの名無しさん:2009/09/06(日) 23:00:02
Schemeだと再帰を使わないコードのほうが珍しい
sedやperlで行うようなテキストフィルタでさえ末尾再帰で書く

791 :デフォルトの名無しさん:2009/09/06(日) 23:00:40
>>789
過去ログ読め。

792 :デフォルトの名無しさん:2009/09/06(日) 23:01:32
本物の Lisp プログラマはなるべく (明示的には) 再帰を使わない。

793 :デフォルトの名無しさん:2009/09/06(日) 23:28:12
でもそういう本物気取りの奴って高階とか平気で使っちゃうよね
台無しです

794 :デフォルトの名無しさん:2009/09/07(月) 00:57:59
Qiって中の人プロジェクトやめて悟り開きに行くとか言ってなかったっけ。

795 :デフォルトの名無しさん:2009/09/07(月) 01:11:44
Qiって「気」って意味だからそっち方面へ行っても不思議じゃないな。

796 :デフォルトの名無しさん:2009/09/07(月) 12:11:27
ttp://www.kt.rim.or.jp/~kbk/zakkicho/09/zakkicho0908a.html#D20090801-3
あったあったこれだ。
悟りとか修行とかは俺の妄想だった。

60にもなって成功するかどうかわからないソフトウェアビジネスに
全リソースを突っ込むなんてゆー冒険はできないんよ、って事かな。
インドで何見つけてくるかね。

797 :デフォルトの名無しさん:2009/09/07(月) 12:23:45
>>794
誰も "悟り開きに行く" なんて言っていない。
英語が読めないからといって脳内補完するのは止めてほしい。

単に「インドで何か見つけて来れればな」としか言っていない。


798 :デフォルトの名無しさん:2009/09/07(月) 15:06:41
>>797
間抜け

799 :デフォルトの名無しさん:2009/09/07(月) 16:10:50
>>796
ソフトウェアとその利用にまつわる政治・教育的問題に巻き込まれたくない
60 歳になってなお延々と同じ相手と同じように闘い続けてるなんてゴメンだ
と書いてある
ttp://www.itmedia.co.jp/enterprise/articles/0906/30/news046.html
こーゆーのにウンザリしたんでないかな

800 :デフォルトの名無しさん:2009/09/07(月) 17:13:15
>>789
萩谷先生の「関数プログラミング」に再帰によることが本質的な問題と
それに対してのSMLに類似した言語でのコードがあったと思うよ。
自然数、ペアノの算術、集合、カタラン数とか美しい再帰コードを見ると
心が癒されるねぇ。

801 :デフォルトの名無しさん:2009/09/07(月) 18:51:25
そこに並んだ例を見るにただ簡単なものを美しいと思ってるだけじゃないのか

802 :デフォルトの名無しさん:2009/09/07(月) 20:03:34
>>801
本、読んだことある?

803 :デフォルトの名無しさん:2009/09/07(月) 20:29:49
Haskellのメモ化によって二重再帰のフィボナッチが最適化されるのを
理解したときは震えた。

その後、実装の最適化戦略をあらかじめ知っていないと適切なコードを書けないと
いうのは何か違うのではないか、と悩み始めている。

∞の記憶容量と実行速度を持っていれば何でも再帰でOKなんだけどね。


804 :デフォルトの名無しさん:2009/09/07(月) 20:56:54
工学部の人と理学部の人とでは審美眼も違ってくるのかもね。

805 :デフォルトの名無しさん:2009/09/07(月) 23:41:45
美しいって言うとなんとなく卑屈になりがちだな
自分自身に対しては殆ど使わない言葉だし

806 :デフォルトの名無しさん:2009/09/08(火) 00:15:03
>>801
ただ簡単なものを美しいと言っていると本も読まずに思ってるだけじゃないのか

807 :デフォルトの名無しさん:2009/09/08(火) 00:39:16
ものまね鳥をまねる

808 :デフォルトの名無しさん:2009/09/08(火) 02:07:43
リストのリストを作りたいんだけど、gauche だと引っかかる orz

(define (column m l)
(cond
((= m 0) '())
(else (cons l (column (- m 1) l)))))

gosh> (column 3 '(0 0 0))
(#0=(0 0 0) #0# #0#)

clisp, scheme48, sbcl だと動くんだけど、gauche だとダメ。
なぜに?

809 :デフォルトの名無しさん:2009/09/08(火) 02:12:41
作れてるよ

810 :デフォルトの名無しさん:2009/09/08(火) 02:30:28
略記じゃまいか?作られたリストの中身確認しなされ。

811 :デフォルトの名無しさん:2009/09/08(火) 02:45:59
これだね。
http://srfi.schemers.org/srfi-38/srfi-38.html
むしろ common lisp 勢で gauche みたいな結果表示にならなかったのが意外かも。

812 :808:2009/09/08(火) 03:12:28
>>809
dクス

gosh> (car (column 3 '(0 0 0)))
(0 0 0)

gosh> (cdr (column 3 '(0 0 0)))
(#0=(0 0 0) #0#)

確かに作れてるっぽい。
略記なんてあるのか、初めて知りました。

((0 0 0) (0 0 0) (0 0 0))
が欲しいのに orz

813 :デフォルトの名無しさん:2009/09/08(火) 03:35:23
結果自体はどちらでも一緒だよ。
一応 (write (column 3 '(0 0 0)) とすれば ((0 0 0)(0 0 0)(0 0 0)) が印字されるので、
そっちじゃないと見づらいというなら、一度 write 経由で結果を確認すればいい。
もっとも構造共有が明示された表記の方がなにかと都合がいいと個人的には思うけど。

814 :デフォルトの名無しさん:2009/09/08(火) 06:49:36
CommonLisp だと *print-circle* の値で表示の仕方を制御できるね

815 :デフォルトの名無しさん:2009/09/08(火) 09:37:18
>>814 それは略記じゃなくて、
(let ((x (list 0 0 0))) (list x x x)) => (#0=(0 0 0) #0# #0#) と
(list (list 0 0 0) (list 0 0 0) (list 0 0 0)) => ((0 0 0) (0 0 0) (0 0 0)) は
writeで見ると同じだけど、構造が違う (わからなかったら絵を描いてみ)。
構造が違うものは違うように表示された方がいい、という方針なんでしょう。

816 :デフォルトの名無しさん:2009/09/08(火) 17:43:35
(define x '(0 0 0))
(define y (column 3 x))
(set-car! x 9)
ってやってから
(car y)
(cadr y)
(caddr y)
ってやってみるとどうなるかな?
(define (column m l)
(cond
((= m 0) '())
(else (cons (list-copy l) (column (- m 1) l)))))
この場合はどうなるかも試してみ

817 :デフォルトの名無しさん:2009/09/08(火) 18:52:20
質問。r6rsのhashtable-keysの返すベクタ中の要素って強制的に文字列になるのかな?
某処理系だと
(let ((h (make-eq-hashtable)))
(hashtable-set! h 'key "value")
(hashtable-keys h))

=>#("'key")
ってなるんだがr6の仕様?
hashtable-entriesもしかり。

無知ですんません。

818 :デフォルトの名無しさん:2009/09/08(火) 19:39:48
>>817
どの処理系か知らないけど、その処理系が変だと思う。
R6RS の hashtable-entries の項目
ttp://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-14.html#node_idx_1210
を見ると、挿入したのと同じ要素が返ってくる。

819 :デフォルトの名無しさん:2009/09/08(火) 20:04:01
>>818
助かりましたサンクス。

820 :デフォルトの名無しさん:2009/09/09(水) 00:59:43
gaucheって>>814の*print-circle*みたいなのをドンドン取り込んで、
最終的にはCommon Lispになる気がするんだ

821 :デフォルトの名無しさん:2009/09/09(水) 01:22:44
ご達観恐れ入ります

822 :デフォルトの名無しさん:2009/09/09(水) 01:36:27
>>820
心配御無用。
今後はClojureからドンドン取り込みます。


823 :デフォルトの名無しさん:2009/09/09(水) 02:23:38
#' が無ければ...CLのシンボルの棚が一つだったなら...ゴクリ..

by ごっしゃー

824 :デフォルトの名無しさん:2009/09/09(水) 04:12:09
r6rsでsrfiだそうな
https://code.launchpad.net/~scheme-libraries-team/scheme-libraries/srfi

825 :デフォルトの名無しさん:2009/09/09(水) 06:28:41
>>823
>#' が無ければ...CLのシンボルの棚が一つだったなら...ゴクリ..
そうなると defmacro じゃハマることが増えるから別のマクロシステムを……
あれ?

826 :デフォルトの名無しさん:2009/09/09(水) 06:47:19
>>825
... アーッ!

827 :デフォルトの名無しさん:2009/09/09(水) 07:03:27
>>826
一点減点です

828 :デフォルトの名無しさん:2009/09/09(水) 07:37:34
>>827
... アッー!

829 :デフォルトの名無しさん:2009/09/09(水) 09:32:05
ところで俺の言語仕様を見てくれ
こいつをどう思う?



830 :デフォルトの名無しさん:2009/09/09(水) 09:39:12
すごく・・・矛盾してます・・・

831 :デフォルトの名無しさん:2009/09/09(水) 09:44:59
いいのかい?
俺は矛盾した仕様でもかまわず実装してしまう男なんだぜ?

832 :デフォルトの名無しさん:2009/09/09(水) 18:34:31
唐突ですみません。

Lispで双対空間って表現できますか?
双対空間の双対空間をとると元に戻る。

833 :デフォルトの名無しさん:2009/09/09(水) 19:02:53
ソーシャルテクスト=知の欺瞞事件を連想した

834 :デフォルトの名無しさん:2009/09/09(水) 19:05:27
>>833
…はぁー?

ソーカルさんのテクスト読んだことないんじゃない?

835 :デフォルトの名無しさん:2009/09/09(水) 19:19:57
ハンロンの剃刀を連想した

836 :デフォルトの名無しさん:2009/09/09(水) 19:30:52
>>832
自然な対応がつくというだけで、元に戻るわけでは無いだろう。

837 :デフォルトの名無しさん:2009/09/09(水) 19:56:08
括弧の向きを逆にすればよろしい

838 :デフォルトの名無しさん:2009/09/09(水) 19:59:34
ベクトル空間とは異なるもののS式が
プログラムにもデータにもなるというのが
双対ベクトル空間と似たようなものを感じたもので。

純粋に数学の対象としての双対ベクトル空間を
リストを使って具体的に表せないだろうかと
いうのが発端ですが。3次元に限定して。
線形関数の集合ってのがとらえどころがなかったもので。

839 :デフォルトの名無しさん:2009/09/09(水) 19:59:33

あのさ、君達、

「スクールデイズ」

というアニメを観ればそんなことどうでも良くなるよ


840 :デフォルトの名無しさん:2009/09/09(水) 20:00:45
良い船

841 :デフォルトの名無しさん:2009/09/09(水) 20:05:51

と こ ろ で


838 :デフォルトの名無しさん:2009/09/09(水) 19:59:34

839 :デフォルトの名無しさん:2009/09/09(水) 19:59:33


>>839 (@19:59:33) の方が一秒早く投稿しているのにも関わらず
>>838 (@19:59:34) の後に位置している矛盾。

屈辱だ。


842 :デフォルトの名無しさん:2009/09/09(水) 20:12:23
2ちゃんねるは適当にできているので、たまに起こること。

843 :デフォルトの名無しさん:2009/09/09(水) 20:37:59
レス番1002とかも稀によくあるな。

844 :デフォルトの名無しさん:2009/09/09(水) 20:50:53
確定的に明らか

845 :デフォルトの名無しさん:2009/09/09(水) 21:10:30
直接扱いたいとかは無理だろう、なにせ有限集合じゃないんだし
ML系言語で使われているような型システムを作ってその
箱庭の中で扱うんだったらできるんじゃね?
そういうのはLispで扱うとは言えないだろうけど

846 :デフォルトの名無しさん:2009/09/09(水) 21:15:58

理想は、型を指定しなくても
指定しても良い(その場合はチェックをする)言語。


847 :デフォルトの名無しさん:2009/09/09(水) 22:09:30
>>846
つCommon LIsp

848 :デフォルトの名無しさん:2009/09/09(水) 22:19:22
>>823
CLもSchemeも使っているけど,Lisp-1とLisp-2でそう本質的に変わる訳じゃないし,
何がそんなに嫌なのかわからん.
ちょっと #' とか funcall とか書けばいいだけじゃん.

849 :デフォルトの名無しさん:2009/09/09(水) 23:03:34
そんなに嫌いな訳じゃないよ。むしろ好き。
ただ、書いてるとLisp-1の方が筆が早いというか、意識がλに集中出来るというか、そんな感じがするだけ。
完全に個人的な問題だね。

850 :デフォルトの名無しさん:2009/09/09(水) 23:42:02
PLTSchemeのλマークの入った球のアイコン。
赤と青に塗り分けられてるんだけど、あれって球の裏側は
どう塗り分けられているのだろうか。どうでもいいことが気にかかる。

851 :デフォルトの名無しさん:2009/09/10(木) 00:22:14
裏側なんてない。←結論

852 :デフォルトの名無しさん:2009/09/10(木) 00:36:50
the なんて、書きたくナイヨ。
なんだ、あの記法。

853 :デフォルトの名無しさん:2009/09/10(木) 00:57:21
最適化情報はソースの外に書きたいよね。

854 :デフォルトの名無しさん:2009/09/10(木) 05:38:38
>>838
多分、こんがらがっている。プログラム、データで双対関係が成り立ちそう
だから線型代数で形式化させようと読み取れるけれど、例えば内積どうするの?
<p:プログラム、d:データ>->r:R
となるような、関数<*,*>が必要よ。

あおっているわけじゃないけど、まず線型代数勉強したほうがいいと思うよ。

855 :854:2009/09/10(木) 06:00:01
読み返すとなんとも、いじわるな感じになってしまった。
気にしないでおくれ。

856 :デフォルトの名無しさん:2009/09/10(木) 06:47:04
>>853
ソースの外にあるのは嫌だ。管理がめんどい。
どうせマクロで隠蔽すればいいじゃん。

857 :デフォルトの名無しさん:2009/09/10(木) 07:05:04
>>854

2つのことを一度に書いたので混乱を与えたかもしれない。
線形代数は単位取得している。

前者はS式での双対原理についてで、ベクトル空間をS式に置き換えれば
同じS式という土俵の上でデータとプログラムが成り立っているのであり、
プログラムが必ずしも線形でないこと、内積に代わる演算が必要なことなど
はあるだろうけど、双対原理を考えることができないだろうか?ということ。

後者は数学に準拠したものでベクトル空間をリストを利用して具体的に
表せないだろうかというもの。双対基底を具体的にプログラムで書き表して
理解を深めようということ。


858 :デフォルトの名無しさん:2009/09/10(木) 07:49:21
S式のメタ言及と線形空間のメタ言及に関してお互いが同じメタファを持ってるってことを言いたいのかな?
発想は素晴らしいけどこういう類推って人間の頭の中に無数にある訳で、この場合、それを表現するのはS式であり数式であるんじゃないかな?
説得力が欲しいならプログラム書いて数式を書くしか無いよ。
多くの抽象的で曖昧で自然な言葉を発するより、今その方法が一番短時間で正確に頭の中を伝えられるよ。
その技法を習得するために単位を取ったんじゃないのかな?

859 :デフォルトの名無しさん:2009/09/10(木) 10:17:41
>>858

う〜ん、説得したかったわけじゃないんだ。
こんなの思いついたけど面白いんじゃない?どうかな?って程度で。

860 :デフォルトの名無しさん:2009/09/10(木) 11:54:07
どうかな?と言われても・・・
元々の断片的なレスからどんな反応を期待していたの

みんながエスパーしてくれて何か面白いことが起きるとか?

861 :デフォルトの名無しさん:2009/09/10(木) 12:23:19
ああ、わかったよ。他で聞いてみるよ。

862 :デフォルトの名無しさん:2009/09/10(木) 12:31:27
lispで画像処理をするにはopencvをcffiで呼ぶモジュールを作ればいいんだろうか

863 :デフォルトの名無しさん:2009/09/10(木) 15:26:38
weblocksのデモプログラムが、妙に遅い気がするんだけど
サーバーが弱いのか、lispに速度を求めるのが間違いなのか

864 :デフォルトの名無しさん:2009/09/10(木) 19:41:45
>>863
lispに速度を求めるのは間違いじゃないけど、
速度を考えずに書いたlispに速度を求めるのは間違い。

865 :デフォルトの名無しさん:2009/09/10(木) 20:04:49
gauche は名前を gosh に統一して欲しいな。

gauche は読みづらい。

866 :デフォルトの名無しさん:2009/09/10(木) 20:08:03
ガウチェとは
オレのことかと
ゴーシュ言い

867 :デフォルトの名無しさん:2009/09/10(木) 20:15:34
ごーしゅ と ごっしゅ でいいんじゃないの?
特に言いづらくもないし。

868 :デフォルトの名無しさん:2009/09/10(木) 21:42:04
ガウチェのどこが読み難いんだよ
ガウチェ ゴッシュ ゴッシュゴッシュ ガウチェ

869 :デフォルトの名無しさん:2009/09/10(木) 21:50:56
>>865
世の中もっと読みにくい物があるのになんというわがままな事を言うのかと小一時間


870 :デフォルトの名無しさん:2009/09/10(木) 21:56:55
カマス一杯といって、はいカミユ一杯ですねと訂正される屈辱を味わえ

871 :デフォルトの名無しさん:2009/09/10(木) 22:05:36
いっそ gausche にするとか

872 :デフォルトの名無しさん:2009/09/10(木) 22:21:06
>>870
そりゃ流石におまいが悪い

#最中のことをサイチュウとよんで悪かったな!


873 :デフォルトの名無しさん:2009/09/11(金) 00:24:21
セロ弾きのガウチェ

874 :デフォルトの名無しさん:2009/09/11(金) 00:27:16
双対空間なんて準同型定理を理解すればすむじゃん。
線形代数で双対空間を使ってるだけで線形性なんて関係ないし。

875 :デフォルトの名無しさん:2009/09/11(金) 01:55:08
クトゥルー神話並に Gauvpstcheh くらいにしちゃえばいいんじゃね

876 :デフォルトの名無しさん:2009/09/11(金) 02:13:02
まずS式→S式の妥当なマクロ展開全体からなる集合Mに対する
体K上のスカラー演算が自明には定義できないというか、
無理矢理こじつけてもプログラム的な意義がなさそうだから
ベクトル空間として扱うのは無理筋じゃないかなあ。

次に集合Mが例えばマクロ展開の合成演算に関して群をなすかというと
α変換による同値類を許せば群になるかもね。
証明するのも反例を見つけるのもだるいが・・・
あるはM全体だと群にならないとしたら
どのようなクラスのマクロ展開は群になるか、
そのように定義できたマクロ展開群G上の準同型はどんなものか、
考える価値があるのかなあ?

877 :デフォルトの名無しさん:2009/09/11(金) 02:24:52
がうちぇのほうが可愛いだろ…

Mac OS X snow leopardをようやく突っ込んだんだけどypsilonがコンパイルできなくなってしまた。
src/ffi_stub_darwin.sのアセンブルでコケてるぽい?
suffix or operands invalid for 'push' とか言われる pushのほかにcall pop もそうです。
64bit化でアセンブラのオペランド変わったとかそういう?
よくわからんゲーで眠気も限界に達する勢いなので教えてエロい人!して電気ブラン飲んで寝てやるくそぅ
ここじゃなくて他に適切なスレあったら誘導してもらえるとありがたく…

878 :デフォルトの名無しさん:2009/09/11(金) 04:22:12
>>876
イデアルみたいなのが出てきて破綻するだろ。
同値類ってイデアルS式とかに拡張すんのか?
1の分割みたいにアトムの分割が必要に為りそうだ。

879 :デフォルトの名無しさん:2009/09/11(金) 08:28:32
ぜんぜんカンができないよー

まで読んだ

880 :デフォルトの名無しさん:2009/09/11(金) 11:16:00
カン拡張

881 :デフォルトの名無しさん:2009/09/11(金) 13:03:44
ポン

882 :デフォルトの名無しさん:2009/09/11(金) 13:07:47
解の上限と下限を計算したら一致したので、
両方組み合わせちゃえ 

双対

883 :デフォルトの名無しさん:2009/09/11(金) 22:16:19
eval と apply なんて双対じゃね

884 :デフォルトの名無しさん:2009/09/11(金) 22:35:20
p = プログラム
d = データ
p,d ∈ s式
(p d) ∈s式 
(d p) ∈s式

これだけではs式の評価について双対性が成り立つってことにはならんの?

> ((lambda (x) (car x)) '(cdr x))
cdr
> ((lambda (x) (cdr x)) '(car x))
(x)
>

885 :デフォルトの名無しさん:2009/09/11(金) 23:08:59
まずs式を台集合とする体を定義して貰おうか

886 :デフォルトの名無しさん:2009/09/11(金) 23:14:53
 ヽ('A`)ノ
  (  )
  ノω|


887 :デフォルトの名無しさん:2009/09/11(金) 23:17:05
λ < 私の体が目当てだったのね!

888 :デフォルトの名無しさん:2009/09/11(金) 23:26:58
field < この泥棒猫っ!

889 :デフォルトの名無しさん:2009/09/11(金) 23:31:54
中途半端に横槍ですが。
>>858
それをさらりと言ってのけるあなたはすさまじいですよ。
さも簡単に割り切れる(作れる。ではなく)かのように言ってますが、
それは普通出来ないです。

結局調和できないものは、異端として切られるだけなので、
さも調和しているかのようなものを作り出さないことには、
意味無いんですよね。重々承知してはいるのですけどね。

890 :デフォルトの名無しさん:2009/09/11(金) 23:35:13
>>876
アーベル群の双対に限定する理由なんてNothingだろ。
(アーベル群の双対) ∈ (ポントリャーギン双対)
なんだから。
しかもポントリャーギン双対だけじゃなくGrothendieck dualityで考えてもなんら問題は無い。

891 :デフォルトの名無しさん:2009/09/11(金) 23:47:08
>>858が実証バカの論法なら、Grothendieckは抽象バカの論法。
どっちで逝くにしても手を動かさないことには唯の空想否定厨で終わってしまう。
たぶん>>858が言いたかったのはこっちの方。

892 :デフォルトの名無しさん:2009/09/11(金) 23:51:22
>>890
eqはなくequalしかない純Lispだとしても、いい構造は思いつかないね。

893 :デフォルトの名無しさん:2009/09/12(土) 01:52:04
>>889
むしろ本心としては利己的な目的で無意味(対外的に影響が無い)な知的発展は大賛成。
色々と抽象的な構造こねくり回して、頭の中だけで作っては発見してっていうのも、身震いするほど楽しいしね。
ただ、世の中に自分以上(或は違う方向)の頭の中があることを知っちゃうと、今まで以上の身震いがあるわけよ。

蛙が大海にいる魚に話しかけたとき、彼らが数式とか無数の括弧で会話してたらどうする?
なかには200km/hで泳いだり、とんでもない深さまで潜る化け物がいるわけだ。

894 :デフォルトの名無しさん:2009/09/12(土) 02:11:27
>>874 >>890
テメェラ自分の言ってることの意味わかって口聞いてんのか。知ったかもたいがいにせい。


895 :デフォルトの名無しさん:2009/09/12(土) 02:23:01
だいぶスレ違いだねえ。

一般的に双対を扱いたいなら、
理論内部での定理でなく、理論に対するメタ定理とすることが必要でしょう。
つまり公理系の性質に関する証明。

それとは別に、
線型空間の双対空間などいわゆる理論内部でのことなら、
構成的数学で扱える範囲ならOKではないでしょうか。
特にWKL_0あたりで算術化できるならかなりできると思う。

逆数学関連や
竹内外史先生が岩波(数学会)から出していた本など参考にされてはどうでしょう。

896 :デフォルトの名無しさん:2009/09/12(土) 02:25:14
>>894
gapやPARI/gpやMacaulay2が持ってる機能とLisp/Schemeを比較してS式に何が欠けてるか指摘してますが何か?

897 :デフォルトの名無しさん:2009/09/12(土) 03:01:45
>>895
一般的に双対を扱うためにGrothendieckがとったアプローチは理論内部での定理でなく、
理論を抽象化するメタ定理の証明に使用する圏と射を導入したんだよね。
それによって公理系の性質に関するメタな証明をEGAやSGAで実行したのは有名だよね。
これは、無限2分木がかならず無限の道をもつという弱ケーニヒの補題を公理に加えた体系WKL_0となり
Lisp/Schemeでは欠けている言語的特長を付加することを意味する。
例えるならフェルマーの定理の証明でワイルズがやったようなS式版のコホモロジーと指標の対応をつけてやることに相当する。
それが上で言ったメタ定理に使用する圏と射を一段下のレベルで実行することで、
Grothendieck流ならもう一段抽象レベルでプログラム出来なければいけないことになる。

それと別に線型空間の双対空間やアーベル群の双対などのポントリャーギン双対との類似物はもっと単純で、
それらの双対性用のライブラリーを作成する単純作業で、それをS式で考えるなら、マクロ生成マクロを用意するのが一つの手段。
グレブナー基底を取り替えるような感じだね。
証明するなら枠外にはみ出すけど結果を使うだけなら、それらはLisp/Schemeを言語的にはなんら拡張するような話ではない。

898 :デフォルトの名無しさん:2009/09/12(土) 03:17:48
「イデアル類群を一般化したもの」に相当するセルマー群とかヘッケ加群のレベルとアーベル群を比較すると、
言語を拡張するのに要する複雑さは段違いだよ。

899 :デフォルトの名無しさん:2009/09/12(土) 03:23:08
>>897
有名だとか言われましても代数幾何はわかりません、
また、例えもさっぱり見当がつきません。

ところで算術的に「表現」できる小さな圏なら、Lisp/Schemeで間に合いませんか?

900 :デフォルトの名無しさん:2009/09/12(土) 03:29:53
いまどき代数幾何も知らない無知無学の輩は首釣ったほうがいいよ

901 :デフォルトの名無しさん:2009/09/12(土) 03:36:19
>>900
s/も知らない無知無学の/なんかを学んでいる/

こっちの方がしっくりくるな。

902 :デフォルトの名無しさん:2009/09/12(土) 03:38:48
知の欺瞞ごっこはもう終わりにした方がいいと思う。
悪いけど>>897は言語のサラダ状態

903 :デフォルトの名無しさん:2009/09/12(土) 03:45:13
まるでわからないから俺がバカなのかと勘違いするところだった。危ない危ない。

904 :デフォルトの名無しさん:2009/09/12(土) 03:48:58
数学としては証明されないしプログラムとしては動かない。
この議論、まるで新入生の会話だな。

905 :デフォルトの名無しさん:2009/09/12(土) 03:50:31
あの手の長文は読まないようにしているので読んでない

906 :デフォルトの名無しさん:2009/09/12(土) 03:54:54
一階述語論理ではないWKL_0のプログラミング言語なんて存在するの?

907 :デフォルトの名無しさん:2009/09/12(土) 03:56:09
>>902
>>897は専門的すぎて、数学科ではない俺はわからん。
ただ、内容の意味がわからないからと言って>>902のように知の欺瞞と
短絡的に決め付けるのは怠惰すぎる。

908 :デフォルトの名無しさん:2009/09/12(土) 03:57:20
双対にロマン持ちすぎだよな。
そもそもデータと命令なんて双対でもなんでもない。

どこかのお話で読んだだけだけど、
スキーム導入は開集合を増やしてよいコホモロジーを成立させるためだそうだ。

909 :デフォルトの名無しさん:2009/09/12(土) 04:02:55
>そもそもデータと命令なんて双対でもなんでもない。

それじゃ関数型の立場がないだろw

910 :デフォルトの名無しさん:2009/09/12(土) 04:10:55
>>906
型付きラムダ計算の背後にある数学的理論として、圏論的セマンティクスは古くから知られた基本的な理論である。
実際、両者はある意味等価であり、そのことからいろいろな結果が得られる。
しかし、このときの等価性はラムダ計算における計算規則を等式として見たときのものである。
最近の研究では計算規則を動的、すなわち操作的にとらえたときにも、カテゴリカルセマンティクスとの等価性が成り立っているのではないかと考えられている。
その検証の流れでいろいろ発表されてきているけど一般的なプログラミング言語では無いと思う。

911 :デフォルトの名無しさん:2009/09/12(土) 04:11:34
>>909
双対っていうためには、双対定理が成り立たないとだめじゃないか?

912 :デフォルトの名無しさん:2009/09/12(土) 04:14:11
>>911
>>910に書いた。まだ証明されて無いけど見込みが高いらしい。

913 :デフォルトの名無しさん:2009/09/12(土) 04:27:35
閑散としている情報学板にこんなスレがあったよ。
http://science6.2ch.net/test/read.cgi/informatics/1165506353/

914 :デフォルトの名無しさん:2009/09/12(土) 04:42:24
>>913
懐かしいスレだな。まだあったのか。
そのスレみてふと思ったけど、Barendregtに出てくる二階のラムダ計算に対応するLispやSchemeってあるのかな?

915 :902:2009/09/12(土) 04:49:31
>>907
このスレのたいていの住人とは違って俺は趣味でlispで遊んでるだけの数学屋です。
だから>>897に書いてある数学用語のちゃんとした定義・意味は基本的に全部知っているし、
ほとんどのセンテンスが意味をなしてないこともわかる。(悲しいことだが)

916 :895:2009/09/12(土) 05:11:30
>>915
そうだったんですか、基礎論側しか分からないので判断は保留してましたが。


917 :デフォルトの名無しさん:2009/09/12(土) 06:17:47
>>910すら知らない>>915も知ったかぶりにしか思えないがw

918 :デフォルトの名無しさん:2009/09/12(土) 06:36:30
たわごとに乗って貰えなかったアホがムキになっているようにしか思えん

919 :デフォルトの名無しさん:2009/09/12(土) 06:42:02
>>897みたいなもんが関係するわけがないことは
計算機科学を真面目にやってりゃ一目だろ

920 :デフォルトの名無しさん:2009/09/12(土) 06:49:27
俺が言ってるのは>>897>>915も知ったかぶりって事さ。
なんでそんなに必死なのw

921 :デフォルトの名無しさん:2009/09/12(土) 06:53:47
痛いとこつかれて必死なんだろ。
「ボク、数学プロパーです」って宣言するかよ普通。

922 :デフォルトの名無しさん:2009/09/12(土) 06:58:38
>>921
専門分野を言わずに「数学屋です」はヘンだね。

923 :デフォルトの名無しさん:2009/09/12(土) 07:00:27
猫が得意げに虫をくわえてくるようなもんだ
虫ならまだよくて虫の脚だけw
面白いコードの一つでも書いてあればつき合ってやってもいいんだけどね

924 :デフォルトの名無しさん:2009/09/12(土) 07:06:16
>>923
どうせ数学科の崩れだろ。
プログラミングも知ったかぶりかw

925 :デフォルトの名無しさん:2009/09/12(土) 07:10:45
これぐらいの煽りで>>923の書き込みする様じゃ精神年齢はかなり幼いねw

926 :デフォルトの名無しさん:2009/09/12(土) 07:20:28
自覚のないソーカルのネタ本になってるのも夢見がちな文章載っけてることが多いし
引っかかるのも何にでも口を出すアルファブロガー様予備軍か何かだろ

927 :デフォルトの名無しさん:2009/09/12(土) 07:48:15
      お前ら黙って音楽聴けよ
         /\___/ヽ
        /''''''   '''''':::::::\
       . |(●),   、(●)、.:| +
       |   ,,ノ(p_q)ヽ、,, .::::|
     .   |   `ト|ェェ|イ ' .::::::::| +
         \   `|ニ|´  .:::::/     +
        /`'ー┼ー|-‐一'´\
       /    |   |   ::::i ヽ
       |  |   |  .|  :::;;l  |
   ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄
         _ノ___ノ
        (       _
         ヽ__     /◎/
           )  /ロ/
           (___ノ ̄


928 :デフォルトの名無しさん:2009/09/12(土) 08:36:45
で、この話題は今月中くらいにはもう少し Lisp っぽい内容になるの?

929 :884:2009/09/12(土) 09:04:10
>>858に数式、コードで示すべきと言われたので考えていたことを書いた。
書きながら思っていたことはLispのプログラムはevalできなきゃだめなので
S式のうち (f x1 x2 ... xn) のものに限定しないといけないこと。
だから p(d), d(p) がS式になったといってもevalできないS式が出てくる
ようじゃ双対性とはいわんのだろうなあ、と思っていた。

ベクトルはすべて線形関数に成り得るけど、S式はそのすべてがevalの対象に
なるわけではないから違うんだろうと思う。


930 :デフォルトの名無しさん:2009/09/12(土) 11:42:46
代数専攻で数学科卒のあたくしにも意味が通らないから
デタラメ書いてるだけだと思う

931 :デフォルトの名無しさん:2009/09/12(土) 21:50:02
師匠:おいチミチミ、新しい論文書いたから読んでおくように。
   「りすぷ」という仮想の言語についての論文だ。
弟子:ハイ分かりました

<一週間後・・・>

弟子:師匠、論文を読みました。
   ちょっと思ったんですが、この eval という関数を作ってしまえば、
   「りすぷ」は実装できるんじゃないでしょうか?
師匠:チミチミ、理論と実際を混同しちゃイカンよw

<さらに一週間後・・・>

弟子:師匠、eval できました。「りすぷ」完成ですノシ
師匠:ちょwwwwwwwwww

Lisp もこんな経緯で生まれたからなw

932 :デフォルトの名無しさん:2009/09/12(土) 21:56:22
一方ソ連は鉛筆を使った。


933 :デフォルトの名無しさん:2009/09/12(土) 22:49:07
新しい論文書いた → 論文を読みました → 完成です

ってどんな経緯だよ
全然わかんねーよ

934 :デフォルトの名無しさん:2009/09/12(土) 22:51:10
ISWIMとか、FPとか、Connection Machine Lispとか、
論文書いたときは処理系が存在しない言語の論文でしょ?

935 :デフォルトの名無しさん:2009/09/12(土) 23:22:17
ウォーターフォール・モデルの問題点は、『前工程に間違いがない』ことを前提または
期待していることである。まで読んだ

936 :デフォルトの名無しさん:2009/09/13(日) 00:13:10
2chに欲しいソフトの妄想を書いた → ちょっと待ちな → おう、出来たぜ

みたいな感じか。

937 :デフォルトの名無しさん:2009/09/13(日) 00:16:54
>>931
ttp://wbb.forum.impressrd.jp/feature/20071212/515?page=0%2C1
微妙に違うっぽい

938 :デフォルトの名無しさん:2009/09/13(日) 00:27:33
ttp://slashdot.jp/askslashdot/comments.pl?sid=438876&cid=1513615
もうちょっと一次情報に近い情報

939 :デフォルトの名無しさん:2009/09/13(日) 00:29:14
Lisp の壮大な研究史を眺めるといつも自分が書いているコードの卑小さが悲しくなる
いったい僕に Lisp みたいな大それた言語が必要なんだろうか

940 :デフォルトの名無しさん:2009/09/13(日) 10:08:03
コンピューター全体の研究史はそれどころじゃないぜ?
工学はアホの子にも科学の恩恵をもたらすためのものだ。
遠慮なく使ってやれ。

941 :デフォルトの名無しさん:2009/09/13(日) 17:12:02
「数学の限界」のチャイティンの作ったLispには
tryという関数があり
(try time-limit lisp-expression)
実行時間が限られたevalだそうだ。(時間がくれば計算は停止する)
普通のLispでtryを書けるだろうか?
Ctrl+Cで強制終了するのは無しってことで。

942 :デフォルトの名無しさん:2009/09/13(日) 17:16:48
SIGALRMか何かを使えるようになってれば作れると思うけど

943 :デフォルトの名無しさん:2009/09/13(日) 17:29:33
理論上、という意味であれば、
とりあえず巨大なevalをLispで実装してそののちに
コアオペレータを1つ実行するごとにカウンタを増やす(or可能なら
時間測定をする)ということで可能かな?

教えてエロイ人

944 :デフォルトの名無しさん:2009/09/13(日) 18:02:08
>>943
そうだよね。
同じように考えたのだけど、Lispの達人ともなると
違う方法でできるのかも、と考えたもので。

945 :デフォルトの名無しさん:2009/09/13(日) 18:09:15
I/Oなんかでいやおうなくブロックされる呼び出しもあるわけで、
典型的なLisp族の枠内では無理でしょ

946 :デフォルトの名無しさん:2009/09/13(日) 19:35:23
参考まで。
http://wikiwiki.jp/hpa/?%A5%B8%A5%A7%A5%F3%A5%AB%A1%A6%A5%B3%A5%EF%A5%EB%A5%B9%A5%AE%A1%BC

947 :デフォルトの名無しさん:2009/09/13(日) 20:55:56
このスレで無知な工作員の匂いがするな。


948 :デフォルトの名無しさん:2009/09/13(日) 21:01:23
ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん
んはぁっ!ルイズ・フランソワーズたんの桃色ブロンドの髪をクンカクンカしたいお!クンカクンカ!あぁあ!!
間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!
小説12巻のルイズたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
アニメ2期放送されて良かったねルイズたん!あぁあああああ!かわいい!ルイズたん!かわいい!あっああぁああ!
コミック2巻も発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
ぐあああああああああああ!!!コミックなんて現実じゃない!!!!あ…小説もアニメもよく考えたら…
ル イ ズ ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!ハルケギニアぁああああ!!
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵のルイズちゃんが僕を見てる?
表紙絵のルイズちゃんが僕を見てるぞ!ルイズちゃんが僕を見てるぞ!挿絵のルイズちゃんが僕を見てるぞ!!
アニメのルイズちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
いやっほぉおおおおおおお!!!僕にはルイズちゃんがいる!!やったよケティ!!ひとりでできるもん!!!
あ、コミックのルイズちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
あっあんああっああんあアン様ぁあ!!シ、シエスター!!アンリエッタぁああああああ!!!タバサァぁあああ!!
ううっうぅうう!!俺の想いよルイズへ届け!!ハルケギニアのルイズへ届け!

>>947

949 :デフォルトの名無しさん:2009/09/13(日) 21:29:58
煽りのつもりなんだろうけどこういう変態的なテキストを手元に置いてあると言う事が気持ち悪くならんのかと思う


950 :デフォルトの名無しさん:2009/09/13(日) 21:30:50
何が面白いのか、どういう煽りなのかさっぱりわからんw

951 :デフォルトの名無しさん:2009/09/13(日) 21:52:48
せめてLisp向けに改変するべきだ!w

952 :デフォルトの名無しさん:2009/09/13(日) 22:24:21
まるで新手の難読系言語の如し

953 :デフォルトの名無しさん:2009/09/13(日) 22:27:09
>>941
枕元にちょうどその本があったから読み返してみようかと思ったけど
ググったらそもそも Mathematica 版の実装が公開されてた
ttp://www.umcs.maine.edu/~chaitin/lisp.m
Mathematica が読めないんだけど、どうも >>943 の言っているような方式なのかな。
というかこの本ってオンラインで全部読めるのか
ttp://www.umcs.maine.edu/~chaitin/lm.html
何だか日本語訳よりも原文の方がわかりやすいような……

954 :デフォルトの名無しさん:2009/09/13(日) 22:37:40
Lisp少佐コピペ 並に改変してほしいな
ルイズは Guy L. Steele Jr. にでもすべきか
Lewis だし

955 :デフォルトの名無しさん:2009/09/13(日) 22:50:16
>>953

HPにCで書かれた独自拡張Lispがあった。
Borland C++で動いた。try関数の第3引数がなんとも独特。

そうなんだ。オンラインで読めるんだけど黒川さんの訳は
好きなんで3150円、ま、いっかな。その辺で一杯飲んだと思ったら安いもの。

956 :デフォルトの名無しさん:2009/09/13(日) 22:53:13
クンカをnconc
モフをmap
って感じか?w

957 :デフォルトの名無しさん:2009/09/13(日) 22:59:53
うちの Mac OS X でも lisp.c のコンパイルが出来た
これも 1,000 行以下の Lisp インタープリタだね

958 :デフォルトの名無しさん:2009/09/14(月) 00:29:09
> そもそも、日本では、SICPなんて古典を未だに有り難がって神格化し、
> そのせいか若い人の勉強会でも未だに人気が衰えていないという不思議な
> 現象がある。こんなの世界広しと言えどもあまり他の国では見たことが
> ない。ここでもガラパゴス化しているんだよな。
http://kashino.tumblr.com/post/186793436/technical-requirements-special-software-is

959 :デフォルトの名無しさん:2009/09/14(月) 00:32:12
そんなことより Lisp の話しよーぜ

960 :デフォルトの名無しさん:2009/09/14(月) 00:42:28
ガラパゴス化賛成。鎖国賛成。

961 :デフォルトの名無しさん:2009/09/14(月) 00:47:36
>>960
そんなこと言ってると割り込みベースの言語とかが生まれちゃうぞ(割り込みの概念の持ち込みが実は日本発だとしってびっくり中)


962 :デフォルトの名無しさん:2009/09/14(月) 00:48:11
>>958
「ガラパゴス化」って言いたい病を治さないとな。

963 :デフォルトの名無しさん:2009/09/14(月) 00:48:46
「もうひとつのScheme入門」見てちょっと触ってみようかとDrScheme入れてみた。
http://www.shido.info/lisp/scheme3.html
の段階で (cons 1 2) したら
> cons: second argument must be of type <list>, given 1 and 2
と言われる。原因は「言語」をHow to Design Programsに
設定してたせいみたいなんだけど(Essencials...なら通る)
How to ... で cons を通す(第二引数をリストにする)にはどう書いたらいいの?

964 :デフォルトの名無しさん:2009/09/14(月) 00:56:23
SICP に書いてある内容なんて
職業プログラマなら一般教養として学生時代に勉強してるべきことだし
今更読書会で読む必要もないよね
とか言ってみる

965 :デフォルトの名無しさん:2009/09/14(月) 00:56:28
仕様じゃね
http://docs.plt-scheme.org/htdp-langs/beginner-prim-ops.html#(def._((lib._lang/htdp-beginner..ss)._cons))

966 :デフォルトの名無しさん:2009/09/14(月) 00:57:35
ごめん、自己解決。
http://docs.plt-scheme.org/drscheme/htdp-langs.html
"Beginning Student with List Abbreviations" を選んで
(cons 1 (list 2)) が通った。

967 :デフォルトの名無しさん:2009/09/14(月) 01:00:13
>>965
そこが学生モードのリファレンスなんだね。今度からそこに当たるわ。

968 :デフォルトの名無しさん:2009/09/14(月) 01:07:44
HtDP の言語だと cons の第二引数はリストしか取れないようにしてあるみたいね
PLT Scheme のデフォルト言語だと set-car! とかできないのと似たような話かな

969 :デフォルトの名無しさん:2009/09/14(月) 01:16:09
>>963
普通のScheme言語(R5RSとか)でやるのが何故気に入らないのか理解できません。
例えるなら「JavaのプログラムがなぜC++で動かないのか」とか言ってるようなもので、答えるのに困ります。
言語が違うので通りませんとしか答えようがないですね。そのかわり普通のSchemeと違って
(cons 1 empty)
は通ります。

970 :デフォルトの名無しさん:2009/09/14(月) 01:36:38
>>969
いやいや、気に入らないなんて言ったつもりはないよ。
今は「もうひとつの」を進めるつもりで、そのためには「普通の」を使う必要があるし
むしろ、なぜこんなものがあるのかわからなかった。
でも書き方をそのように制限/変更することが初学者の学習に役立つと
HtDPの設計者が考えたことは推測できて、その理由が気になったとこはある。
なにせまだ右も左もわからないので・・・

971 :デフォルトの名無しさん:2009/09/14(月) 01:48:49
>HtDPの設計者が考えたことは推測できて、その理由が気になったとこはある。

ならHtDPを読むんだね。オンラインで読めるし。
http://www.htdp.org/

「もうひとつの」を読むのにHtDPの設計者が何か関係してるのかな?質問の意図が全く不明です。

972 :デフォルトの名無しさん:2009/09/14(月) 08:30:53
>>970
君の最初の質問が、
「HtDPとはどういうものなのでしょうか?」
なら、まだ分かるんだが…


973 :デフォルトの名無しさん:2009/09/14(月) 13:17:01
>>970
右も左もわからなくても、「普通の」がある、という意味で「前」方向はわかってたんでしょ
それが HtDP じゃないっていうのもわかってるみたいなのに、なんで横に逸れて行くんだ

974 :デフォルトの名無しさん:2009/09/14(月) 14:58:13
RMS!RMS!RMS!RMSぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!RMSRMSRMSぅううぁわぁああああ!!!
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん
んはぁっ!RMSたんの桃色の足の皮をクンカクンカしたいお!クンカクンカ!あぁあ!!
間違えた!モフモフしたいお!モフモフ!モフモフ!皮皮モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!
emacs21のRMSたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
emacs23リーリースれて良かったねRMSたん!あぁあああああ!かわいい!RMSたん!かわいい!あっああぁああ!
emacsがUTFされて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
ぐあああああああああああ!!!vimなんて現実じゃない!!!!あ…emacsもよく考えたら…
R M Sち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!C-g C-gぁああああ!!
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵のRMSちゃんが僕を見てる?
表紙絵のRMSちゃんが僕を見てるぞ!RMSちゃんが僕を見てるぞ!挿絵のRMSちゃんが僕を見てるぞ!!
M-x doctorのRMSちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
いやっほぉおおおおおおお!!!僕にはRMSちゃんがいる!!やったよケティ!!ひとりでできるもん!!!
あ、M-x doctorのRMSちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
あっあんああっああんあアン様ぁあ!!シ、シエスター!!アンリエッタぁああああああ!!!タバサァぁあああ!!
ううっうぅうう!!俺の想いよRMSへ届け!!ハルケギニアのRMSへ届け!

975 :デフォルトの名無しさん:2009/09/14(月) 15:10:23
>>974
中途半端だな。
ハルケギニアのRMSって何だよ

976 :デフォルトの名無しさん:2009/09/14(月) 15:13:51
能が足りないんだからほっとけ


977 :デフォルトの名無しさん:2009/09/14(月) 15:55:31
M-x doctor の RMS はちょっと笑った
FSF の所在に合わせるとボストンの RMS かな
あとは RMS 以外の名前か

978 :デフォルトの名無しさん:2009/09/14(月) 18:16:59
>>974はチューリングテストか?
コンピュータープログラムが統合失調症患者を装って
文字列を生成させている?


979 :デフォルトの名無しさん:2009/09/14(月) 18:34:28
"SICP"ってScheme流で書くと"SICK?(病気?)"ってことなんだな。

980 :デフォルトの名無しさん:2009/09/14(月) 18:37:08
SICP = Structure and Interpretation of Computer Programs

最後の "P" は -predicate の意味ではないので、 "?" とはならない。

981 :デフォルトの名無しさん:2009/09/14(月) 19:17:21
lispでは「〜であるか?」はpで表します。
従って、"lisp"自身が"list?(リストですか?)"を意味しています。

982 :デフォルトの名無しさん:2009/09/14(月) 19:22:14
>>981
>>980

983 :デフォルトの名無しさん:2009/09/14(月) 19:22:52
>>981
  <⌒/ヽ-、___  はいはいわろすわろす
/<_/____/


984 :デフォルトの名無しさん:2009/09/14(月) 19:27:22
>>981
IMHO, ROFLMAO<3

985 :デフォルトの名無しさん:2009/09/14(月) 22:41:20
> ROFLMAO<3
くわしく

986 :デフォルトの名無しさん:2009/09/14(月) 22:53:28
>>893
またさらりと一番恐ろしい書込みをされる。

一生飽きないゲームが存在している、未知なるゲームの対戦相手が無数に
湧いて出てくるという事実は、自分にとっては、何事にも代えがたい事実
であることは確かです。
やっぱり、途中で飽きてしまうようなものはダメですよ。


987 :986:2009/09/14(月) 23:03:00
読み返してみたら、厨房くさい。まだまだやれることいっぱいあるのね。

988 :デフォルトの名無しさん:2009/09/14(月) 23:40:40
馬鹿をやって評価される者とただの馬鹿とは
小学校あたりですでに分かれている

高校から大学にかけては仕上げの段階で
馬鹿をやってる暇はない

989 :デフォルトの名無しさん:2009/09/14(月) 23:47:50
昔はオッサンばかりのスレだった気がするけど、
今は学生さんしか居ないスレなのね。

990 :デフォルトの名無しさん:2009/09/15(火) 00:26:19
昔は東大生が居たぞ。

991 :デフォルトの名無しさん:2009/09/15(火) 01:29:28
ホント学生だけなんだな…

992 :デフォルトの名無しさん:2009/09/15(火) 01:44:51
黒板の前に座るのは学生と決まってるわけでして…

993 :デフォルトの名無しさん:2009/09/15(火) 02:24:21
On Lisp に続いて、 ANSI Common Lisp Reference Book を翻訳してくれる学生さん募集、とか

994 :デフォルトの名無しさん:2009/09/15(火) 02:41:07
規制で次スレ立てられなかった。

※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※

■過去スレ
 Part27: ttp://pc12.2ch.net/test/read.cgi/tech/1248657331/
直前の他は>>2くらいに

■テンプレート置き場
 ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)

995 :デフォルトの名無しさん:2009/09/15(火) 03:05:35
>>989,>>991

(student? 昔の住人)
=> #f

(sick? 昔の住人)
=> #f

(student? 今の住人)
=> #t

(sick? 今の住人)
=> #t

996 :デフォルトの名無しさん:2009/09/15(火) 03:42:04
Zzzz

997 :デフォルトの名無しさん:2009/09/15(火) 03:45:00
NSFW

998 :デフォルトの名無しさん:2009/09/15(火) 03:46:11
WTF

999 :デフォルトの名無しさん:2009/09/15(火) 03:47:19
QQQ

1000 :デフォルトの名無しさん:2009/09/15(火) 03:47:50
OMG

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

237 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)