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/
探検
【入門】Common Lisp その11【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2014/09/21(日) 22:49:21.73ID:FJokPHUt431デフォルトの名無しさん
2016/11/22(火) 20:43:31.30ID:KvJ3xe8B 独り言だが
ClojureとClozure CLってべつものなのか
Clozure CLはjava関係ないのね
ClojureとClozure CLってべつものなのか
Clozure CLはjava関係ないのね
432デフォルトの名無しさん
2016/12/18(日) 08:12:54.17ID:H5VGjwqC conditinのerrorクラスにformat-controlとformat-argumentがないのは何んでなんでしょうか?
simple-conditinとかにはあるのに
simple-conditinとかにはあるのに
433デフォルトの名無しさん
2016/12/18(日) 15:52:29.97ID:odpeYpuF 多重継承だから
434デフォルトの名無しさん
2017/01/11(水) 12:56:06.91ID:Dj+amy8+ 生まれて初めてLISPをやってみようと思い、CygwinのCLISPを入れて見たのだが、プログラムを保存する方法が特にないのは驚いた。
dribbleでインタプリタのコマンドライン履歴を保存するか、(EXT:SAVEINITMEM)でインタプリタのメモリイメージを保存するくらいしかできないみたい。
あるいは事前にテキストで書いておくか。
他のLISP処理系もこんなものなの?
ヒューレットパッカードRPL言語を少しだけ使ったことがあるけど、あっちは保存がちゃんと考えられていた。
dribbleでインタプリタのコマンドライン履歴を保存するか、(EXT:SAVEINITMEM)でインタプリタのメモリイメージを保存するくらいしかできないみたい。
あるいは事前にテキストで書いておくか。
他のLISP処理系もこんなものなの?
ヒューレットパッカードRPL言語を少しだけ使ったことがあるけど、あっちは保存がちゃんと考えられていた。
435デフォルトの名無しさん
2017/01/11(水) 13:08:56.90ID:oS3M3jOK Win機で開発するのが間違ってる
436デフォルトの名無しさん
2017/01/11(水) 13:41:55.71ID:CpReZJmf 『プログラムの保存』とは一体……?
437デフォルトの名無しさん
2017/01/11(水) 17:25:20.73ID:cn/qBmTu BASICのSAVEか…
438デフォルトの名無しさん
2017/01/11(水) 22:14:49.39ID:qtQ06epR439デフォルトの名無しさん
2017/01/11(水) 22:20:44.82ID:LKP7w0Oz www
440デフォルトの名無しさん
2017/01/12(木) 00:33:15.10ID:ON8wOxBk441デフォルトの名無しさん
2017/01/12(木) 06:54:05.10ID:pNuRGDWl ほしいのは、emacs+slime環境?
あるいはaclとかlispworks
あるいはaclとかlispworks
442デフォルトの名無しさん
2017/01/12(木) 09:59:06.51ID:wWrcziVQ REPL環境じゃなくて内蔵エディタみたいなのを期待してたんだろう
確かにメモ帳程度のでも内蔵されてれば便利だとは思う
特に初学者の人とか。いきなりEmacsは敷居が高い
確かにメモ帳程度のでも内蔵されてれば便利だとは思う
特に初学者の人とか。いきなりEmacsは敷居が高い
443デフォルトの名無しさん
2017/01/12(木) 10:32:26.76ID:UNGksYU7 >>442
emacs環境だとLispよりもemacsの勉強になってしまうからなあ
emacs環境だとLispよりもemacsの勉強になってしまうからなあ
444デフォルトの名無しさん
2017/01/12(木) 13:02:34.77ID:bT7YUbCB それならlemでいいんじゃない?
445デフォルトの名無しさん
2017/01/12(木) 21:49:43.62ID:42JGZ5hK xyzzyで
446デフォルトの名無しさん
2017/01/13(金) 04:08:54.48ID:BzdeAQwY447デフォルトの名無しさん
2017/01/13(金) 11:27:29.66ID:QaVc2fKW clispの開発が終わってしまったし
448デフォルトの名無しさん
2017/01/13(金) 11:29:56.98ID:QaVc2fKW449デフォルトの名無しさん
2017/01/16(月) 16:21:04.42ID:qEdXmsgN450デフォルトの名無しさん
2017/01/17(火) 11:28:47.60ID:sDlYunh0 >>449
長年更新していないので、オワタ可能性は高くね?
長年更新していないので、オワタ可能性は高くね?
451デフォルトの名無しさん
2017/01/18(水) 14:32:40.83ID:+0XE4PkH Lispの仕事ってまだあるのだろうか?
古いシステムの保守程度?
古いシステムの保守程度?
452デフォルトの名無しさん
2017/01/18(水) 23:04:07.71ID:JFSfmo96 どっかの会社で、common lispでやっているところがあったはず
完全に廃れた感じはしないな
完全に廃れた感じはしないな
453デフォルトの名無しさん
2017/01/19(木) 09:03:33.76ID:Gh/NlR3g >>452
どんな仕事なんだろう?
どんな仕事なんだろう?
454デフォルトの名無しさん
2017/01/19(木) 09:38:33.97ID:uhfgjGGl455デフォルトの名無しさん
2017/01/19(木) 12:17:01.00ID:TbaqbQZk Lispと言えば、研究用途かWebサーバーで使うようなイメージしかないわ
456デフォルトの名無しさん
2017/01/19(木) 21:19:55.80ID:gCwd8P05 お前の抱えるイメージなんかに誰か興味を持つと思ったのか?
457デフォルトの名無しさん
2017/01/20(金) 00:42:56.98ID:rsnxDR2c458デフォルトの名無しさん
2017/01/20(金) 10:12:07.41ID:Nvso2zBq >>456 みたいなBOTに使われているという実例
459デフォルトの名無しさん
2017/01/20(金) 11:53:33.16ID:coMO3q54 LispはUNIX以外で実用的に使うのは無理なのかねえ?
460デフォルトの名無しさん
2017/01/20(金) 12:28:28.14ID:SVUCN/eR461デフォルトの名無しさん
2017/01/20(金) 12:48:36.11ID:8z9BkdPJ Lisp はWebサーバ用の言語
462デフォルトの名無しさん
2017/01/20(金) 19:20:31.02ID:XUVXYG0t lemのgithubのページでインストールにros install cxxxr/lemしろと書いてあって
roswell使うのは分かるけどroswellってどっからインストールしてんの?
cxxxr/lemという引数を見る限りgithubからインストールしてるような気がするけど
roswell使うのは分かるけどroswellってどっからインストールしてんの?
cxxxr/lemという引数を見る限りgithubからインストールしてるような気がするけど
463デフォルトの名無しさん
2017/01/21(土) 06:13:30.03ID:mYUPWk0d464デフォルトの名無しさん
2017/01/21(土) 11:57:50.59ID:0dQCqgGa >>463
そんな読み物で何が分かるんだ?
そんな読み物で何が分かるんだ?
465デフォルトの名無しさん
2017/01/21(土) 16:17:15.46ID:UaDisbHg roswellどのサーバーにアクセスするとか一切ドキュメントに書いてない
こんな糞アプリ使えるかよ
こんな糞アプリ使えるかよ
466デフォルトの名無しさん
2017/01/21(土) 16:57:44.64ID:QA6O+rWe ここで聞いてももう駄目
githubのissueかtwitterかredditのr/lisp_jaかja.stackoverflowのlispタグのどれかが良い
githubのissueかtwitterかredditのr/lisp_jaかja.stackoverflowのlispタグのどれかが良い
467デフォルトの名無しさん
2017/01/21(土) 19:07:36.86ID:1H01QVS7 ttps://github.com/roswell/roswell の Installing scripts に
$ ros install fukamachi/qlot # will install it from the GitHub
って書いてあるけど知りたいのはこれじゃないってこと?
$ ros install fukamachi/qlot # will install it from the GitHub
って書いてあるけど知りたいのはこれじゃないってこと?
468デフォルトの名無しさん
2017/01/22(日) 10:57:47.88ID:b2xXmV6K >>404
言語組み込み解禁で誰かがluaに変えると予想
言語組み込み解禁で誰かがluaに変えると予想
469デフォルトの名無しさん
2017/01/29(日) 02:04:07.29ID:jpDTpmEM Land of lispの動画見て来ますた
470デフォルトの名無しさん
2017/01/29(日) 22:21:22.72ID:QjLLrAQA >>469
いらっしゃーい
いらっしゃーい
471デフォルトの名無しさん
2017/01/30(月) 02:40:54.54ID:mBiYg09G >>469
あの動画楽しいよね。
あの動画楽しいよね。
472デフォルトの名無しさん
2017/02/01(水) 13:13:45.46ID:uPNpYJZg わかる人いたら教えて下さい。
iterm2でrepl(sbcl)を最初から起動させようと
replというプロファイルを作り
.bachrcに
if [ "$ITERM_PROFILE" = "repl" ];
then
sbcl
fi
と書くと、たしかにsbclを実行するのですが
以下のメッセージが出て起動しません。
fatal error encountered in SBCL pid 3042:
can't find core file at /usr/local/lib/sbcl//sbcl.core
どうしたら良いのでしょうか。
ちなみに再度sbclと入力するといつも通り起動します。
iterm2でrepl(sbcl)を最初から起動させようと
replというプロファイルを作り
.bachrcに
if [ "$ITERM_PROFILE" = "repl" ];
then
sbcl
fi
と書くと、たしかにsbclを実行するのですが
以下のメッセージが出て起動しません。
fatal error encountered in SBCL pid 3042:
can't find core file at /usr/local/lib/sbcl//sbcl.core
どうしたら良いのでしょうか。
ちなみに再度sbclと入力するといつも通り起動します。
473デフォルトの名無しさん
2017/02/03(金) 00:03:57.75ID:uSnzwgyQ コマンドで呼んでいるsbclとスクリプトで呼び出しているsbclが違うんじゃないか?
パスを確認すると良いとおもう
sbcl --core コアのパス/sbcl.core と明示しても解決するかもしれない
パスを確認すると良いとおもう
sbcl --core コアのパス/sbcl.core と明示しても解決するかもしれない
474デフォルトの名無しさん
2017/04/05(水) 00:10:33.71ID:dD5KS/CH Common lispからpythonの特にnumpy関係のライブラリ使う方法ないのでしょうか?
475デフォルトの名無しさん
2017/04/05(水) 03:18:41.90ID:9ywW0Xq5 >>474
なんでcommonlispからソレが必要になるのかがまずわからんがrationalでは扱えないくらいでかい桁数の浮動小数値なの?
なんでcommonlispからソレが必要になるのかがまずわからんがrationalでは扱えないくらいでかい桁数の浮動小数値なの?
476デフォルトの名無しさん
2017/04/08(土) 15:56:08.90ID:Uc8a2Yv6 Pythonだとpandasとかにある関数がないからpythonをffiで呼べないとclでdeel learningきついなあ
Sparse matrix計算も出来ないみたいだし
Sparse matrix計算も出来ないみたいだし
477デフォルトの名無しさん
2017/05/03(水) 04:46:48.46ID:94GhuONY Cのプログラムがcuda使うと100倍速くなるのに
cl-cudaマクロがせいぜい7倍ぐらいしか速くならないのは何故?
cl-cudaマクロがせいぜい7倍ぐらいしか速くならないのは何故?
478デフォルトの名無しさん
2017/05/09(火) 20:10:22.37ID:v4p9YapF >>477
行列のかけ算とかだとopenblas(マルチコアCPU)とcublas(CUDA、GPU一枚)で俺の環境だと7倍程度の差しかないし、多分比較対象のCプログラムの書き方が相当まずいだけだと思う
行列のかけ算とかだとopenblas(マルチコアCPU)とcublas(CUDA、GPU一枚)で俺の環境だと7倍程度の差しかないし、多分比較対象のCプログラムの書き方が相当まずいだけだと思う
479デフォルトの名無しさん
2017/05/09(火) 20:19:48.11ID:v4p9YapF >>476
密行列はLLA、MGL-MATがopenblas/MKL/cuBLASのラッパーになってる。
疎行列なら現状ラッパーが多分ないのでCFFIでcuSPARSEへのバインディングを書こう。
全結合のディープラーニングならMGLでCommon Lispのみでできる。
PythonのClojureライクなLisp方言ならHy(hylang)がある。
Pythonのライブラリが直接使いたいならこれを使えばいい。
密行列はLLA、MGL-MATがopenblas/MKL/cuBLASのラッパーになってる。
疎行列なら現状ラッパーが多分ないのでCFFIでcuSPARSEへのバインディングを書こう。
全結合のディープラーニングならMGLでCommon Lispのみでできる。
PythonのClojureライクなLisp方言ならHy(hylang)がある。
Pythonのライブラリが直接使いたいならこれを使えばいい。
480デフォルトの名無しさん
2017/05/19(金) 19:45:50.96ID:N5yG+fmp 初心者です ハマってしまったので助けて下さい!
ファイルを読み込んで a=abcのような行を
(defparameter *a* 'abc)のようにするマクロなのですが
(readconfig "filename") だとうまくいくのですが
(readconfig (concatenate 'string "file" "name"))のように呼び出しても引数が評価されずにそのまま渡ってしまいます。
(defmacro readconfig (filename)
`(progn
,@(loop for i in
(with-open-file
(s filename :direction :input :external-format :utf-8)
(loop :for line := (read-line s nil) :while line :collect line))
collect
(let* ((l (split-sequence:split-sequence #\= i))
(a (read-from-string (concatenate 'string "*" (car l) "*")))
(b (second l)))
`(defparameter ,a (read-from-string ,b))))))
ファイルを読み込んで a=abcのような行を
(defparameter *a* 'abc)のようにするマクロなのですが
(readconfig "filename") だとうまくいくのですが
(readconfig (concatenate 'string "file" "name"))のように呼び出しても引数が評価されずにそのまま渡ってしまいます。
(defmacro readconfig (filename)
`(progn
,@(loop for i in
(with-open-file
(s filename :direction :input :external-format :utf-8)
(loop :for line := (read-line s nil) :while line :collect line))
collect
(let* ((l (split-sequence:split-sequence #\= i))
(a (read-from-string (concatenate 'string "*" (car l) "*")))
(b (second l)))
`(defparameter ,a (read-from-string ,b))))))
481デフォルトの名無しさん
2017/05/19(金) 21:20:45.65ID:/bO1sGez 引数が評価されてないね
482デフォルトの名無しさん
2017/05/19(金) 21:49:23.53ID:/bO1sGez >>480
macroexpand で展開してみた?
macroexpand で展開してみた?
483デフォルトの名無しさん
2017/05/19(金) 21:58:39.33ID:N5yG+fmp484デフォルトの名無しさん
2017/05/20(土) 00:30:38.53ID:ZKXptbMB >>480
どうしてマクロにしたの?初心者だから?
どうしてマクロにしたの?初心者だから?
485デフォルトの名無しさん
2017/05/20(土) 01:15:39.37ID:I6lRK30f >>484
関数の中で(eval `(defparameter ,変数 ,シンボル))とすると変数がありませんというエラーがでてきて
普通にdefparameterしようとしても変数定義はされないのでマクロでやるしかないと思いました。
(eval `(defparameter ,変数 ,文字列))だとうまくいきますね
関数の中で(eval `(defparameter ,変数 ,シンボル))とすると変数がありませんというエラーがでてきて
普通にdefparameterしようとしても変数定義はされないのでマクロでやるしかないと思いました。
(eval `(defparameter ,変数 ,文字列))だとうまくいきますね
486デフォルトの名無しさん
2017/05/20(土) 01:30:33.54ID:I6lRK30f 問題が解決できました evalはあまり使っちゃいけない的なことが言われてたと思うので
なんとなく気が引けてマクロを使っちゃった感じです 初心者の質問に付き合ってくださりありがとうございました!
なんとなく気が引けてマクロを使っちゃった感じです 初心者の質問に付き合ってくださりありがとうございました!
487デフォルトの名無しさん
2017/05/21(日) 06:36:36.81ID:oB72Q+Da OpenCVの超解像計算プログラムは
cpuとgpuで100倍近く速度に差があるよ
cpuとgpuで100倍近く速度に差があるよ
488デフォルトの名無しさん
2017/05/21(日) 06:50:43.54ID:oB72Q+Da typed racketみたいな型推論をcommon lispでする方法ないのでしょうか?
489デフォルトの名無しさん
2017/05/21(日) 19:45:11.09ID:jy5dosQP490デフォルトの名無しさん
2017/05/22(月) 06:10:33.21ID:Suxf7jk2 sbclのtheのdescribeに相当する機能がtyped racketだとreplからしか使えないような意地悪されてるのでcommon lispでもそうかと思った
491デフォルトの名無しさん
2017/05/22(月) 19:06:44.55ID:cqwt5c+d sbclのdescribeで
https://github.com/sbcl/sbcl/blob/master/src/code/describe.lisp
derived-typeの情報だけ取り出して他の変数に格納したいのに
うまくいかない
streamに文字列出力する関数だからstreamの文字を正規表現かなにかで切り分ける方が良いのだろうか
https://github.com/sbcl/sbcl/blob/master/src/code/describe.lisp
derived-typeの情報だけ取り出して他の変数に格納したいのに
うまくいかない
streamに文字列出力する関数だからstreamの文字を正規表現かなにかで切り分ける方が良いのだろうか
492デフォルトの名無しさん
2017/05/25(木) 21:17:35.11ID:1hi1bgKK493デフォルトの名無しさん
2017/05/31(水) 17:40:47.18ID:PPe5oyts Common lispでcのプログラムコード読み込んで
関数宣言一覧取り出して、ヘッダーファイル生成するような
パーサージェネレーターのサンプルコードどこかないでしょうか
c言語の解析するサンプルコードなら他のでも良いです
関数宣言一覧取り出して、ヘッダーファイル生成するような
パーサージェネレーターのサンプルコードどこかないでしょうか
c言語の解析するサンプルコードなら他のでも良いです
494デフォルトの名無しさん
2017/07/09(日) 02:25:04.88ID:ryDnV29I 誰か知っていれば教えてほしいのですが
LispWorks 7.0 のmacOS版って日本語表示や日本語入力問題なく
できるようになっていますか?
LispWorks 6.1 Personalを使っているのですが日本語入力すると??に文字が
変わってしまうみたいなので。
LispWorks 7.0 のmacOS版って日本語表示や日本語入力問題なく
できるようになっていますか?
LispWorks 6.1 Personalを使っているのですが日本語入力すると??に文字が
変わってしまうみたいなので。
495デフォルトの名無しさん
2017/11/08(水) 02:39:25.32ID:Uoqj8nW+ TEST
496デフォルトの名無しさん
2017/12/06(水) 00:55:26.32ID:eBsnaSfJ テスト
497デフォルトの名無しさん
2018/02/16(金) 05:55:09.54ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
498デフォルトの名無しさん
2018/05/23(水) 21:07:30.15ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
HSR58
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
HSR58
499sage
2018/06/08(金) 07:24:37.45ID:j+JfgiN4 ところでlabelsって関数の名前の由来って何?
しっくりこない
しっくりこない
500デフォルトの名無しさん
2018/06/17(日) 11:25:32.22ID:eEWfV0tw >>477
そもそもCLはインタプリタだからGPU使っても7倍程度しか速度出ないのは当たり前だろ。
そもそもCLはインタプリタだからGPU使っても7倍程度しか速度出ないのは当たり前だろ。
501デフォルトの名無しさん
2018/06/19(火) 02:22:17.89ID:q+1hh2rS >>500
clはコンパイラ言語だよ.仕様上インタプリタ実装も許容されているだけ
clはコンパイラ言語だよ.仕様上インタプリタ実装も許容されているだけ
502デフォルトの名無しさん
2018/07/04(水) 22:29:25.87ID:gFgZc5FG V3Z
503デフォルトの名無しさん
2018/07/05(木) 16:53:25.50ID:AeL6VB/V V3Z
504デフォルトの名無しさん
2018/07/13(金) 17:19:54.02ID:EPDxLdrK こないだ迄Windows10の64bit版ではDEPの絡みで動かないと思ってた、SBCL版のMaximaが、
今試してみたらあっさり動いてしまいました。
sf.netに置いてあったインストーラでインストールした直後はCLISP版しか駄目だった
筈なんですが…。
うちではWindows10 Homeを使ってますが、皆様の処ではどうでしょうか?
今試してみたらあっさり動いてしまいました。
sf.netに置いてあったインストーラでインストールした直後はCLISP版しか駄目だった
筈なんですが…。
うちではWindows10 Homeを使ってますが、皆様の処ではどうでしょうか?
505504
2018/07/13(金) 17:28:05.78ID:EPDxLdrK SBCL自体を別途インストールしたのが効いてるのかも知れないなぁ…。
506デフォルトの名無しさん
2018/09/11(火) 03:59:06.82ID:u3nXUIwD Lispってwebフレームワークありますか?
一通りの機能のあるブログを作ったり出来るような
一通りの機能のあるブログを作ったり出来るような
507デフォルトの名無しさん
2018/10/03(水) 18:50:06.50ID:1GTVcIse 質問です。
Lispで書かれたLisp処理系はありますか?
Lispで書かれたLisp処理系はありますか?
508デフォルトの名無しさん
2018/11/03(土) 15:30:34.57ID:3XdSQ+AZ 中学卒業までにコモンリスプ極める!
509デフォルトの名無しさん
2018/11/14(水) 08:37:19.93ID:gqSz/09F roswellについての質問なんですが
ros init ファイル名
としたときできるファイルの中身の
(progn ;;init forms
(ros:ensure-asdf)
;;#+quicklisp (ql:quickload '() :silent t)
)
って何ですか?
(ros:ensure-asdf)特にこれ
ros init ファイル名
としたときできるファイルの中身の
(progn ;;init forms
(ros:ensure-asdf)
;;#+quicklisp (ql:quickload '() :silent t)
)
って何ですか?
(ros:ensure-asdf)特にこれ
510デフォルトの名無しさん
2018/11/17(土) 00:21:41.91ID:eQWBxdMf >>509
そんな事俺に聞かれても知るわけないやろ頭おかしいんか?
そんな事俺に聞かれても知るわけないやろ頭おかしいんか?
511デフォルトの名無しさん
2018/12/02(日) 12:23:45.12ID:KPiqRYEn お前だれよ
512デフォルトの名無しさん
2019/01/08(火) 13:36:34.22ID:n4V6aMpj Common LispからC言語のモジュールを呼ぶ方法は簡単に見つかるのですが
C言語からCommon Lispプログラムを実行する方法が見つかりません。
GaucheならC言語からインタープリタを起動できるみたいなのですがCommonLispにはないのでしょうか?
C言語からCommon Lispプログラムを実行する方法が見つかりません。
GaucheならC言語からインタープリタを起動できるみたいなのですがCommonLispにはないのでしょうか?
513デフォルトの名無しさん
2019/01/08(火) 18:04:16.67ID:kGjsEUq7 >>512
ただ別プロセスで処理系を起こして、そこの repl で評価できればいい・・というだけなら、 fork と exec で済むかも。
CからLisp関数を直接呼んだり、C関数でLispオブジェクトを直接扱うとかするのは、がっつり処理系依存だけど出来ることは出来る。
たぶんこの目的なら ECL が一番簡単だと思う。それっぽい例もあるし:
https://gitlab.com/embeddable-common-lisp/ecl/tree/develop/examples/embed
SBCL や Allegro CL でも出来るみたいだけど、かなり大変。
というのも、C関数が動いてる間にLisp処理系のGCが走ると死ぬ・・とか諸々あるので。一応リンクだけ:
http://www.sbcl.org/manual/#Calling-Lisp-From-C
https://franz.com/support/documentation/10.1/doc/foreign-functions.htm#lisp-from-c-1
ただ別プロセスで処理系を起こして、そこの repl で評価できればいい・・というだけなら、 fork と exec で済むかも。
CからLisp関数を直接呼んだり、C関数でLispオブジェクトを直接扱うとかするのは、がっつり処理系依存だけど出来ることは出来る。
たぶんこの目的なら ECL が一番簡単だと思う。それっぽい例もあるし:
https://gitlab.com/embeddable-common-lisp/ecl/tree/develop/examples/embed
SBCL や Allegro CL でも出来るみたいだけど、かなり大変。
というのも、C関数が動いてる間にLisp処理系のGCが走ると死ぬ・・とか諸々あるので。一応リンクだけ:
http://www.sbcl.org/manual/#Calling-Lisp-From-C
https://franz.com/support/documentation/10.1/doc/foreign-functions.htm#lisp-from-c-1
514デフォルトの名無しさん
2019/01/13(日) 15:30:06.78ID:awaCdOlx Lispでグラフィカルにステップ実行できる方法ってEmacsでSLIMEやるしかないですか?
LispのためだけにEmacs覚えるのは勘弁してほしいので
VimでSlimv入れてやってみましたがGDBのようなステップ実行しか出来ませんでした。
LispのためだけにEmacs覚えるのは勘弁してほしいので
VimでSlimv入れてやってみましたがGDBのようなステップ実行しか出来ませんでした。
515デフォルトの名無しさん
2019/01/15(火) 05:34:30.77ID:lhwbzmDt >>514
「グラフィカルにステップ実行」が何をさすのかよく分からんが。
slime でも sldb で restart 選ぶ感じにはなっちゃうと思う。
https://lispcookbook.github.io/cl-cookbook/debugging.html#step
https://lisphub.jp/common-lisp/cookbook/index.cgi?SLIME%3ASLDB
「グラフィカルにステップ実行」が何をさすのかよく分からんが。
slime でも sldb で restart 選ぶ感じにはなっちゃうと思う。
https://lispcookbook.github.io/cl-cookbook/debugging.html#step
https://lisphub.jp/common-lisp/cookbook/index.cgi?SLIME%3ASLDB
516514
2019/01/15(火) 10:41:56.87ID:EvpJOxTU すみません、勘違いでした。
edebugのように現在実行している行がわかるステッパ?が利用したいのですが
edebug以外にないでしょうか?
edebugのように現在実行している行がわかるステッパ?が利用したいのですが
edebug以外にないでしょうか?
517デフォルトの名無しさん
2019/01/16(水) 01:39:36.94ID:Q19T/bZz >>514
「グラフィカルにステップ実行」と言ったらVisualStudioみたいな感じかと思うけど。
LispじゃなくてSchemeでもいいならRacketはどう?(ダメだよね ;_;)
かなり昔にDrSchemeって名前だった頃にちょっと遊んでみただけだけど。
https://docs.racket-lang.org/drracket/debugger.html
「グラフィカルにステップ実行」と言ったらVisualStudioみたいな感じかと思うけど。
LispじゃなくてSchemeでもいいならRacketはどう?(ダメだよね ;_;)
かなり昔にDrSchemeって名前だった頃にちょっと遊んでみただけだけど。
https://docs.racket-lang.org/drracket/debugger.html
518デフォルトの名無しさん
2019/01/17(木) 06:22:05.82ID:W9irOPq+ Lispでドルマークって特別な意味ありますかね?正規表現とかナシで
519デフォルトの名無しさん
2019/01/17(木) 15:24:46.14ID:XV1+qWbe Land of Lisp、文字が小さくて読めない…(´;ω;`)
520デフォルトの名無しさん
2019/01/17(木) 19:09:16.06ID:Y7dh6bUh >>519
⊃ハズキルーペ
⊃ハズキルーペ
521デフォルトの名無しさん
2019/01/18(金) 15:25:03.51ID:6FOWYZfc >>518
standard-syntax なら $ は普通の文字。
standard-syntax での各文字の意味はここにある:
http://www.lispworks.com/documentation/HyperSpec/Body/02_ad.htm#charsyntaxtypesinstdsyntax
readtable いじってたら分からない
standard-syntax なら $ は普通の文字。
standard-syntax での各文字の意味はここにある:
http://www.lispworks.com/documentation/HyperSpec/Body/02_ad.htm#charsyntaxtypesinstdsyntax
readtable いじってたら分からない
522デフォルトの名無しさん
2019/01/19(土) 14:06:18.02ID:xfMx41aW だれかChocorateyにRoswell追加してクレメンス
523デフォルトの名無しさん
2019/01/19(土) 23:31:04.73ID:xfMx41aW Windows版Roswellでinstallコマンド出来ている方はいますか?
sbcl-binのような末尾にbinがついて、ビルドが不要なものはインストールできるのですが
それ以外だと、msys2の有無にかかわらず~/.roswell以下にmsys2がインストールされて
それが全くまともに動作せず何もインストールできません。
sbcl-binのような末尾にbinがついて、ビルドが不要なものはインストールできるのですが
それ以外だと、msys2の有無にかかわらず~/.roswell以下にmsys2がインストールされて
それが全くまともに動作せず何もインストールできません。
524デフォルトの名無しさん
2019/01/20(日) 15:17:16.36ID:S2xiCEld 最近Lispを勉強し始めた超初心者です。
関数型言語も初めてです。
末尾再帰の最適化をするとコンパイラがループにしてくれるので効率がいい、の説明が腑に落ちません。
再帰は読むのも書くのもループより高コストだと思いますが、
その結果がループ並みに早くなる、では何のために再帰にするのかわかりません。
なにか他にメリットが有るのでしょうか。
関数型言語も初めてです。
末尾再帰の最適化をするとコンパイラがループにしてくれるので効率がいい、の説明が腑に落ちません。
再帰は読むのも書くのもループより高コストだと思いますが、
その結果がループ並みに早くなる、では何のために再帰にするのかわかりません。
なにか他にメリットが有るのでしょうか。
525デフォルトの名無しさん
2019/01/20(日) 15:44:22.07ID:wbmgJCyM Common LispじゃなくてSchemeだけど、こんな説明はどうでしょう
http://practical-scheme.net/docs/tailcall-j.html
http://practical-scheme.net/docs/tailcall-j.html
526はちみつ餃子 ◆8X2XSCHEME
2019/01/20(日) 21:45:08.14ID:/TyOXJfP >>524
関数呼出しっていうのは、一般的なコンピュータの中でどのような
動作をするかというとその実態はジャンプとスタック操作でしかない。
再帰であろうとループであろうと中ではただジャンプしてるだけだよ。
(実際にはリソースの管理とかが一体化してるのでそう単純でもないんだけど。)
再帰というのがスタック操作をするループであると捉えるか、
ループというのがスタック操作を省略できる再帰であると捉えるのかは
別の側面から見ているというだけで同じことを言ってる。
どっちを軸するかという説明の仕方の違いってだけ。
関数呼出しっていうのは、一般的なコンピュータの中でどのような
動作をするかというとその実態はジャンプとスタック操作でしかない。
再帰であろうとループであろうと中ではただジャンプしてるだけだよ。
(実際にはリソースの管理とかが一体化してるのでそう単純でもないんだけど。)
再帰というのがスタック操作をするループであると捉えるか、
ループというのがスタック操作を省略できる再帰であると捉えるのかは
別の側面から見ているというだけで同じことを言ってる。
どっちを軸するかという説明の仕方の違いってだけ。
527デフォルトの名無しさん
2019/01/20(日) 23:30:23.13ID:m7XAF6Qj >>524 が聞きたいのは、それを再帰として書くことの利点だと思う。
読み書きのコストは慣れの問題で、分野によっては再帰で書くほうが慣れてるんだよ。
関数型言語の界隈は数学寄りの人が多いんだけど、数学は再帰で書くことが多いんだ。
関数呼んでるだけだから、ループ用の特別な構文がいらないってのもある。
これはどっちかっていうと言語の規格とかそっち側の都合だけど。
読み書きのコストは慣れの問題で、分野によっては再帰で書くほうが慣れてるんだよ。
関数型言語の界隈は数学寄りの人が多いんだけど、数学は再帰で書くことが多いんだ。
関数呼んでるだけだから、ループ用の特別な構文がいらないってのもある。
これはどっちかっていうと言語の規格とかそっち側の都合だけど。
528はちみつ餃子 ◆8X2XSCHEME
2019/01/21(月) 00:09:20.61ID:seIeK7lJ あ〜、そっか。
Common Lisp 的にはそこまで積極的に何もかも (明示的に) 再帰で書くスタイルを推奨しているわけではないし、
ループ的に書く方が読みやすければそう書いてもいいんだが、
他の言語に比べれば再帰を理解している必要は有るので、
チュートリアルの類では過剰に再帰を推してる感じがするかも。
Common Lisp 的にはそこまで積極的に何もかも (明示的に) 再帰で書くスタイルを推奨しているわけではないし、
ループ的に書く方が読みやすければそう書いてもいいんだが、
他の言語に比べれば再帰を理解している必要は有るので、
チュートリアルの類では過剰に再帰を推してる感じがするかも。
529デフォルトの名無しさん
2019/01/21(月) 08:36:01.54ID:n4GEno5f ループはiの様なループ変数が必要だけど、これは変数への破壊的代入または再代入になる
関数型プログラミングはそれを嫌う
末尾呼び出しの最適化を前提に書けば破壊的代入無しにループが書ける
関数型プログラミングはそれを嫌う
末尾呼び出しの最適化を前提に書けば破壊的代入無しにループが書ける
530デフォルトの名無しさん
2019/01/22(火) 03:37:24.22ID:rqabYXWq 526 にも書いてるけど、変数の破壊的代入と再帰と末尾呼び出しの最適化はそれぞれ別々のものだと思うけどね
(let ((i 10)
(closures nil))
(labels ((iter ()
(if (zerop i)
nil
(progn
(push (lambda () i) closures)
(decf i)
(iter)))))
(iter)
(mapcar #'funcall closures)))
⇒ (0 0 0 0 0 0 0 0 0 0)
(let ((i 10)
(closures nil))
(dotimes (i i)
(let ((i i))
(push (lambda () i) closures)))
(mapcar #'funcall closures))
⇒ (9 8 7 6 5 4 3 2 1 0)
(let ((i 10)
(closures nil))
(labels ((iter ()
(if (zerop i)
nil
(progn
(push (lambda () i) closures)
(decf i)
(iter)))))
(iter)
(mapcar #'funcall closures)))
⇒ (0 0 0 0 0 0 0 0 0 0)
(let ((i 10)
(closures nil))
(dotimes (i i)
(let ((i i))
(push (lambda () i) closures)))
(mapcar #'funcall closures))
⇒ (9 8 7 6 5 4 3 2 1 0)
531デフォルトの名無しさん
2019/01/22(火) 18:44:06.81ID:61UMm30F >>530
上と下が随分違うコードで比較して何が言いたいのかよく分からん…
上のコードは
(let ((i 10))
(labels ((iter (n closures)
(if (zerop n)
closures
(iter (1- n) (cons (lambda () i) closures)))))
(mapcar #'funcall (iter i nil))))
⇒ (10 10 10 10 10 10 10 10 10 10)
と書けば破壊的代入を避けてループが書ける
closuresも破壊的代入してたけど、Common Lispだと簡単にそういうコードを書いてしまう
結局破壊的代入無しにループ書くには再起呼び出しが必須と言うだけだ
再起呼び出しは簡単にスタックオーバーフローするから末尾呼び出しの最適化は前提でしょ
上と下が随分違うコードで比較して何が言いたいのかよく分からん…
上のコードは
(let ((i 10))
(labels ((iter (n closures)
(if (zerop n)
closures
(iter (1- n) (cons (lambda () i) closures)))))
(mapcar #'funcall (iter i nil))))
⇒ (10 10 10 10 10 10 10 10 10 10)
と書けば破壊的代入を避けてループが書ける
closuresも破壊的代入してたけど、Common Lispだと簡単にそういうコードを書いてしまう
結局破壊的代入無しにループ書くには再起呼び出しが必須と言うだけだ
再起呼び出しは簡単にスタックオーバーフローするから末尾呼び出しの最適化は前提でしょ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★2 [Hitzeschleier★]
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 ★3 [少考さん★]
- 三谷幸喜氏 温泉嫌いの理由を熱弁「知らない人の股間を素通りしたお湯なんですよ」「おじさんの肛門を通り過ぎたお湯が自分の前に」 [Ailuropoda melanoleuca★]
- 【伊原剛志】62歳俳優、夫婦別姓に「選択出来るならしたい人はする したくない人はしない 何が問題?」 [少考さん★]
- 【三重】「お金がない。あした払う」タクシー料金払わず、男性運転手を数十発殴った疑い ブラジル人の女を逮捕…容疑を否認 [少考さん★]
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 ★2 [ぐれ★]
- 【高市物価悲報】ケンタッキーのパーティーセット(5000円)ワロタwwwwww [153490809]
- 【高市悲報】小泉の進さん「日米電話会談を行いました😤(パシャリ)」あからさまなパフォーマンスだと話題に [359965264]
- 平成って最高だったよな
- 【実況】博衣こよりのえちえちドラクエ1&4リメイク🧪
- 「SCORE」←これなんて読むんや?🙋🏡
- 官邸筋「高市総理は電話会談でトランプに米中がうまくやろうとしてるのに邪魔をするなと釘を刺されてかなり落ち込んでいた」 [931948549]
