【入門】Common Lisp その11【質問よろず】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2014/09/21(日) 22:49:21.73ID:FJokPHUt
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/
2デフォルトの名無しさん
垢版 |
2014/09/23(火) 21:47:56.66ID:NoTzw7Td
保守っとけ
2014/09/24(水) 05:53:21.05ID:jMNIys3U
僕のチンポの保守もして欲しいです
2014/09/27(土) 22:11:12.38ID:MwPKYdSn
CommonLispってもういらない子なの?
2014/09/27(土) 22:16:56.38ID:XRggRDkd
少なくとも俺はいる
2014/09/28(日) 01:52:26.39ID:ukluat85
もういらない子だと言われ続けて数十年
2014/09/28(日) 10:02:46.51ID:3fm9b2hk
CommonLispは無くなっても困らないけどs式使う言語が否定される訳じゃ無いからなー

GUIとかI/Oもちっと近代的に再定義できないもんかの>>CommonLisp
2014/09/28(日) 11:36:29.40ID:VPEqHLDK
なんでClojureはdoted pairなくしたんやろ
Symolic expressionはlinked cellが実体やないのか?
おかげでcar,cdrもないらしいやないか
それでもリスプの仲間かい!
レイプの間違いやないか?
エロいのうClojure
2014/09/28(日) 11:50:37.01ID:VPEqHLDK
consセルを次のように定義できるんやな
(define (cons car* cdr*)
(lambda (bool)
(if bool car* cdr*)))

で、かー、くだーや
(define (car cons-cell)
(cons-cell #t))

(define (cdr cons-cell)
(cons-cell #f))

わし、勉強したで
どや!
2014/09/28(日) 12:03:58.38ID:3fm9b2hk
>>8
Clojureはcons cellのあり方を変えてもLisp族であれると明確にしたんじゃないの?
実際Lispのdot pairってClojureでvector で2値持つのと何所が違うの?
2014/09/28(日) 12:36:35.15ID:iDFl5dY4
>>10
ワシにきくな!
2014/09/28(日) 12:37:33.56ID:3fm9b2hk
>>11
えー?
なんでわし怒鳴られてんのん?
2014/09/28(日) 12:50:00.26ID:iDFl5dY4
>>12
エヘヘ
2014/09/29(月) 15:39:11.02ID:EGBsxWNV
lispworks欲しい
実際emacs slime sbclとどれくらい違うんだろ
2014/09/29(月) 15:46:20.10ID:3Y1KoBbC
>>14
GUI使わないならLispWorksもEmacs+Slimeですよ。
ちなみにGUIつかうならフランツ買うべき
2014/09/29(月) 16:43:54.70ID:GUILLi5F
> GUI使わないならLispWorksもEmacs+Slimeですよ。
GUI使うよ

> ちなみにGUIつかうならフランツ買うべき
なんで?
2014/09/29(月) 17:11:50.09ID:3Y1KoBbC
>>16
とりあえずGUIで日本語使わないならLispWorksでも大丈夫だけど、GUI使うときに付属のエディタが多バイト文字対応してない>>LispWorks
Franzはそのあたり問題ないのとGUIのユーティリティーが凄い良くできてる。

でもお金無いのでFranzは評価版だけしか使ってないけどな!
エディタさえなんとかなるならLispWorks好きなんだけどな!
2014/09/29(月) 17:22:08.25ID:hqUDBNsI
lispworks6からUTF-8で表示で崩れもなく表示もできるし入力もできるよ.
common graphicsよりcapiの方が評判良いと思うけど.
lispworks7からjvmと連携するらしいよ.
2014/09/29(月) 17:22:59.09ID:GUILLi5F
やっぱり日本語がネックか
とりあえずfreeのacl使ってみる
2014/09/29(月) 17:23:29.98ID:GUILLi5F
lispworks買うことも視野に入れてみる
2014/09/29(月) 18:42:06.20ID:3Y1KoBbC
>>18
マジか!
マジならアップグレードするか

#という事を続けてAllegro購入とかわらんくらい突っ込んでるのがなっとくいかねー
2014/09/29(月) 18:43:04.57ID:3Y1KoBbC
>>18
jvm連携するくらいならClojreのIDEになってほしい orz
23デフォルトの名無しさん
垢版 |
2014/09/30(火) 19:30:43.62ID:ReFtgmj2
Schemeに比べてCommon Lispの利点て何?
2014/09/30(火) 20:23:52.47ID:VWdpfwoz
ベタベタな手続き型プログラミングがいとも簡単にできるところじゃね?
2014/09/30(火) 20:30:05.69ID:lfWI1YhR
俺でも使えるコモンリスプってかあ
2014/09/30(火) 20:50:58.25ID:Q/T7bifx
偽と空リストが分かれてないとかnilのcar,cdrはnilとかそういうところは地味だけど
マクロ定義とかでリスト操作するときに便利
2014/09/30(火) 20:53:38.82ID:Q/T7bifx
あとバリバリに最適化してC並の性能に出来るところも気持ちいい
28デフォルトの名無しさん
垢版 |
2014/10/01(水) 01:31:35.21ID:ewrKIyW0
なるほど
名前空間が分かれているところは利点?
2014/10/01(水) 14:35:45.12ID:aT3WVKIZ
Common LispがLisp-2であることは、俺にとっては実用上便利だが、
そうは思わない人たちもたくさんいるだろう。
2014/10/01(水) 14:38:33.54ID:pim40rLx
let over lambdaではちょくちょくageてた
2014/10/02(木) 19:33:45.19ID:Qypu3DYD
common lispって柔軟だけどかゆい所に手が届かない所が多いね
大抵はalexandriaとかkmrclとかcl-ppcreとかsplit-sequenceとか使えばなんとかなるけど
ライブラリが散らばるのが気になる
alexandriaとかkmrclをベースに自分だけが使う一つの巨大なライブラリを作って足りない部分を追加していく方がいいのかな
2014/10/06(月) 01:52:15.38ID:6XAAReg7
名前空間みたいに、分けられる概念は分けるのが正義。Scheme はたぶん間違っている。
その意味では CL も副作用を分けなかったのは失敗だった。
2014/10/06(月) 02:40:17.27ID:wbFS47kT
目が腐った
2014/10/07(火) 00:42:24.02ID:1sqcCb/K
プログラム書いるとオレオレマクロとかオレオレ関数ができてくると思うんだけど、みんなこれどこに置いてるの
2014/10/07(火) 00:45:00.37ID:nz5dcB15
sbclでコンパイルに数秒かかってて
(incf v)
(incf v)
...
をn回繰り返す式を
を(incf v n)にしたらコンパイルが一瞬で終わるようになった
最適化すごい
2014/10/07(火) 00:46:27.10ID:nz5dcB15
最初は今書いてるプログラムソースと同じディレクトリに置いて間を見計らって
~/.sbcl/の中に置いて起動時にloadするようにしてる
2014/10/07(火) 02:44:00.62ID:OarL+A4W
>>34
1. オレオレだと思っていてもalexandriaの中を探すと大抵のものはある.それを使う.
2. なければ,オレオレライブラリでもasdfで読めるようにしておく.quickproject使えば手間もかからん.
初期化ファイルで読み込ませるのはbad practice.
2014/10/07(火) 15:39:11.06ID:QLizEra8
ローカルプロジェクトはasdの設定とか面倒そうでやってなかったけど
quickproject使えば自動で生成されるんだな
前より楽になったしもっと早めに調べておけばよかった
2014/10/07(火) 19:50:29.81ID:1sqcCb/K
>>37
やっぱそんな感じなんですかね
一つのore-xandriaにいろいろ詰め込んでquicklispのlocal-projectに置いてるだけだったので、整理しようかなと思ってたんですが
参考になりました
40デフォルトの名無しさん
垢版 |
2014/10/07(火) 20:34:41.77ID:/bWACu+C
(defun fn1 (str)
(print str))

どなたか教えて下さい。
上の様な関数fn1を最適化、型宣言をして下の様な、

(defun fn2 (str)
(declare (optimize (speed 3)(debug 0)(safety 0)))
(declare (string str))
(the string (print str)))

関数fn2になりました。
マクロを使って下のfn3の様にしたいのですが
可能でしょうか。教えて下さい。

(defun fn3 (str)
(high-speed)
(var-string str)
(the-print str))
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況