Lisp Schemeスレでは恥ずかしくて聞けないようなことを質問したり、
Lisp Schemeスレの話題は高度すぎて気後れする人が話しあったり。
それ以外でもCommon Lispについての話題なら歓迎します。
ま、ゆっくりやりましょう。
「いいものの本質は、いかなる時代においても変わらない」byパワーズ
■前スレ
【入門】Common Lisp その11【質問よろず】
https://mevius.5ch.net/test/read.cgi/tech/1411307361/
【入門】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/
【入門】Common Lisp その12【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
2021/06/29(火) 12:35:01.10ID:aO3q0Gho
2021/06/29(火) 15:53:22.47ID:jgdHCqsM
>>3
データを書いてください
データを書いてください
2021/06/29(火) 16:40:02.63ID:aO3q0Gho
コードを書くコードを書きます
2021/06/29(火) 22:07:20.07ID:vAeooDjH
2021/07/02(金) 22:43:08.42ID:VlYkPpmP
関数の定義をREPLから呼び出すことはできないのかな?
つまりソースを返すということだけど
それともコンパイルされてバイナリが保持されるからそういう機能はそもそも無い?
つまりソースを返すということだけど
それともコンパイルされてバイナリが保持されるからそういう機能はそもそも無い?
2021/07/03(土) 03:15:19.11ID:5m5WWun6
できるシステムとできないシステムがあるよ
function-lambda-expressionがあるよ
できないシステムでも簡単に定義できるよ
やり方は教えないよ
function-lambda-expressionがあるよ
できないシステムでも簡単に定義できるよ
やり方は教えないよ
2021/07/03(土) 12:05:36.41ID:GyqXK2AC
できらぁ!
10デフォルトの名無しさん
2021/07/03(土) 12:21:12.15ID:L8iSoH00 教えないんじゃなくて知らないだけだろ
2021/07/03(土) 23:53:55.51ID:SsVGoP7c
普通にtagsファイル作ってるけど
;.init-common.lisp
(declaim (optimize (speed 0) (safety 3) (debug 3)))
(setf (fdefinition 'f2lam) (function fun...))
etc
;sbcl
(compile 'fdes);⇒FDES(副作用として定義置き換え、のはず)
(f2lam (fun fdes))
;defunされた時 (LAMBDA ..., T, FDES
;組み込み NIL, T CAR
こんな感じだったかと
安全取ってるからかもだけど
;.init-common.lisp
(declaim (optimize (speed 0) (safety 3) (debug 3)))
(setf (fdefinition 'f2lam) (function fun...))
etc
;sbcl
(compile 'fdes);⇒FDES(副作用として定義置き換え、のはず)
(f2lam (fun fdes))
;defunされた時 (LAMBDA ..., T, FDES
;組み込み NIL, T CAR
こんな感じだったかと
安全取ってるからかもだけど
2021/07/04(日) 00:01:20.66ID:B+AVCUuE
init読まないでイメージ固めようとするとよくコケるのはご愛嬌
処理系のディレクトリに普通はソースあるはずだから、検索コマンドに指定しておくとよい(vimなら:find funでソースが開く)
処理系のディレクトリに普通はソースあるはずだから、検索コマンドに指定しておくとよい(vimなら:find funでソースが開く)
2021/07/04(日) 00:08:40.22ID:B+AVCUuE
S式を実行時にフォームとして使いたいなら、クオートした状態で持っておいて、適宜functionでクロージャ化して使おう
replに居るときはぜひ欲しいから、fdefinition, function, macro-functionなんかでぜひ短くしておきたい子
replに居るときはぜひ欲しいから、fdefinition, function, macro-functionなんかでぜひ短くしておきたい子
2021/07/04(日) 00:27:46.75ID:S8kjsPD9
&wholeを掠め取ってdefunに渡すだけのdefun*でも定義しておけばコンパイル方式がminimumでもfurtherでも大丈夫だろう
plistにでもしまっておこう
symbol-functionにdefunがsetしてくれるし普通に呼べる
plistにでもしまっておこう
symbol-functionにdefunがsetしてくれるし普通に呼べる
2021/07/04(日) 01:15:15.63ID:B+AVCUuE
sbclはランタイムある限りdescribeでソースの場所吐くね
#P"SYS:SRC;CODE;LIST.LISP"
のように
処理系、サード、自前でも任意のオブジェクトのパスを返す
ただし印字するだけで値で返してくれない、REPLから(ed *)でエディタに飛べたら便利なのに、惜しい…
(let ((*standard-output* (make-output-stream))
(describe 'funname)
(get-output-string-stream))
でとりあえずキャプチャはできそうだから、成形する関数をde/strと定義しておき
(ed (de/str 'fun))
で快適にREPLから読めると思います
(*ed-functions*の設定もよしなに)
#P"SYS:SRC;CODE;LIST.LISP"
のように
処理系、サード、自前でも任意のオブジェクトのパスを返す
ただし印字するだけで値で返してくれない、REPLから(ed *)でエディタに飛べたら便利なのに、惜しい…
(let ((*standard-output* (make-output-stream))
(describe 'funname)
(get-output-string-stream))
でとりあえずキャプチャはできそうだから、成形する関数をde/strと定義しておき
(ed (de/str 'fun))
で快適にREPLから読めると思います
(*ed-functions*の設定もよしなに)
2021/07/04(日) 01:17:22.55ID:B+AVCUuE
訂正
(get-output-string)→(get-output-string *standard-output*)
です、年のため
(get-output-string)→(get-output-string *standard-output*)
です、年のため
2021/07/04(日) 01:20:06.43ID:B+AVCUuE
あっ、年だわ…
2021/07/04(日) 01:44:00.62ID:OmnpCZ06
自作するのであれば5chの書き込みは鵜呑みにしないでslimeのソースコードを参考にするようにしてね
2021/07/04(日) 02:06:58.99ID:lr3qaFF0
印字されるならdescribeのソースでパス取得関数を呼んでるだろうし、非公開でも::で呼んじゃえば
文字列から拾う時点でもう十分行儀が悪いんだし
文字列から拾う時点でもう十分行儀が悪いんだし
2021/07/04(日) 13:30:03.34ID:mhtKNh0C
2021/07/05(月) 12:36:08.10ID:jAcgN4Sq
>>20
式が見れたら初心者の役に立つのかなと思った
式が見れたら初心者の役に立つのかなと思った
2021/07/11(日) 00:23:59.49ID:NgMAIKLK
継続って何?
わかりやすく教えて。
おながいします。
わかりやすく教えて。
おながいします。
2021/07/11(日) 00:29:42.15ID:MYeUDTC2
async/await
2021/07/11(日) 00:33:27.98ID:oSIafAjb
力なり
2021/10/04(月) 22:50:37.58ID:8YOTO5nw
ためらわないこと
2021/10/05(火) 13:41:03.34ID:Vzh0q/ov
過疎ってても俺は継続してるぞ
2021/10/05(火) 13:44:11.43ID:Vzh0q/ov
こっそり仕様に入ってるedはrepl生活を快適にしてくれるね>>15
まあAPIすらも一切処理系規定丸投げなんで癖が強いが
まあAPIすらも一切処理系規定丸投げなんで癖が強いが
2021/10/30(土) 16:19:55.49ID:5ornt6U8
ningleでsession使いたい時はどうすればいいの?
29デフォルトの名無しさん
2021/11/21(日) 13:34:09.33ID:jaLnBo1K2021/11/21(日) 14:16:32.02ID:+FbyuW5V
lisp alienに名前はない
2021/11/21(日) 15:37:24.92ID:BwaLJwgU
plan9
2022/04/01(金) 01:20:09.81ID:oviorgC5
nil
33デフォルトの名無しさん
2022/05/17(火) 08:53:37.42ID:BM/ftdBw Twitter スクレイパーが古すぎてpython のをffi
最初からpython 使った方がよかった
最初からpython 使った方がよかった
2022/06/30(木) 22:14:37.74ID:kDQKlM4k
Common Lispと関数型プログラミングの基礎 Kindle版
山田 新之介 (著)
自称引きこもり
こんなの多そうだよな
いやなかなかすごい本やで
山田 新之介 (著)
自称引きこもり
こんなの多そうだよな
いやなかなかすごい本やで
2022/07/01(金) 12:55:25.46ID:E4g9fmIG
最近思うのだけど昔は作者の知的構造がそのままサイト構造になっているような、「すごい素人」が作ったウェブサイトがあったでしょ。
ジオシティーズにあったような。
ブログとかqiitaみたいなサイトは画一的すぎて同じような知のかたまり具合にはならないと思うんだけど、意外とkindle出版がそれを担ってくれるような気がしてきた。
スレ違いすまん。
ジオシティーズにあったような。
ブログとかqiitaみたいなサイトは画一的すぎて同じような知のかたまり具合にはならないと思うんだけど、意外とkindle出版がそれを担ってくれるような気がしてきた。
スレ違いすまん。
2023/01/20(金) 12:44:15.73ID:jpIFaaML
sbclからwxWidgetsを使おうと思ったらインターフェース自分で書かないとダメ?
GUIは何が主流なんだろう
まさかtcl/tkとかgtkとかはないよね
GUIは何が主流なんだろう
まさかtcl/tkとかgtkとかはないよね
2023/01/20(金) 13:51:50.40ID:doaFIvzB
今ならCLOGでいいんじゃね
2023/01/20(金) 23:49:38.13ID:jpIFaaML
こんなのもあるんだ
2023/01/23(月) 16:34:14.80ID:+5LdkDeD
ChatGPTに聞いてみた
Q.
GUIアプリを作成するためのCommonLispのライブラリ、フレームワークを教えて
A.
Common Lispには、GUIアプリケーションを作成するためのいくつかのライブラリやフレームワークがあります。
【Common Lisp Interface Manager (CLIM)】
CLIMは、Common Lisp用のインターフェイス管理システムであり、
Common Lispにおいて多くのGUIアプリケーションを作成するために使用されます。
【LispWorks CAPI】
LispWorks CAPIは、Common Lisp用のインターフェイス管理システムであり、
Windows、macOS、Linuxなどの多くのプラットフォームで使用できます。
【Gtk】
Gtkは、C言語用のGUIツールキットであり、Common LispからGtkを利用するために、
GTK+ binding for Common Lisp (cl-gtk2) や GTK+ for Common Lisp (gtkcl) のようなライブラリを使用することができます。
【Qt】
Qtは、C++用のクロスプラットフォームなGUIアプリケーションフレームワークであり、
Common LispからQtを利用するために、Qt bindings for Common Lisp (cl-qt) のようなライブラリを使用することができます。
どのライブラリやフレームワークを選ぶかは、アプリケーションの要件や開発者のスキルによって異なります。
Q.
GUIアプリを作成するためのCommonLispのライブラリ、フレームワークを教えて
A.
Common Lispには、GUIアプリケーションを作成するためのいくつかのライブラリやフレームワークがあります。
【Common Lisp Interface Manager (CLIM)】
CLIMは、Common Lisp用のインターフェイス管理システムであり、
Common Lispにおいて多くのGUIアプリケーションを作成するために使用されます。
【LispWorks CAPI】
LispWorks CAPIは、Common Lisp用のインターフェイス管理システムであり、
Windows、macOS、Linuxなどの多くのプラットフォームで使用できます。
【Gtk】
Gtkは、C言語用のGUIツールキットであり、Common LispからGtkを利用するために、
GTK+ binding for Common Lisp (cl-gtk2) や GTK+ for Common Lisp (gtkcl) のようなライブラリを使用することができます。
【Qt】
Qtは、C++用のクロスプラットフォームなGUIアプリケーションフレームワークであり、
Common LispからQtを利用するために、Qt bindings for Common Lisp (cl-qt) のようなライブラリを使用することができます。
どのライブラリやフレームワークを選ぶかは、アプリケーションの要件や開発者のスキルによって異なります。
2023/01/27(金) 15:10:43.04ID:tQPcev6b
2023/01/27(金) 15:11:28.76ID:tQPcev6b
2023/01/27(金) 16:44:24.15ID:FadgVDkp
LTkがいいんじゃないか
使ったことないけど
使ったことないけど
2023/01/28(土) 14:49:12.14ID:3q8eIZmq
>>40
ハイライト入ってすっきり読みやすそうなインターフェイスでブクマした
と思ったらまだまだ未完か
この例文の後で次のような関数帝があったとします。
(defun example (x) ...)
さすがに"関数帝"は機械翻訳で出て来ないと思うから、手で頑張ってるんだろうけど
定番訳も未だ無いし、頑張ってくれると嬉しい
ハイライト入ってすっきり読みやすそうなインターフェイスでブクマした
と思ったらまだまだ未完か
この例文の後で次のような関数帝があったとします。
(defun example (x) ...)
さすがに"関数帝"は機械翻訳で出て来ないと思うから、手で頑張ってるんだろうけど
定番訳も未だ無いし、頑張ってくれると嬉しい
2023/01/28(土) 15:51:35.17ID:37IZJhnv
>>43
creative commonsでnptcl独自の説明書(日本語版)となってるから独自()なんじゃない
nptclの説明もあるけど、ざっと見た限り各項目の例はcltlそのままだから、当然底版はあるはず
ansiドラフトとされるほぼclhsな怪しい文書もpublic domainで出回ってるけど、ちゃんとclean-up issueまで付いてるのはclhsしか知らない
規格の意図を読み解くにはclean-up issueが必須だし、名前付書簡の体裁を取ってる以上は勝手に整理したり訳付けるのはまずい
少なくともエチケット的には
creative commonsでnptcl独自の説明書(日本語版)となってるから独自()なんじゃない
nptclの説明もあるけど、ざっと見た限り各項目の例はcltlそのままだから、当然底版はあるはず
ansiドラフトとされるほぼclhsな怪しい文書もpublic domainで出回ってるけど、ちゃんとclean-up issueまで付いてるのはclhsしか知らない
規格の意図を読み解くにはclean-up issueが必須だし、名前付書簡の体裁を取ってる以上は勝手に整理したり訳付けるのはまずい
少なくともエチケット的には
2023/01/28(土) 16:35:15.32ID:FcXwpIna
こんなやつかhttp://www.lispworks.com/documentation/lw61/CLHS/Issues/iss092_w.htm
clarificationの類は適当に引用して項目の本文に反映すれば便利だろうね
引用部分にリンク[hornig88]、フッターに出典を載せれば引用だから権利的な問題は無いはずだけど
lispworksの息の掛かってないissue集があれば教えて欲しい
自分用はclhsからcleanup issueのリンク先をたぐって内容を挿入、適当に読みやすく整形してプレーンテキストにダンプしたものをlessやlistener内から読んでる
clarificationの類は適当に引用して項目の本文に反映すれば便利だろうね
引用部分にリンク[hornig88]、フッターに出典を載せれば引用だから権利的な問題は無いはずだけど
lispworksの息の掛かってないissue集があれば教えて欲しい
自分用はclhsからcleanup issueのリンク先をたぐって内容を挿入、適当に読みやすく整形してプレーンテキストにダンプしたものをlessやlistener内から読んでる
2023/01/28(土) 16:46:36.89ID:3q8eIZmq
quicklispで探すと"各自用意した"clhsをオンザフライで検索整形表示するパッケージが山のように出てくるね
弄るのは難しいからか
弄るのは難しいからか
2023/01/28(土) 17:18:29.12ID:SX+f6s8k
個人でやってることにあれこれケチつけるのはやめれ
2023/01/28(土) 17:29:06.87ID:3q8eIZmq
そうだね無粋だね、ごめん
2023/01/28(土) 17:58:49.46ID:3JYLVGY0
つーか著作権周りはちょっと気にし過ぎなきらいがあるね
cltl1のacknowledementsには80年から約3年ARPANET交わされた3000以上のメッセージにアイデアやデザインの寄与を帰して、それを叩き台にしてSteele先生が解釈吟味し、自筆でまとめたもの、とある
文書自体の権利はSteele先生(と出版社)
後年に成立した処理系マニュアルや規格やそれらに準ずる文書も、コード例はもとより平文までそのまま借りてる部分が多い
大元のSteele先生が気にしてないんだから、そんなに気にすんな
cltl1のacknowledementsには80年から約3年ARPANET交わされた3000以上のメッセージにアイデアやデザインの寄与を帰して、それを叩き台にしてSteele先生が解釈吟味し、自筆でまとめたもの、とある
文書自体の権利はSteele先生(と出版社)
後年に成立した処理系マニュアルや規格やそれらに準ずる文書も、コード例はもとより平文までそのまま借りてる部分が多い
大元のSteele先生が気にしてないんだから、そんなに気にすんな
2023/04/11(火) 20:53:19.43ID:RMdXrgVw
Common Lisp (実際に試してるのはSBCLという処理系だけど) では
ソースファイル中でシンボルを前方参照すると未定義で警告が出ちゃうよね
相互再帰する2関数を定義しようとすると、どうしてもどちらかを前方参照
せざるを得なくて、こういう場合普通はどうしてるの?
オプションで処理系の警告を黙らせる?
前方参照する関数の存在だけをあらかじめ宣言する方法がある?
ソースファイル中でシンボルを前方参照すると未定義で警告が出ちゃうよね
相互再帰する2関数を定義しようとすると、どうしてもどちらかを前方参照
せざるを得なくて、こういう場合普通はどうしてるの?
オプションで処理系の警告を黙らせる?
前方参照する関数の存在だけをあらかじめ宣言する方法がある?
2023/05/09(火) 00:23:44.31ID:Qe9GYp4b
(declaim (ftype (function () t) bar))
(defun foo () (bar))
ってこと?
(defun foo () (bar))
ってこと?
2023/05/12(金) 17:14:47.24ID:5KRSokpw
2023/09/27(水) 01:20:27.65ID:pktdQsFK
やったやった、最高の瞬間だね!
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【実況】博衣こよりのえちえちダンガンロンパ6🧪
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- マイナンバー更新、申請書が届くまでに一ヶ月。そして受付予約枠は2ヶ月先まで埋まってる...どうなってんだこの国 [237216734]
- 最近救急車やたら多いけどあれって本当に人を運んでるの?
- 実写映画「ストリートファイター」のキャラアートが公開。何か知らん人がいる…… [624898991]
- 🏡パン🍞つー✌まる👌見え👊😅👊
