【入門】Common Lisp その11【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
Lisp Schemeスレでは恥ずかしくて聞けないようなことを質問したり、 Lisp Schemeスレの話題は高度すぎて気後れする人が話しあったり。 それ以外でもCommon Lispについての話題なら歓迎します。 ま、ゆっくりやりましょう。 「いいものの本質は、いかなる時代においても変わらない」byパワーズ ■前スレ 【入門】Common Lisp その10【質問よろず】 http://peace.2ch.net/test/read.cgi/tech/1361341876/ ■Wiki http://wiki.fdiary.net/lisp/ (id:guest pass:cl) http://cl.cddddr.org/ http://tips.lisp-users.org/common-lisp/ >>299 うーん、ちょっと使ってみたいけど、 後からワケが分からなくなりそうで不安 > LLVMベースのCommon Lispコンパイラ「Clasp」の開発チームは11月20日、最新版となる「Clasp 4.0」を公開した。 > Clasp 0.4ではインラインコンパイラの「CClasp」を一新し、最適化機能も強化された。 https://osdn.jp/magazine/15/11/25/161300 0.4 と 4.0 を間違えるなよ大違いだろ llvmはフリーなソフトウェアの敵 みたいなことをハッカー界隈の偉い人が言ってなかったっけ? llvmやjavaなどのgpl教団に狙われやすいcl Schemeはそんなことないのに 単純な質問なのですが、CommonLispにはリードマクロっていう構文解析機を自分で作れるてきな機能がありますが これってなんで廃れたのでしょうか?正直最強の機能だと感じたのですが ただ、触った感じ ・定義しないといけない事が多すぎて、自分好みのカスタマイズが時間がかかる。 ・同じ意味だけど構文解析失敗したら最後に成功したところまで戻ってくれないのでコレジャナイ感がすごい。 ・みんながみんなカスタマイズを好きにやって文化的に統合できなくなった このあたりが問題かなって感じているのですが、実際Lispコミュニティーにいる人たちのご意見が欲しいです。 OnLispとかLet over Lamnbdaとかやりおえてのままの感想なので >>1 RPGツクール2000 , RPGツクールMV https://tkool.jp/mv/ ( JavaScript 採用 ) WOLF RPGエディター http://www.silversecond.com/WolfRPGEditor/ デュエル・マスターズ Android版 ,i-OS版、公式 http://dm.takaratomy.co.jp/extra/dmapp/entrygate_ds/ デュエル・マスターズ対戦CGI ex https://web.archive.org/web/20150809154946/http ://www53.atwiki.jp/dmsuishinparty/pages/314.html デュエル・マスターズ(デュエマ)DM ONLINE 1.8a / VanGuard ONLINE 1.5a https://web.archive.org/web/20150809160254/http ://uhyohyohyo.sak ura.ne.jp/hsp.html ヴァンガード専用ネット対戦ツール【 VanGuard Online 】 https://web.archive.org/web/20150809155032/http ://kiimaa.jugem.jp/?eid=61 「カードファイト!!ヴァンガード」のネット対戦ができる公式オンラインゲーム「Cardfight!! Online」 2015年冬スタート https://web.archive.org/web/20150809153724/http ://supersolenoid.blog63.fc2.com/blog-entry-6886.html 遊戯王 Automatic Dueling System https://web.archive.org/web/20150809164855/http ://www3.atwiki.jp/ads-wiki/pages/20.html 遊戯王 デュエル・オンライン https://web.archive.org/web/20150809171527/http ://www31.atwiki.jp/vipdo/pages/15.html https://web.archive.org/web/20140628005202/http ://do.yugioh-portal.net/ ウィクロス( WIXOSS ) WEBXOSS http://webxoss.com/about_en.html http://webxoss.com/DeckEditor/ BG(ボードゲーム)Engine https://web.archive.org/web/20151209080842/https ://bgengine.net/ https://web.archive.org/web/20151209172205/http ://14owl.hateblo.jp/entry/2015/12/09/011234 アプレンティス マジック:ザ・ギャザリング(MtG)オンライン化 http://homepage1.nifty.com/Q_Q/ap.html https://web.archive.org/web/20151202202725/http ://homepage1.nifty.com/Q_Q/ap.html 【 オンラインTCGエディター 】 >>1 ,>>307 デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。 例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、 当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。 既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。 デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書け。 マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストしろ。 個vs個、多数乱戦、チームvsチーム、個vsチームを実現し、P2P通信対戦プラグイン有り。 設計思想は 《 RPGツクール 》 が良いかな? 他に、優れたエディター有ったら挙げてみろ。 個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。 ↓ エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。 ↓ 遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。 バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。 ↓ 各社TCGを再現するテストプレイ ⇒ 更に改良や修正 + コード記述の仕様書(設計書)を作成。 ↓ 機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ−グ用でサーバー稼動。 ↑ 下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。 さ〜て、インド人ベンダーと日本人の翻訳担当PGを見つけよっと!ww http://wc2014.2ch.net/test/read.cgi/entrance2/1450555747/-20 こないだ出た common lisp recipes の電子版 ttp://www.apress.com/9781484211779 が2月1日までセールだとか(ダイレクトマーケティング) Pypiみたいに誰でもパッケージ登録出来るリポジトリが欲しい >>306 そもそも頻繁に使うようなものでもないし、廃れるという表現は違和感ありますな。 使う人は使っているけど、他人に迷惑をかけるかもしれないので、使用する際は注意して自己責任でやってくれと。 >>309 実用Common Lisp Kindle版も半額だなあ 翔泳社のKindle本が半額セールなんだとか bordeaux-threadsを使って標準出力に"hello" と出力しようとして (bt:make-thread #'(lambda () (sleep 2) (princ "hello"))) としてみたけど、何も出力されなくて、 (bt:make-thread #'(lambda () (sleep 2) (princ "hello" #.*standard-output*))) としたら、出力されました。 どうして*standard-output* で出力できず、 #.*standard-output*を使うと出力されるのでしょうか? *standard-output* がスペシャル変数だから、クロージャに参照を閉じ込められないせい。 スペシャル変数は、いわゆる動的スコープになる。 >>314 なるほどー。そういうことですか。 それで、#.を使うのですね。 ありがとうございます! 実践common lisp みたいな本を書くリスパーが少ないのはなぜなのでしょうか? リスパーは common lisp をあまり広めたくないということなのでしょうか? 実践common lisp みたいな本を買う人が少ないから Lispってちょっと勉強でつつく人は多いがガッツリやる人は少ないからね。 >>318 にわかLisperの存在が一番Lisp族言語のユーザに迷惑なんだよねぇ orz haskelとかjs界隈もそうみたいだけど。 良いも悪いも全部ひっくるめてLisp(あるいは言語X)で何かを作ることがすきな人にとっては大迷惑。 にわかが居ないのなんて、死んだ分野だけだよ。 成果出してればノイズは気にならないが、どんな迷惑が有るの? >>319 山は裾野が広くないと高くはなれんぞ お前は挫折したLisperの屍の上に登れ >>320 scheme派 vs CommonLisp派の罵り合いにpythonとruby好きが横からドロップキックで乱入みたいなblogとかmlとか 黒板人の話とかにわかどうしだけじゃないのが頭痛いと思う 議論の体でそれぞれのメリット/デメリットを天秤に乗せてるだけで、 罵り合いといというわけではないと思うんだが。 ディベートですらない、茶番だろ。 Maximaが使えるcl以上の存在はあるのか? 他言語の数式処理は微妙なのしかない sbcl にて,TCP ソケットを使ってプロセス間通信するライブラリを 使えるようなりました.これによりバイト列までを送ることは出来るようになったのですが, S 式をどうやって送ればよいか分かりません. S 式や lambda 式をバイト列にエンコード(?)する方法などはあるのでしょうか? >>327 S式を丸ごと文字列で投げても良くない? 追加: 最近Webサーバの仕事してるんだけど、JSONとかClojureのリテラル表記(datomicの処理)でやりとりするからS式をバイナリ通信(JSONに対応するならBSON)にする意義が出る場面って凄い少ないんだよね >>328 さんくす. そっか.データのリストなら (format nil ...) で文字列にすればできますね. その線でまずはやってみます. ただ,それだと関数が送れないですね. FUNCTION-LAMBDA-EXPRESSION の出力とかを送るのかな―. 関数は環境がぞろぞろとくっついてるから、シリアライズは容易でない。 動作中のイメージをまるごと移送するのなら出来なくもないと思うけど……、そんなことがやりたいのか? Windows環境でClozure CLのホームディレクトリは%USERPROFILE%なのでEmacsの起動バッチで %USERPROFILE%と%HOME%を独自に設定して起動してSlimeを使うとHyperSpecが引けなくなってしまう 何か回避策無いですかね〜。超不便だわ ChromeじゃなくてIEを標準ブラウザにしたら動いたw browse-url-generic-programでChromeのフルパス指定してやって一見落着じゃ LispよりEmacsのがハードル高いわ 離れすぎているからどこが同じでどこが違うとかいうのはいちいち列挙できへんわ。 Haskell っぽい部分だってそりゃあるだろうし、場合によっては Haskell 風のコードをそのまま持ち込めることだってある。 でも、やっぱり全然違うわ。 Haskellでmaxima以上に便利な数式処理ソフトあります? バッチの中だけでも%USERPROFILE%を変えるのは副作用が大きすぎて駄目じゃ。 全然、一見落着じゃないやんけ orz なぜか関数型ってくくり方でまとめられるときがあるけどまあ全然違うわな。 Windowsでスタンドアローンアプリ化するとコンソールアプリになるけど コンソールウインドウ消す方法はないの? GUI画面のとき邪魔 SBCLにはGUIオプションがあった。 他のには無いっぽいな。 このスレには人が居ないんか? こうなりゃ昔めんどうみた平手の造酒んとこでも行くか 初心者でLisp全然まだ分かってなくて、本を読みながら色々実験しているんだけど、 socketで使ってunicodeのデータをやり取りしようとしたら、どうしても文字化けしちゃって困った。 :external-formatとかいろいろ試したけどダメだった。 結局、flexi-streamsってライブラリ使ったらなんとかなったんだけど、こんなことでも外部のライブラリに頼らないといけないの? それとも僕がアホなだけなのかしら?もっといい方法あるのかな。lispworksがおかしいだけか? でも、プログラミング自体初心者なのにやりたいことは実現できちゃったのはビックリ。 replで実験しながらできるのがいいね。 >>345 文字コードがらみは純粋なdata streamとは別の領域なんで汎用言語全部が持ってる病の一種なのでどもならんのですよ。 slime必須な開発環境がネックかもね まあLispBoxまんま使えば良いけど 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません ; closによるオブジェクト指向を勉強している最中だけど、Javaやc++と違って、プライベートな変数や関数とかないの? そうなると、あまり弄って欲しくない変数とかを弄るような危ないコードとか書けちゃうけど、それはプログラマーの裁量に任されているの? closは実行時になんでも弄れる仕組みになっているので隠してもしょうがない その代わりJavaやC++とは比較にならないほど動的 お勉強するなら遅延バインディングなどに代表される動的さを学ぶのが有益 (定義時に存在しないクラスのスロットをごにょごにょするなど) EmacsにはCLOSエミュのeieioがあるけどそれだとプライベートメンバーが作れる 当然eieioの場合はインスタンスは配列だから無理矢理いじろうとすれば可能だけど うっかり触る事は出来なくなる (slot-valueでアクセス出来なくなるとかsetfで書き込めないとか) >>357 ちゃんと機能してるよ :reader :accessor 経由だとどこでもアクセス出来る それらを定義しないで slot-value 経由でアクセスすると 定義された class 用の defmedhod 内じゃないとエラーになる >>358 は間違えた slot-value 経由でも defmethod 内ならどんな class 用のでもアクセス出来ちゃってた… >>357 のリンク先の通りだった もしかしたら次のバージョンなら直ってるのかもしれない Common Lispの規格を進化させようと日本人が頑張ってるサイトがあった気がしたけど全く見つからない 教えてくれ 身も蓋もないけど コモン規格なんだから 枯れてた方が良いんじゃねーの この機能が足りないって思ったら ライブラリ提供すればいいんだよ 規格を変えるってのは よほど説得力がないと難しい Common Lispのこの関数はこうすべきだったとか色々書いてて面白かったが ふと思い出してまた見たくなったけどググっても全然出てこなくて余計に見たくなってる… もう少し探してみるよ slideshareだったかな… CommonLisp好きだけど未だに関数をfuncallで呼ばないとイケナイ名前空間の扱いだけは理解できない。 なんで分けたんだろうって解説どこかにないかな? >>366 物事をカテゴライズして名前空間分けたいってニーズは別に変じゃない。 そういうの他の言語でもあるよね。 察するに言語設計者自信がその時偶々欲しかったのが入っちゃうんじないかな? 動詞と名詞を兼ねる単語が多すぎる英語にそもそもの問題があるやも list然りmap然り 質問だけどAllegro CLで実行ファイルを作成するとサイズはどれぐらいになる? SBCLだと40MB超えるけどAllegro CLだとどうなるか気になったので よく見たらAllegroで実行ファイルを作成出来るのはEnterprise版以上だった そもそもEnterprise版を使った人がいなさそうだな… それは、「お前ら貧乏人ばかりだな」と言ってるのと同じだな。 >>372 いや、流石にAllegro Enterprise を個人で買うのは滅多居ないだろw つかオンライン販売も小売りもとりあえずsalesへメールからってくらいだし、そもそも買ってる人自体特定業種のプロだけじゃねぇの? 数理システムだと社内で使ってるんじゃないの 中の人はこのスレ見てないか Professionalだと6万ぐらいだから個人でも買えなくもないけど Enterpriseはいくらすんだろ? 数十万はしそうだけど仕事で使うんなら払える額でもあるな >>375 まじ6万?! Lispworksより安いような。 >>376 Professinal版って32ビット版しかないかじゃないか? LispWorksの実行ファイル書き出しは最小で6.5-7.5MBぐらいからみたいだからかなりいいな けど64bit版がfor Hobby Usersとか書いてるくせに$1,500とか高いし… ECL使った事ないけど実行ファイルを作成したら普通にC言語で作ったぐらいのサイズになるんだろうね あと似たようなのにClaspがあるけど埋め込みするには今後はこっちが主流になるかな Common Lispの処理系がわざとバグを入れてmaximaが動かなくなるように仕向けてるようなのを見つけたのだけど Abclとclispはgnome3と同じ状態になってる? maximaは主に古い仕様のcommonlispで動く 処理系が古い仕様のサポートをやめることをmaxima切り捨ての陰謀とするなら そうなんじゃないの maximaが合せるのが筋だろ 互換性を保てないならcommonなんて名乗らないでほしい sourceforgeが死んでてMaximaのサイトにアクセス出来んぞ… SBCLのサイトにもアクセス出来ないしCL界隈はsourceforgeに依存してるとこが多いな フリーソフト作る目的でAllegro CLのAcademic版のEnterprise版買った方いませんか? 非商用目的で64bit版の実行ファイルを作れるとなると、Enterprise版でAcademic版を買うのがよいのかなと。 (そもそも、条件にマッチしてるかわかってないですが) Academic版ならEnterpriseでも意外にお手頃価格で買えたりしないかな? そういえば、Allegro CLの日本代理店って撤退したんですかね? HPが消えてるのか、アクセスできないですね。 >>388 Allegroはなぁ、ネタに値段書いていない銀座の寿司屋のイメージが 何千桁もあるbignumを適当な所に小数点を打ったり10桁毎にスペースを入れたり 100桁毎に改行して表示したいけど、formatでやる方法があったら教えてくれ >> 390 ない. 調べるよりプログラム書いた方がはやい.loopマクロで5行位で書ける. どうしてもformatつかうなら自分で書いてformatの~/で呼べば? >>390 (format t "~,,' ,10:D" 222232244629420445529739893461909967206666939096499764990979600) 222 2322446294 2044552973 9893461909 9672066669 3909649976 4990979600 > 2.3.1 ~D ― Decimal > arg の消費: 1個 > パラメータ: ~ mincol , padchar , commachar , comma-interval D (中略) > ` : ’ で修飾すると,下から comma-interval 桁ごとに commachar で指定された文字で数字を区切る ( comma-interval のデフォルトは3, commachar のデフォルトは ` , ’ ) . http://super.para.media.kyoto-u.ac.jp/ ~tasuku/format-func.html 上の例だと commachar は空白、comma-interval は 10、他のパラメータは無し 文字をパラメータにする場合その文字の頭に単引用符 ' を付けて表す 改行もOK (format t "~,,' ,1:D" 123) 1 2 3 返答どうも! >>391 formatのドキュメント見ても無さそうだったから聞いてみたけど、やっぱりないんだね… 素直にloopでやることにする >>392 そうか、カンマをスペースにすれば10桁区切りは出来るのか 100桁目を改行に出来れば最高だが、あまり大きくないbignumならこれで十分か とりあえずありがとう 学習用にC++で書いた楕円曲線暗号のデバッグの時にBignum何度も目視したの思い出してちと鬱が入るなぁ 日本人コモンリスパーで有名な人って誰? 竹内センセーと苫米地ハカセ以外で! 竹内センセーと苫米地ハカセは国際コモンリスパーとしての認知度は低いヨ もちろんtakの竹内センセーは知られているけどコモンリスパーじゃないネ トマベチ? ダレ? fukamachi ,kuroda は広く知られているヨ 何がまずいのかわからん。 誰か教えて。 (defun f (x) (* 2 x)) (defun g (y z) (y z)) (g f 3) *** - SYSTEM::READ-EVAL-PRINT: variable F has no value The following restarts are available: USE-VALUE :R1 Input a value to be used instead of F. STORE-VALUE :R2 Input a new value for F. ABORT :R3 Abort main loop >>398 (defun f (x) (* 2 x)) (defun g (y z) (funcall y z)) (g #’f 3) 6 Ref. http://www.asahi-net.or.jp/ ~kc7k-nd/onlispjhtml/functions.html ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる